2015-03-22 6 views
0

Я использую IntelliJ IDEA для создания 3D-графических приложений, я установил GLSL поддержки плагин, и это дает мне некоторые ошибки в коде GLSL:IntelliJ GLSL Поддержка

1 #version 330 
2 
3 layout (location = 0) in vec3 position; 
4 layout (location = 1) in vec2 uv; 
5 layout (location = 2) in vec3 normal; 
6 
7 out vec3 n; 
8 out vec2 uvs; 
9 uniform mat4 VP; 
10 uniform mat4 M; 
11 
12 void main() 
13 { 
14 uvs = uv; 
15 n = normalize((vec4(normal, 1.0) * M).xyz); 
16 gl_Position = VP * M * vec4(position, 1.0); 
17 } 

Ошибки являются:

Линии 3,4,5: Ожидаемый спецификатор типа, Ожидаемый и идентификатор, Отсутствует ')' после прототипа функции, Неожиданный токен ')', Неожиданный токен '='.

Шейдер не работает в приложении, поэтому я думаю, что с ним что-то не так, но я не вижу, что.

Вот скриншот:

screenshot

Что я делаю неправильно?

ответ

1

Плагин поддержки GLSL был последний раз обновлен в 2012 году, а синтаксис layout (location = 0) кажется довольно новой функцией в GLSL. Скорее всего, плагин просто не может разобрать синтаксис, и причина, по которой ваш шейдер не работает, не связан с подсветкой, которую вы видите.

+0

Идея не имеет. Никогда не использовался GLSL. – yole

Смежные вопросы