10

私は多くの GLSL フラグメント シェーダーを持っており、それらが準拠していることをほぼ保証できます#version 120。それらは標準の非 ES 準拠の値を使用し、ES 固有のプラグマはありません。

WebGL を使用して Web プレビューアを作りたいと思っています。プレビューアはモバイルでは使用されません。これは実現可能ですか?その GLSL バージョンと比較して、WebGL で GLSL シェーダーに公開されている機能セットは制限されていますか? 精度の違いはありますか?

私はすでに遊んでみましたTHREE.jsが、GPUにロードする前にシェーダーコードを台無しにするので、実際にはこすれません(私にはできません)。

要するに、これらのシェーダーを実行するのに GLSL 仕様で十分ですか?

4

1 に答える 1

10

いいえ、WebGL シェーダーはバージョン #100 である必要があります。それ以外は許可されません。

その理由は、可能な限り、WebGL をあらゆる場所で実行する必要があるためです。任意のバージョンを選択できる場合、Web ページは、そのバージョンを処理する GPU/ドライバーを備えたシステムでのみ実行されます。

WebGL の次のバージョンでは、バージョン番号が上がります。GLSL ES 3.0 が許可されます ( ESに注意してください)。2016 年 5 月現在、Chrome と Firefox のフラグの後ろで利用できます。

于 2014-01-14T02:46:27.547 に答える