GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (133 стр.)

Сообщения на форуме пользователя Andrey (133 стр.)

Тормозит GLSL шейдер19 июля 200718:54#17
0r@ngE
>А я еще уважал ATI. Тьфу!
а я и так уважаю кроме OpenGL есть еще Direct3D может для них этого достаточно.
Вечный вопрос - GLSL & ARBvp/fp18 июля 200719:50#14
0r@ngE
>это все ясно, но в GLSL шейдер параметры удобне передавать по имени, а в ARBvp/fp имен нет =)
ты при загрузки шейдеров выцепляй через glGetUniformLocationARB все что нужно
парсинг строк(я все-таки парсятся строки) в real-time оно тебе нужно?
у меня так сделано для автоматических параметров время, всякие матрицы и т.д.
если нужен специфический параметр то да тогда наверное по имени.
>ЗЫ. Жаль, я вообще любитель ассемблера в любом его проявлении.
>ЗЫЫ. А правда что вендоры ASM-шейдеры не развивают больше?
nVidia свои расширения поддерживает. т.е. там можно писать вроде самые навороченные шейдеры примерно аналогичные
ps_3_0/vs_3_0 для Direct3D
ну а обычные ARB потянут тени, может скелетную анимацию, постпроцессинг.
смотри статью Джо:
http://www.gamedev.ru/community/opengl/articles/fp
http://www.gamedev.ru/community/opengl/articles/vp
Если уже хочется поддерживать asm. Попробуй использовать Cg и получай компиляцию в GL_ARB_vertex_program/GL_ARB_fragment_program. Ну а потом как обычно.
Вот тут можно сказать asm'а в чистом виде не будет. Зато несложная поддержка старого железа.
Более того Cg решил проблему с шейдерами для разных API.
Я для OpenGL их не писал вообще. К примеру шейдер бампа я скармливаю Cg компилятору и потом уже вызваю соответвующие функции для Direct3D/OpenGL для использования шейдера.
Вот бы разобраться в Cg -> GLSL то вообще все круто будет.
Имеет ли право на жизнь FVF в OpenGL?18 июля 200713:13#1
0r@ngE
можно сделать класс Direct3DVertexBuffer/OpenGLVertexBuffer
туда пихать типа FVF
и по запросу Render::SetVertexBuffer
разбирать формат вершин и ставить glVetrtexPointer/glNormalPointer/glVertexAttribPointerARB или
IDirect3DDevice9::SetFVF/SetVertexDeclaration
только вот порядок хранения данных я сделал как в Direct3D
Вечный вопрос - GLSL & ARBvp/fp18 июля 200713:07#2
0r@ngE
>2) - Если же и то и другое, как привести их к единому интерфейсу, ведь механизмы передачи констант
>в шейдер у них разные?
пишешь интерфейсный класс.
наследуешь GLSLProgram от него там свой метод Bind() с сооветсвующей функциональностью glUseProgramARB и передачей констант glUniform*ARB
наследуешь от него ARBProgram там свой метод Bind() с сооветсвующей функциональностью glBindProgramARB и передачей констант glProgramLocalParameter*ARB
Frustum culling на GPU17 июля 200713:53#4
Outlaw
>впринципе такая чтука есть, называется occlusion query.
а может это тест на перекрытие объектов?
ведь это не отсечение по пирамиде видимости оганичивающего объема.
OpenGL: шейдеры, странная ошибка17 июля 200713:25#6
lymar
ты выводил лог компиляции и линковки шейдеров? что там пишется?
посмотреть HLSL скомиленный код15 июля 200721:09#4
BigAlex
D3DXDisassembleShader если голые IDirect3DVertexShader9 */IDirect3DPixelShader9 *
D3DXDisassembleEffect если используется ID3DXEffect
Particle systems и frustum culling13 июля 200719:25#3
cppguru
>Кулить бокс всей системы?
дак он же может меняться :) вот и спрашивается как его пересчитывать по эффективней?
hr0nix
Я пока просто считаю бокс без оптимизаций, не тормозит. Смотря сколько частиц для дыма из 25 частиц это к примеру нормально.
slava_mib
кстати очень хорошая идея! сегодня же попробую :)
Модели, модели и еще раз модели...13 июля 200713:46#7
eHomo
VileDog(ck.UA)
input8
вот про MD5 модели:
http://steps3d.narod.ru/tutorials/skeletal-animation-tutorial.html
Можно попробовать поискать в сети притмер.
Пример загрузки md5 я не нашел посмотрю еще дома.
Загрузчика md2 в чистом виде не нашел есть пример Nehe shadowmap_v7 там есть загрузка MD2.
Если что поищу дома и пример md2.
Всем троим ушли по 2 письма.

Шейдеры и старое железо13 июля 200713:08#16
KAP
>в OGL это через расширение делать придется
GL_ATI_fragment_shader?
Cal3D или другие анимационные библиотеки...7 июля 200716:20#3
variant
animadead
хм она же платная? и вроде только OpenGL
Cal3D или другие анимационные библиотеки...7 июля 200716:12#2
Minsk and Boo
Я пользовался. Но проэкспортировать модель сделанную другим человеком с текстурами не удалось т.е. прио трисовке их не видно. Экспортируется корректно с текстурами только примеры к бибилиотеке.
Шейдеры в OpenGL-e7 июля 200716:09#12
KpeHDeJIb
а зачем таскать? я слинковал статически и вызов 1 функции вместо всяких скриптов и ручной инициализации. Добавятся новые расширения будем опять править код ;) ? А я не буду.

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр