3
頂点とフラグメントシェーダでうまくレンダリングできる点があるVBOがありますが、パスシェーダをパススルーに追加すると何も表示されません。私はグローのためにMRTを使っていますが、この例では触れません。ジオメトリシェーダを通過できません
私は他の投稿で見たことから、あるステージから別のステージに値を渡すことに問題があるように見えるので、私はすべてのバリエーションを削除しましたが、それでも動作しません。
リンクした後にプログラムのパラメータを設定しました。うまくいけばうまくいきます。
ジオメトリシェーダを無効にすると白いパーティクルが生成されますが、有効にする理由は何も表示されません。
バーテックスシェーダ:
#version 120
attribute vec3 position;
uniform mat4 projectionMatrix;
uniform mat4 modelViewMatrix;
void main()
{
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1);
}
フラグメントシェーダ:
#version 120
void main()
{
gl_FragData[0] = vec4(1.f, 1.f, 1.f, 1.f);
gl_FragData[1] = vec4(0.f, 0.f, 0.f, 0.f);
}
ジオメトリシェーダ:のparamsを設定
#version 120
#extension GL_EXT_geometry_shader4: enable
uniform mat4 projectionMatrix;
uniform mat4 modelViewMatrix;
void main(void)
{
for (int i = 0; i < gl_VerticesIn; i++)
{
gl_Position = gl_PositionIn[i];
EmitVertex();
}
EndPrimitive();
}
(プログラムのリンク後、プログラムはresources.particleprogramです) paramsを設定
私は最初にそれを試していなかった理由は完全に働いていません。ありがとう。 – starruler