0

テッセレーション コントロール シェーダーをロードすると、次のように出力されます。

0(7) : error C3008: unknown layout specifier 'vertices'
0(15) : error C7565: assignment to varying in gl_TessLevelOuterIn
0(16) : error C7565: assignment to varying in gl_TessLevelOuterIn

私のシェーダーはこのように見えます

#version 400

layout(vertices = 2) out;

void main( )
{
  gl_out[ gl_InvocationID ].gl_Position = gl_in[ gl_InvocationID ].gl_Position;

  gl_TessLevelOuter[0] = float( 1 );
  gl_TessLevelOuter[1] = float( 5 );
}

私はここで何を間違っていますか?修飾子「頂点」は #version 400 で表示されるはずですか?

仕様は言う:

レイアウト修飾子

レイアウト (レイアウト修飾子) in/out/uniform

出力レイアウト修飾子

テッセレーション コントロール シェーダの場合: 頂点 = 整数定数

また、私のテッセレーション評価シェーダーは次のように述べています。

0(5) : error C3008: unknown layout specifier 'equal_spacing'
0(5) : error C3008: unknown layout specifier 'isolines'

私は何かが欠けていますか?

よろしく、ピーター

4

0 に答える 0