shader

    11

    1答えて

    これは問題になるかもしれません。私が理解するように、glBindAttribLocation(...、AAA、...)は、AAAが一意である限り、プログラム内の属性をAAAのロケーションIDにバインドします。私は次のコードをお持ちの場合: glBindAttribLocation(..., 0, "XXX"); glBindAttribLocation(..., 1, "YYY"); これは

    11

    1答えて

    最近私はHLSLプログラミングに取り組んできましたが、私が実際にやっていることのいくつかが本当にうまくいくかどうか不思議です。 たとえば、ここでは非常にシンプルなシェーダを使用しています。これは、淡い色のピクセルを赤色の色にシェーダします。 sampler2D mySampler; float4 MyPixelShader(float2 texCoords : TEXCOORD0): COLO

    6

    1答えて

    私が間違っている場合は私を修正してください。 頂点シェーダとピクセルシェーダを使用する場合、通常、頂点シェーダの出力gl_positionを計算するコードを提供します。 次に、ピクセルシェーダに入力gl_FragCoordを持つ擬似オブジェクトを見つけます。 OpenGLがgl_positionからgl_FragCoordを計算するために実行する操作の名前は何ですか?それらが "投影"と "クリッ

    1

    2答えて

    CryEngine3のようなSeriouseグラフィックスエンジン、Unreal Engine 3はカスタマイズされたシェーダ言語とエフェクトシステムを持っています。私の小さなグラフィックスフレームワークのためのエフェクトシステムを探しているうちに、nvidia CgFxが唯一の選択です(KhronosはglFxというプロジェクトを持っていたようですが、プロジェクトページは現在404です)。 私は

    0

    1答えて

    私が間違っている場所を教えてください。 タスクは非常に簡単です。私は、GPUメモリにバッファを作成し、データを1つに書き込み、そこから読み込もうとします。 以下のコードを参照してください。 コードが実行されたときglCheckFramebufferStatus戻り値0x8D40(gl2.hの定数GL_FRAMEBUFFER)および出力バッファの値は変更されません。 私は違法な行為とそれがなぜ機能し

    5

    3答えて

    私は、cubmapの顔選択を行う以下のglsl関数を最適化するつもりです。 3成分ベクトルを取り、顔、顔のテクスチャ、最大の成分を返します。 vec4 cubemap(vec3 P) { vec4 Coord; vec3 s = abs(P.xyz); bvec3 b = greaterThan(P.xyz, vec3(0,0,0)); if (all(

    2

    1答えて

    この問題の記述方法は実際にはわかりませんので、コードで説明しようとします。私は、視差マッピングとライティング計算を行うフラグメントシェーダを持っています。私は、このコードは他のシェーダで働いてい // sample maps vec3 albedo = texture2D(u_albedo_texture_1, p_texc).rgb; vec3 ao = texture2D(u_ambien

    5

    1答えて

    フレームバッファについてはかなり混乱しています。私がしたいのは、複数のテクスチャが添付されたフレームバッファを使用し、すべてのテクスチャを塗りつぶした後、シェーダを使用してすべてのテクスチャを結合(ブレンド)して新しい出力を作成することです。簡単に聞こえますか?ええ、それは私が思ったものですが、私はそれを理解していません。 現在バインドされているテクスチャをどのようにシェーダに渡すことができますか

    1

    1答えて

    どのように並列選択を効率的に行うのですか? たとえば、このスカラーコードでは、Cgコンパイラがコードを並列/ SIMDで実行できるように記述する方法があります(ブランチフリー選択も可能です)。 Out.x = (A.x <= threshold) ? B.x : C.x ; Out.y = (A.y <= threshold) ? B.y : C.y ; Out.z

    7

    1答えて

    しかし、POW(0、2.0)は0 を与える整数の指数は、私はDirectX 9のとHLSLコンパイラ "D3DCompiler_43.dll" を使用しています0 を与えながら、浮動小数点指数が1を与えるようです。 NvidiaとAtiカードで確認済みです。 私は混乱しています! これは既知の動作やバグですか? pow(x, y)がexp(y * log(x))として直接実装しているように見える、