問題タブ [webgl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
10 に答える
16860 参照

websocket - IE9 は WebGL や WebSockets をサポートしますか?

IE9 は WebGL や WebSockets をサポートしますか?

0 投票する
3 に答える
3061 参照

opengl-es - 読み取り/学習できる WebGL API はありますか?

更新: O3D の状況は解決しましたが、以下にリストされているライブラリのいずれかにまだ落ち着いていません。すべてのプロジェクトで散布図を試して、どれがデータを簡単に処理でき、プログラミングが最も簡単かを確認しようと思います.

http://learningwebgl.com/blog/のチュートリアルを読んで、新しい言語を試してみましたが、WebGL に魅了されました。ここの Google Code ページにもアクセスしました: http://code.google.com/p/o3d/

それは減価償却されたサイトのようですか?彼らがあなたにダウンロードさせたsamples.zipで見ました。私が達成したいことの完璧な例がありますが、それは

そして、私が学んだことから、そのようなベースファイルは含まれていません (おそらく、計算を行うための sylvester.js を期待してください)。

プロジェクトが混同されていませんか? WebGL で利用可能なクラスとメソッドを表示できる場所はありますか? hereから scatter-chart.html の例を実行しようとしています。

メソッド、クラス名、実際にすべてがどのように行われるかは、learningwebgl.com の Web サイトやそれらのサンプルとは異なって見えます。ここにリストされている使用可能な呼び出しとクラスは、WebGL のライブ デモで見た WebGL 呼び出しとはまったく異なります。

どこが間違っていますか?

たとえば、模倣しようとしているデモに次の要素が表示されます。

しかし、WebGL には rendergraph オブジェクト/メソッドはなく、名前が変更されたものも示されません。古い o3d サンプルを見ることさえやめて、API を読み取るチャートをつなぎ合わせようとするか、以下にリンクされているこの API ドキュメントで o3d から WebGL への変換のより深い説明を見つけることができますか?

0 投票する
2 に答える
4275 参照

3d - Open GL ES/WebGL で glPolygonMode に代わるものはありますか?

ワイヤーフレーム モードでゲームを作成したいのですが、glPolygoneMode コマンドがないとどうしたらよいかわかりません。利用可能なもので自分でコーディングできるものですか?私はopenglがまったく初めてです。誰かがこれを行い、コード スニペットを持っている場合は、ぜひご覧ください。どんな助けでも大歓迎です。

0 投票する
2 に答える
8211 参照

opengl - GLSL - ビット単位の演算子が予約されているのはなぜですか? ビット単位の演算 (ビット単位でエミュレートする浮動小数点演算) を使用する代わりに使用できる適切な方法は何ですか?

私は WebGL でいくつかの実験を行っています。そのうちの 1 つは XOR エフェクト フラグメント シェーダーです。何らかの理由で、すべてのビット演算子は GLSL で予約されており、使用するとコンパイラ エラーが発生します。なぜこれらのオペレーターは違法なのですか? | の代わりに何を使用できますか? この場合?

0 投票する
2 に答える
993 参照

opengl-es - WebGL/OpenGLES で透過性を実現する方法 - 透過的な外部オブジェクト *囲んでいる* 内部オブジェクト

別のオブジェクトを囲む透明なオブジェクトのケースをサポートするために、WebGL を使用して透明性の戦略を練ろうとしています。

http://learningwebgl.com/blog/?p=859で説明されているように、概念的には

  1. 背景をレンダリング
  2. ブレンドを有効にして深度テストを無効にする
  3. 前景をレンダリング

私はここでは少し世間知らずで、経験豊富なグラフィックスのプロが私を正してくれることに感謝しています。伝統的に (固定関数パイプラインを使用して)、これらのオブジェクトを面のリストに分解し、それらを深さで並べ替えてから、面ごとにブレンド/深さを有効/無効にしながら遠から近の順序でレンダリングするとします。

しかし、この場合、ジオメトリ全体をモノリシック VBO として GPU にロードする WebGL を使用して透過性を実現するにはどうすればよいでしょうか?

技術的なヒントやリンクはありますか?

乾杯、リンジー

0 投票する
1 に答える
908 参照

opengl-es - gl_Position の x 座標をゼロに設定すると、WebGL/GLSL 頂点シェーダーが 9 ポイントを 1 つのポイントに折りたたむ

x 座標がゼロの頂点バッファーをレンダリングすると、次の 2 つのシェーダーが異なる結果を生成する理由がわかりません。

初め:

2番:

最初の結果は、9 つ​​のドットの行です。2 番目の結果は 1 つのドットです。

次の頂点配列を GL_POINTS として描画しています。

VBO 準備呼び出しは次のとおりです。

ドローコールは次のとおりです。

0 投票する
4 に答える
2134 参照

html - 3d キャンバス用のオープンソース フレームワークはありますか?

テクスチャ ポリゴンのリアルタイム レンダリングを可能にするオープンソース フレームワークはありますか? 写真を 3D 空間に表示したい。多くのポリゴンは必要ありません (もちろん 100 未満ですが、多ければ多いほど良いです)。

0 投票する
5 に答える
15910 参照

javascript - WebGL と画像サイズの 2 乗

WebGL を使用して、Flickr フォト ストリームの小さな 3D ギャラリーを作成したいと考えています。WebGL では、寸法が 2 のべき乗である正方形の画像のみをテクスチャとして使用できるようです。あらゆる比率と寸法の画像を表示できる必要があります。画像データを最も近い正方形の寸法である別の画像にコピーし、テクスチャ座標を使用して正しく表示するとわかります。問題は、私が間違っている場合は修正してください。私は JavaScript でその画像操作を行うことができず、WebGL が手に入る前に処理を行うために ASP.NET、Java などを実行するサーバーが必要になることです。その上で。

サーバーが仲介者の画像プロセッサとして機能する必要なく、WebGL と JavaScript で任意のサイズの画像を使用する方法はありますか?

0 投票する
3 に答える
4968 参照

iphone - 複数の同一のオブジェクトを描画する最も効率的な方法は?

私は多くのキューブからゲームを作りたいと思っており、モバイル プラットフォームと webgl を使用して Web に配置することを計画しています。私の問題は、キューブごとに drawelements 呼び出しを行うと、フレームレートに影響を与えることです。それらを描画するために opengl es への単一の描画呼び出しを行う方法はありますか? キューブ間の唯一の違いは、位置と色です。

0 投票する
3 に答える
6950 参照

opengl-es - OpenGLESでの効率的な描画方法

私のアプリケーションでは、OpenGLESApiを介して多くのキューブを描画します。すべての立方体は同じ寸法ですが、空間内の異なる座標に配置されているだけです。それらを描く方法は2つ考えられますが、どちらが最も効率的かはわかりません。私はOpenGLの専門家ではないので、ここで質問することにしました。

現在使用している方法1:すべての立方体が同じ次元であるため、頂点バッファー、インデックスバッファー、通常バッファー、およびカラーバッファーを1回だけ計算します。シーンの更新中に、すべての立方体を調べ、同じバッファーのセットに対してbufferData()を実行してから、drawElements()呼び出しを使用して立方体の三角形メッシュを描画します。各立方体は異なる位置にあるため、描画する前にmvMatrixを変換します。bufferData()およびdrawElements()は、キューブごとに実行されます。この方法では、毎回バッファを計算しないことで、おそらく多くのメモリを節約できます。しかし、私はたくさんのdrawElements()呼び出しを行っています。

方法2は次のようになります。すべての立方体を、ポリゴンのセットがシーン全体に広がるように扱います。各ポリゴン(実際にはポリゴン内の三角形)の頂点、インデックス、色、通常のバッファを計算し、bufferData()を1回呼び出すだけでそれらをグラフィックカードメモリにプッシュします。次に、drawElements()を1回呼び出すだけでそれらを描画します。このアプローチの利点は、bindBufferとdrawElementsの呼び出しを1回だけ実行することです。欠点は、バッファを作成するために多くのメモリを使用することです。

私のOpenGLの経験は十分に限られており、パフォーマンスの観点から上記の方法のどれが優れているかわかりません。

これをWebGLアプリで使用していますが、これは一般的なOpenGLESの質問です。