問題タブ [fragment-shader]
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.
glsl - GLSL 再利用可能/共有関数、共有定数 (OpenGL ES 2.0)?
短い:
すべてのシェーダーが使用できる関数を定義できますか? それとも、シェーダーごとに定義する必要がありますか?
一部始終:
入力フラグメントを定義済みのグラデーション ランプ (このようなもの - http://www.thinkboxsoftware.com/storage/krakatoa-support-images/krakatoa15_kcm_densitybyage_gradientrampmap.pngのようなもの)で色付けすることを目的とした多数のシェーダーを作成したいと考えています。
各シェーダーのグラデーション ランプ定数を定義したい(アルファ値がグラデーション位置を保持する vec4 カラー サンプルの配列。上の図の Pos を参照)
そして、特定のテクスチャ座標位置の特定のグラデーション ランプからカラー サンプルを返すことができる関数が必要です。
したがって、ランプはシェーダーごとに 1 回定義する必要があり、関数はすべてのシェーダーが安全に使用できるように一度に定義する必要があります。
私はアルゴリズムを持っています。問題は関数を共有することであり、GLSL で定数を定義します。
これは可能ですか?または、関数をすべてのシェーダーにコピーする必要がありますか? 少なくともプリコンパイルオプションはありますか?
iphone - GLSL (OpenGL ES 2.0) で定数配列を定義するには?
すべてのフラグメント計算に必要な重みの配列を保存したいだけです。
これ:
これを投げるだけです:
opengl - GLSLマクロ拡張はこれを行うことができますか?
次のGLSL関数を検討してください。
... 等々。もちろん、組み込みのGLSL pow()関数を使用せずに、コンパイル時にn回の乗算を生成できるGLSLマクロを#defineする方法はありますか?
iphone - GLSL pow関数?
私はこれを持っています:
そして、機能していない、と主張している:
エラー:0:53:関数'pow'の呼び出しに一致するオーバーロードがありません
私は何か間違ったことをしていますか?OpenGLES2.0を使用したiOS向けの開発。
opengl-es - GLSL OpenGL ES 2.0 (iOS) にノイズ関数はありますか?
または任意の対応物?安価な乱数を生成するにはどうすればよいですか?
google-chrome - RadeonIGP340mのChromeWebGLフラグメントシェーダー
RadeonIGP340mグラフィックカードを搭載した古いマシンを持っています。製造仕様によると、OpenGL 1.3のみをサポートし、フラグメントシェーダーはサポートしていませんが、http://glsl.heroku.com/(フラグメントシェーダーバージョン120以降が必要)でいくつかのWebGLアプリケーションを実行すると、実行は成功しましたが、少し遅くなります。Google Chromeでどうすればよいかわかりませんか?ソフトウェアでシェーダーをコンパイルして実行しますか?
opengl - フラグメントシェーダー内から浮動小数点テクスチャに値を追加するにはどうすればよいですか?
GLSLで、フラグメントシェーダー内から浮動小数点テクスチャに追加することは可能ですか?
たとえば、フラグメントシェーダーが1つのピクセルに対して呼び出される頻度を知りたいだけの場合、対応する浮動小数点テクスチャピクセルに1を追加するだけのフラグメントシェーダーを作成できますか?
出力値を設定する方法を見つけただけなので、古い値を上書きするか、何らかの形でアルファブレンドされます。これは加重乗算であり、加算には使用できないと思います。
glsl - GLSLESのユニフォームと属性
CPUからGPUに渡されるいくつかのパラメーターがあり、それらはすべてのフラグメントに対して一定ですが、フレームごとに変化します(GLSL ES 1.1を使用しています)。そのような値にユニフォームまたは属性を使用する必要がありますか?属性は頂点ごとに異なる可能性があるため、私の直感では、フレーム全体で一定の値に属性を使用するのは非効率的です。ただし、ユニフォームは「比較的まれに」変更される値用であると読みました。これは、すべてのフレームでユニフォームを変更するのは非効率的である可能性があることを示唆しています。
ハードウェアに関しては、iPhone4S用に最適化することに最も興味があります。
ios - 複数の出力を持つiOSフラグメントシェーダー
複数のRGB出力を生成し、(たとえば)1つを画面に送信し、もう1つをテクスチャに送信するGLSL ESフラグメントシェーダーをiOSで作成することは可能ですか?
通常のGLSLでは、これはフラグメントシェーダーからgl_FragColor[i]に書き込むことで実行されると思います。ただし、GLSLES2.0は単色出力しかサポートしていないようです。
android - OpenGL 2D 水シミュレーション
私はopengl2 es iiを使用してAndroid用のゲームを開発しています。次のような効果が必要です :
ライトは通常のマッピングで行われていると思います(そうですか?)
しかし、波をシミュレートするために、ベーリングテクスチャに何らかの歪みがあると思います。
画像に現れるノイズをシミュレートするには、どの数学関数を使用できますか?
ありがとう