問題タブ [webgl-extensions]
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.
javascript - WEBGL_draw_buffers は最新の Firefox / Chrome ではサポートされていません
Google 検索では、WEBGL_draw_buffers 拡張機能を使用して複数のレンダー ターゲット (別名 MRT) を使用しているあらゆる種類の人々が表示されます。この検索では、Firefox と Chrome の両方がおそらくそれをサポートしていること、およびまだドラフト状態にある拡張機能の使用を許可する about:config / about:flags でそれぞれフラグを有効にする必要があることも示されます。
ただし、上記のいずれも拡張機能にアクセスできませんでした。Firefox Aurora と Chrome Canary の両方で構成を変更しましたが、うまくいきませんでした。
解決策はありますか?
webgl - WebGL で #version 120 シェーダーを実行することは可能ですか?
私は多くの GLSL フラグメント シェーダーを持っており、それらが準拠していることをほぼ保証できます#version 120
。それらは標準の非 ES 準拠の値を使用し、ES 固有のプラグマはありません。
WebGL を使用して Web プレビューアを作りたいと思っています。プレビューアはモバイルでは使用されません。これは実現可能ですか?その GLSL バージョンと比較して、WebGL で GLSL シェーダーに公開されている機能セットは制限されていますか? 精度の違いはありますか?
私はすでに遊んでみましたTHREE.js
が、GPUにロードする前にシェーダーコードを台無しにするので、実際にはこすれません(私にはできません)。
要するに、これらのシェーダーを実行するのに GLSL 仕様で十分ですか?
webgl - PhiloGL で複数のモデルをロード / 削除する - WebGL
philoGL を使用して、メインの webgl ビューからモデルを読み込んで削除しようとしています。元のスクリプトで、1 つのモデルがロードされている場所を見つけました。ただし、最初のモデルを削除して、2 番目のモデルに置き換えたいと考えています。
これは、開始時にモデルがロードされる方法です。
次のコードを実行することを考えていました。
アイデアはありますか?ありがとう、エル
webgl - PhiloGL -> モデル間の変換を伝播
複数のモデルで 1 つのオブジェクトを表示するシーンがあります。各モデルは、可変状態でオブジェクトを表示します。複数のモデルを切り替えるスライダーがあります。私の問題は、ユーザーがビューを回転させて別のモデルに変更すると、回転が失われ、新しいモデルが最初のカメラ/ビューポートの位置に表示されることです。したがって、新しいモデルで現在のカメラ変換を強制するにはどうすればよいですか?
ありがとう、エル
javascript - 必要な WebGL 拡張機能の検出
私は、明らかに 3D モデルを表示する WebGL ( ThreeJsを使用) アプリケーションに取り組んでおり、いくつかの効果 (シェーダー) を使用して、ユーザーがアプリを実行できるかどうかをテストしようとしています。使用されているブラウザでサポートされているプラグインのリストを取得します。
質問:
私が直面している問題は、アプリケーションに必要なプラグインを知ることですが、それらを自動的に検出する方法はありますか?
詳細:
詳細については、必要なものの例を指定します。
- Mac OSX Maverix の MacBook Pro では、アプリケーションは正常に動作しています
- Lenovo ラップトップで Windows 7、次に Windows 8 でアプリケーションをテストすると、アプリケーションが動作しません。問題はBokeh2シェーダーが原因です。
サポートされている WebGL 拡張機能のリストを調べると、Mac と比較して Lenovo に欠けている拡張機能があることがわかりました。欠落している場合、WebGL アプリが壊れる必須の拡張機能をどのように判断すればよいでしょうか。
これは、私が mac と lenovo の両方に持っている拡張機能のリストです。
私のMacでは:
ANGLE_instanced_arrays
WEBKIT_EXT_texture_filter_anisotropic
OES_element_index_uint
OES_standard_derivatives
OES_texture_float
OES_texture_float_linear
OES_texture_half_float
OES_texture_half_float_linear
OES_vertex_array_object
WEBKIT_WEBGL_compressed_texture_s3tc
WEBKIT_WEBGL_depth_texture
WEBGL_draw_buffers
WEBGL_lose_context
WEBGL_debug_renderer_info
私のレノボでは:
ANGLE_instanced_arrays
WEBKIT_EXT_texture_filter_anisotropic
OES_element_index_uint
OES_standard_derivatives
OES_texture_float
OES_texture_half_float
OES_texture_half_float_linear
OES_vertex_array_object
WEBKIT_WEBGL_compressed_texture_s3tc
WEBGL_lose_context
WEBGL_debug_renderer_info
レノボに欠けているもの:
OES_texture_float_linear
WEBKIT_WEBGL_depth_texture
WEBGL_draw_buffers
header - 指定された astc 圧縮イメージの内部形式をヘッダーから決定しますか?
ASTC (Adaptive Scalable Texture Compression) 圧縮テクスチャを三角形にロードする EbGL ベースの HTML アプリケーションを作成しています。ASTC を解析することにより、圧縮された ASTC 画像 (私の場合はリモート Web サーバー上にある可能性があります) の内部形式が「線形」であるか「srgb エンコード」であるかを知る方法が存在することを知りたいです。ヘッダ。取得した情報を使用してinternalFormat
、ASTC テクスチャを に渡すことができglCompressedTexImage2D()
ます。言い換えれば、例えば。内部フォーマットがASTC 圧縮イメージのヘッダーかどうCOMPRESSED_RGBA_ASTC_4x4_KHR
かを知りたいです。COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
手がかりはありますか?
floating-point - Three.js は OES_texture_float をサポートしていますか?
フローティング テクスチャに位置または深度をレンダリングしたいと考えています。私が使う
レンダー ターゲットとして。
次に、テストしました
エラーは見つかりませんでした。Chrome は OES_texture_float をサポートしており、THREE.js にステップ インします。
WebGLRenderTarget:type:THREE.FloatType を設定すると、 glType =5126(gl.FLOAT) が見つかりました。これは、OES_texture_float を使用できることを意味します。何か問題がありますか?type:THREE.FloatType を設定しても、デフォルト (THREE.UnsignedByteType) を使用しても、どちらも同じレンダリング テクスチャを取得するためです。OES_texture_float
を正しく使用していませんか?
webgl - WebGL インスペクターで実行すると拡張子リストが異なるのはなぜですか?
以下は、WebGL プロジェクトを実行したときに得られる GL 拡張機能のリストです。
WebGL Inspector をアクティブにすると、次のリストが表示されます。
多くが欠けていることに注意してください!なぜ違うのですか?これは正常な動作ですか??
私のプログラムは実際にこれらの拡張機能の 1 つを使用しており、WebGL インスペクターで実行すると何らかの理由で利用できないため、これは面倒です。これを修正するにはどうすればよいですか?
ありがとう!