Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++,GLSL] Помогите найти ошибку 
:(
    Опции темы
SAVEL
  Дата 28.9.2010, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 31.1.2007

Репутация: -1
Всего: -1



Доброе время суток. Итак, в моем исследовании GLSL столкнулся с подобной ошибкой:

Fragment shader failed to compile with following errors:
ERROR 0:28: error(#132) Syntax error: ')' parse error
... no code generated

А загружаю fragment shader blur.frag :

[code=cpp]
// Texture to blur
uniform sampler2D texScreen;

// Texture size
uniform vec2 size;

// blur horizontal or vertical
uniform bool horizontal;

// size of blurage
uniform int kernel_size;



void main()
{
    vec2 pas = 1.0/size;
    vec2 uv = gl_TexCoord[0].st;
    vec4 color = vec4(0.0, 0.0, 0.0, 1.0);

    
    // HORIZONTAL BLUR
    if(horizontal) {
        int j = 0;
        int sum = 0;
        for(int i=-kernel_size; i<=kernel_size; i++) {
            vec4 value = texture2D(texScreen, uv + vec2(pas.x*i, 0.0));
            int factor = kernel_size+1 - abs((float)i);
            color += value * factor;
            sum += factor;
        }
        color /= sum;
    }
    
    // VERTICAL BLUR
    else {
        int j = 0;
        int sum = 0;
        for(int i=-kernel_size; i<=kernel_size; i++) {
            vec4 value = texture2D(texScreen, uv + vec2(0.0, pas.y*i));
            int factor = kernel_size+1 - abs((float)i);
            color += value * factor;
            sum += factor;
        }
        color /= sum;
    }
    
    gl_FragColor = color;
    gl_FragColor.a = 1.0;
}


Не могу понять где тут синтаксическая ошибка...

Код

Shader* pShdBlur = res.getShader("blur");
    fboBloomFinalTemp.Begin();
    {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        pShdBlur->Activate();
        {
            fboBloomFinal.Bind(0);
                pShdBlur->UniformTexture("texScreen", 0);
                pShdBlur->Uniform("size", vec2((float)fboBloomFinal.getWidth(), (float)fboBloomFinal.getHeight()));
                pShdBlur->Uniform("horizontal", true);
                pShdBlur->Uniform("kernel_size", 10);
                DrawQuadAtScreen();
            fboBloomFinal.Unbind(0);
        }
        pShdBlur->Deactivate();
        
    }
    fboBloomFinalTemp.End();


И сaм vertex shader blut.vert :


void main()
{
  gl_TexCoord[0] = gl_MultiTexCoord0;
  gl_Position = ftransform();
} 



Либо может этому послужила иная причина?


Это сообщение отредактировал(а) SAVEL - 29.9.2010, 12:24
--------------------
В любых делах при максимуме сложности подход к проблеме всё-таки один! Желание - это множество возможностей, а нежелание - это множество причин !!!
PM MAIL   Вверх
Rickert
Дата 29.9.2010, 02:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Модератор: Учимся испльзовать тэг "код" и цитата.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.