2017-08-03 15 views
-1

私の計算シェーダでforループを使用してimage3Dを埋めようとしています。プログラムが実行され、期待される結果を与えるので、コードのnvoglv32.dllで未処理の例外 - forループでimageStoreを呼び出す

以下の3行が、ときにループの外に有効である:ループのために置かれたときしかし

position = ivec3(gl_GlobalInvocationID.xyz); 
    colour = vec4(0.5, 0.0, 0.0, 1.0); 
    imageStore(visualTexture, position, colour); //visualTexture being an empty image3D 
    //fed into the shader 

を、nvoglv32.dllで未処理の例外がありますスローされ、致命的なプログラムの終了が要求されました。もともと私は、これは私が複数の同じ位置に書き込むことを試みていることが原因だと思っていましたが、グローバル呼び出しIDが各繰り返しごとにユニークになるため、このコードには当てはまりません。

答えて

0

私はとても馬鹿だと感じます。

for (int j = 0; j < i; i++) 

は、私はもはや存在して、ループの以前に変数だった、とのような、プログラムブレーク:それは働いていなかった理由は、私のためのループは、このように見えたということでした。