Compiling of my old glsl fragment shader was fall down with warning C7549: OpenGL does not allow C style initializers and warning

In fragment shader I have float array

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
float weights[] = float[](

 1.0000,

0.9394,

0.7788,

0.5697,

0.3678,

0.2096,

0.1053,

0.0467,

0.0183

 );

To make it work properly, I add #version 120 command to my fragment shader, and rewrite array like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
float weights[] = float[](

 1.0000,

0.9394,

0.7788,

0.5697,

0.3678,

0.2096,

0.1053,

0.0467,

0.0183

 );
GLSL error C7549
Tagged on:     

2 thoughts on “GLSL error C7549

  • Sunday April 26th, 2009 at 08:29 AM
    Permalink

    Хм кстати – очень полезная штука. Правда я не заметил отличий между первым и вторым кодом.
    ? хотел бы узнать на какой версии драйверов выскочила эта проблема?

  • Monday April 27th, 2009 at 09:52 PM
    Permalink

    Точно версию драйверов не скажу, обнаружил это дело примерно по дате создания записи.
    Кстати не так давно просматривал еще одну свою демку с тенями на ATI и шейдеры не компилировались без указания версии 120, т.к. в коде была конвертация из mat4 в mat3 по конструктору. При этом НВидиа даже ухом не ведет, вот такие вот дела.

Leave a Reply

Your email address will not be published. Required fields are marked *