PMG

Форумы по созданию игр
Текущее время: 28 мар 2024 18:41

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: GLSL Shaders
СообщениеДобавлено: 29 мар 2007 14:29 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
Ага.... вобщем с приобретением GeForce 5 начал активно изучать шейдеры!
Вобщем взял шейдер бампа из Рендер Монки,гружу его в программу,всё отлично но вот только проблема в том что показывается текстура нормали или просто текстура,тоесть нужно соеденить эти две текстуры мультитекстурингом,но так как это неудобно(надо для каждой вершины писать glMultiTexCoord2fARB),вопрос в том как сделать мультитекстуринг ещё в шейдере?
ЗЫ В Рендер Монки работает нормально,а у меня почему то нет,приходится вот так вот извращатся 8(.

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 мар 2007 16:22 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
В шейдере вроде должно работать. Почему не работает у тебя?

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 мар 2007 16:32 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
MagicWolf, Я незнаю.
Вот посмотри на код!
Код:
procedure TShaderPipeline.InitBumpMap();
begin
bump_shader.Load('ShaderPipeline\bump\fragment.txt',GL_FRAGMENT_SHADER_ARB);
bump_shader.Load('ShaderPipeline\bump\vertex.txt',GL_VERTEX_SHADER_ARB);
bump_shader.Compile();
u_fvAmbient:=bump_shader.GetUniform('fvAmbient');
u_fvSpecular:=bump_shader.GetUniform('fvSpecular');
u_fvDiffuse:=bump_shader.GetUniform('fvDiffuse');
u_fSpecularPower:=bump_shader.GetUniform('fSpecularPower');
u_Bump_BaseMap:=bump_shader.GetUniform('baseMap');
u_Bump_NormalMap:=bump_shader.GetUniform('bumpMap');
u_fvLightPosition:=bump_shader.GetUniform('fvLightPosition');
u_fvEyePosition:=bump_shader.GetUniform('fvEyePosition');
shaders_texture.LoadTexture(UN_ANISOTROPY_FILTER,'data/stone_wall.tga',u_Bump_BaseMap,false);
shaders_texture.LoadTexture(UN_ANISOTROPY_FILTER,'data/bump.tga', u_Bump_NormalMap,false);


end;
procedure TShaderPipeline.RenderBumpMap();
begin
bump_shader.Start();
bump_shader.SetUniform(u_fvAmbient,0.0,0.5,0.5,1.0);
bump_shader.SetUniform(u_fvSpecular,0.5,0.5,0.5,1.0);
bump_shader.SetUniform(u_fvDiffuse,0.5,0.5,0.5,1.0);
bump_shader.SetUniform(u_fSpecularPower,1.0);
bump_shader.SetUniform(u_fvLightPosition,-10.0,10.0,10.0);
bump_shader.SetUniform(u_fvEyePosition,10.0,10.0,-100.0);
end;

Пока функции без параметров,так как отлаживаю!
В Ините:
Код:
ShaderPipeline.InitBumpMap;
quadratic:=gluNewQuadric();
gluQuadricNormals(quadratic, GLU_SMOOTH);
gluQuadricTexture(quadratic, GL_TRUE);

В Рендере:
Код:
ShaderPipeline.RenderBumpMap;
gluSphere(quadratic,1.3,32,32);

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 мар 2007 08:54 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Я так понимаю дело в самом шейдере. Может быть упростить все ... и тогда ошибка найдется.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 мар 2007 21:36 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
MagicWolf, Ошибку уже решил,точнее не ошибку, а вобщем надо было ещё прилегающий вектор и бинормаль обьявить!
))
Ложная тревога! ))

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31 мар 2007 20:12 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 29 апр 2006 21:28
Сообщения: 404
http://assassin.3dn.ru/Bump211.JPG
Вот скрин,бамп!
http://assassin.3dn.ru/phong_light.JPG
освещение по фонгу!
Если кому интересно могу открыть сорц бампа!

_________________
С уважением,Блинов Андрей.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB