Форум: "Media";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Внизgпопиксельное освещение Найти похожие ветки
← →
DoKi (2008-03-17 15:12) [0]Укажите где ошибка в шейдере
glUniform1fARB( shader_ambient, 0.6);//интенсивность 0,6
glUniform4fARB( shader_color, 0, 0, 0,0);//цвет
glUniform3fARB ( shader_light , -1, -1, 0);//источник освещения
//////vertex_shader.txt/////
varying vec3 Normal;
void main(void)
{
gl_Position = ftransform();
Normal = gl_Normal;
}
///////////fragment_shader.txt///////
varying vec3 Normal;
uniform vec3 light;
uniform vec4 color;
uniform float ambient;
void main(void)
{
gl_FragColor = color * ambient* dot(Normal, light);//покисельн освещение
}
← →
@!!ex © (2008-03-17 18:55) [1]Все запускается, но не правильно освещается?
А это ничего, что источник освещения в глобальных координатах, а нормаль - в локальных координатах вершины?
← →
DoKi (2008-03-17 19:11) [2]а нормаль самому нужно задавать?
← →
DoKi (2008-03-17 19:19) [3]изменил на uniform vec3 Normal;
и добвил glUniform3fARB ( shader_normal, 1, 0, 0);
всё равно не освещает
← →
Sergio666 © (2008-03-17 19:40) [4]Влючи свет (GL_LIGHT0) и используй как источник света gl_LightSource[0].position, а для нормали normal = gl_NormalMatrix * gl_Normal;
← →
@!!ex © (2008-03-17 19:46) [5]> glUniform3fARB ( shader_normal, 1, 0, 0);
Что это??? И как оно поможет в преобразовании??
← →
@!!ex © (2008-03-17 19:47) [6]Я надеюсь, тыж понимаешь, что в случае жесткого задания параметров освещение будет абсолютно равномерное?
Как насчет векторы нормализовать?
← →
Sergio666 © (2008-03-17 20:00) [7]Короче говоря - надо еще поизучать шейдеры :)
Кстати, @!!ex, это ты gamedev"e?
← →
DoKi (2008-03-17 20:13) [8]я и начал с этого примера изучать(на red monkey работает
← →
Sergio666 © (2008-03-17 20:22) [9]А что у тебя конкретно не работает? Раскажи и покажи код отрисовки (вместе с glBegin..glEnd или что там у тебя).
Кстати, если тупо надо найти ошибки в шейдере (ну, типа, перед запуском проверить на "правильность") - есть такая програма GLSL Validate от 3DLabs. Мне она помогает :)
← →
DoKi (2008-03-17 20:38) [10]вот исходник
www.delphisources.ru/pages/sources/graph/2007_year/igrodel_shaders.html
там всё работает но нет освещения
я хотел переделть с освещением
← →
Sergio666 © (2008-03-17 20:49) [11]Круто ты НАЧАЛ изучение с parallax mapping"а :)
Лучше скачай себе GLSL specification, и сам напиши небольшую програмку, которая выводила бы что-то типа
glBegin(GL_QUADS);
glNormal3f(0, 1, 0);
glVertex(-x, 0, z);
glVertex( x, 0, z);
glVertex( x, 0, -z);
glVertex(-x, 0, -z);
glEnd;
С таким шейдером
VERT
varying vec3 normal;
void main()
{
normal = gl_NormalMatrix * gl_Normal;
gl_Position = ftransform();
}
FRAG
varying vec3 normal;
void main()
{
vec3 nNorm = normalize(normal);
vec3 lPos = normalize(gl_LightSource[0].position);
float LdotN = dot(nNorm, lPos);
gl_FragColor = vec4(LdotN);
}
Самый простой шейдер, а там уже будеш добавлять функциональность.
← →
DoKi (2008-03-17 20:58) [12]Sergio666
большое спасибо
← →
@!!ex © (2008-03-17 21:01) [13]> Кстати, @!!ex, это ты gamedev"e?
Не понял вопроса.
> [9] Sergio666 © (17.03.08 20:22)
Очень помогает Render MOnkey от ATI. :)
Лично мне. Учитывая ее возможности по написанию шейдеров....
Учитывая туеву хучу примеров... :)
← →
Sergio666 © (2008-03-17 21:02) [14]@!!ex, ну там такой ник тоже есть. Это ты же?
Render MOnkey, наверно много весит. Мне не потянуть... :)
Я все испробую у себя в программах :)
← →
@!!ex © (2008-03-17 21:34) [15]> @!!ex, ну там такой ник тоже есть. Это ты же?
На планете один человек с таким ником. Я проверял. :)
> Render MOnkey, наверно много весит. Мне не потянуть... :
> )
> Я все испробую у себя в программах :)
Чего-то около 60 метров.
Но оно того стоит.
← →
DoKi (2008-03-17 22:01) [16]В Render MOnkey в папке examplex есть папка gl2
так эти примеры что будут работать в opengl2?????????
← →
@!!ex © (2008-03-17 22:02) [17]> [16] DoKi (17.03.08 22:01)
У меня в 1.5 все работают.
← →
DoKi (2008-03-17 22:08) [18]то есть можно скопировать
//////vertex_shader.txt/////
///////////fragment_shader.txt///////
задать переменные и всё будет рботать??круто
← →
@!!ex © (2008-03-17 22:27) [19]> [18] DoKi (17.03.08 22:08)
Да, но так будут работать только простые эффекты, с одним проходом, без RTT и т.д.
Для сложных придется повозится.
Но шейдеры там вполне рабочие, их можно использовать без изменений.
Я, лично, новые шейдеры пишу сначала в RM, отлаживаю, коэфициенты подбираю, а потом уже внедряю в код.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.058 c