GLSL тесселяция управления шейдером неизвестных классификаторов - PullRequest
0 голосов
/ 02 ноября 2011

когда я загружаю свой шейдер управления тесселяцией, он выдает:

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?

спецификации говорят:

Спецификаторы макета

макет (квалификаторы макета) в/ out /iform

Спецификаторы структуры вывода

Для шейдеров управления тесселяцией: вершины = целочисленная константа

также мой шейдер оценки тесселяции говорит:

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

я что-то упустил?

С уважением, Питер

...