Сообщения на форуме пользователя Andrey (81 стр.)
Примитивный ландшафт некорректно отображается | 24 мар. 2009 | 20:44 | #8 |
---|
HelloWorld
>d3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 0, m_uiIndNum, 0, m_uiTriangeNum );
капсы проверил? число вершин у тебя сколько ? ты учти что 9600GT за 1 раз больше отрисует по идее чем ATI 9600, индексный буфер верный?
nVidia съедает ошибки иногда. ATI нет отсюда глюки. смотри DX Debug наверняка какой-нибудь Invalid Stream Index или еще что-то.
>d3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 0, m_uiIndNum, 0, m_uiTriangeNum );
капсы проверил? число вершин у тебя сколько ? ты учти что 9600GT за 1 раз больше отрисует по идее чем ATI 9600, индексный буфер верный?
nVidia съедает ошибки иногда. ATI нет отсюда глюки. смотри DX Debug наверняка какой-нибудь Invalid Stream Index или еще что-то.
Правка: 24 мар. 2009 22:28
Построение упрощенного LOD'а модели | 23 мар. 2009 | 23:20 | #20 |
---|
simsmen
впечатляет!
впечатляет!
Построение упрощенного LOD'а модели | 21 мар. 2009 | 18:45 | #3 |
---|
vip_open
попробуй упрости геометрию начни с кубика, сферы, чайника. Проверь что верно свои данные подаешь. Не факт то алгоритм для сложных моделей корректно работает. Хотя кролик там серьезный.
попробуй упрости геометрию начни с кубика, сферы, чайника. Проверь что верно свои данные подаешь. Не факт то алгоритм для сложных моделей корректно работает. Хотя кролик там серьезный.
Построение упрощенного LOD'а модели | 21 мар. 2009 | 16:39 | #1 |
---|
vip_open
>Попробовал прикрутить, не полетело...
тебе поможет отладка и разбор алгоритма библиотеки.
расскажешь что вышло в результате. И насколько хорошие лоды.
>Попробовал прикрутить, не полетело...
тебе поможет отладка и разбор алгоритма библиотеки.
расскажешь что вышло в результате. И насколько хорошие лоды.
Проблема с шейдером на ATI | 21 мар. 2009 | 11:07 | #15 |
---|
Olsavage
а посмотреть в d3dx9shader.h ?
а посмотреть в d3dx9shader.h ?
#define D3DXSHADER_USE_LEGACY_D3DX9_31_DLL (1 << 16)
GLSL + GL_MATRIXi_ARB? | 21 мар. 2009 | 10:32 | #1 |
---|
XaeroX
>Может, все же есть способ получить эти матрицы по типу ARBvp, как встроенные в glstate?
ну есть gl_ModelViewProjectionMatrix типа, есть еще что-то но я не в курсах я GLSL получаю их Cg, а он выдает современный код, без устаревшей функциональности. А зачем тебе их получать? засылай массивом и все
GL_MATRIX0_ARB и много ли ты смог матриц то заслать используя этот подход? есть очень хорошее расширение.
GL_EXT_gpu_program_parameters можно слать больше чем чем возможно через константу GL_MATRIXi_ARB.
Я вообще убрал glstate из ARB/GLSL это уже устарело. Меньше проблем.
>Может, все же есть способ получить эти матрицы по типу ARBvp, как встроенные в glstate?
ну есть gl_ModelViewProjectionMatrix типа, есть еще что-то но я не в курсах я GLSL получаю их Cg, а он выдает современный код, без устаревшей функциональности. А зачем тебе их получать? засылай массивом и все
GL_MATRIX0_ARB и много ли ты смог матриц то заслать используя этот подход? есть очень хорошее расширение.
GL_EXT_gpu_program_parameters можно слать больше чем чем возможно через константу GL_MATRIXi_ARB.
Я вообще убрал glstate из ARB/GLSL это уже устарело. Меньше проблем.
Проблема с шейдером на ATI | 21 мар. 2009 | 10:24 | #13 |
---|
Olsavage
1) ты уверен что скомпилилось то? ps_1_1 - уже давно не поддерживается с октября 2006 нужна опция компиляции специальная.
странно что nVidia съела. ты на разных машинах пробовал? может там версии Direct3D Run Time разные?
можно вот так попробовать:
2) а что нам DX Debug говорит?
1) ты уверен что скомпилилось то? ps_1_1 - уже давно не поддерживается с октября 2006 нужна опция компиляции специальная.
странно что nVidia съела. ты на разных машинах пробовал? может там версии Direct3D Run Time разные?
можно вот так попробовать:
Effect.FromFile(d3d, fxfilename, null, null, D3DXSHADER_USE_LEGACY_D3DX9_31_DLL, null); |
Shadow Map artefact | 18 мар. 2009 | 23:40 | #13 |
---|
IronPeter
>угол раствор конуса нормалей. Число, которое контролирует заползание тени на освещенную сторону.
>saturate( ( dot( lightDir, mormal.xyz ) - normal.w ) / ( 1.0f - normal.w ) )
Петр если не сложно ссылку или более подробно про все это. Особенно про математические выкладки.
Спасибо заранее!
>угол раствор конуса нормалей. Число, которое контролирует заползание тени на освещенную сторону.
>saturate( ( dot( lightDir, mormal.xyz ) - normal.w ) / ( 1.0f - normal.w ) )
Петр если не сложно ссылку или более подробно про все это. Особенно про математические выкладки.
Спасибо заранее!
Туман не пашет после вывода Текста,спрайта, в любом релизе D3D | 17 мар. 2009 | 8:44 | #6 |
---|
smoke_wolf
ты используешь ID3DXSprite ? метод ID3DXSprite::Begin выключает туман. Посмотри что он еще выключает в DirectX SDK.
попробуй просто восстановить все рендер стейты для настройки тумана.
как минимум этот:
ты используешь ID3DXSprite ? метод ID3DXSprite::Begin выключает туман. Посмотри что он еще выключает в DirectX SDK.
попробуй просто восстановить все рендер стейты для настройки тумана.
как минимум этот:
IDirect3DDevice9::SetRenderState(D3DRS_FOGENABLE, TRUE);
Отладка шейдеров в Direct3D | 13 мар. 2009 | 21:58 | #2 |
---|
Mikerub
попробуй в VS 2003 это сделать.
попробуй в VS 2003 это сделать.
Скелетная анимация (collada -> cal3d) | 13 мар. 2009 | 10:32 | #1 |
---|
Aut
>причем координаты переноса поменяны местами
значит матрица транспонирована. А это значит что cal3D в таком формате матрицы понимает.
Ну попробуй инверсную матрицу + траспонирование. В общем нужно подробно вникнуть нужно в код cal3D подогнать к формату collada->cal3D.
>причем координаты переноса поменяны местами
значит матрица транспонирована. А это значит что cal3D в таком формате матрицы понимает.
Ну попробуй инверсную матрицу + траспонирование. В общем нужно подробно вникнуть нужно в код cal3D подогнать к формату collada->cal3D.
Возможно ли в DX10 передавать шейдеру значение переменной, зная ее имя, но без ID3D10Effect( Как в DX9 SetFloat( ... ) ) | 11 мар. 2009 | 23:49 | #1 |
---|
FearOfTheDark
Нету аналога ID3DXConstantTable в Direct3D 10. Обновляй буфер и все. Есть ID3D10ShaderReflection но он не для установки констант, а для получения информации о шейдере.
Нету аналога ID3DXConstantTable в Direct3D 10. Обновляй буфер и все. Есть ID3D10ShaderReflection но он не для установки констант, а для получения информации о шейдере.
Движек мечты, в нашей реальности - какой он у вас ? | 10 мар. 2009 | 13:55 | #30 |
---|
cppguru
а по делу?
а по делу?
Tanks III - внезапно исходники | 10 мар. 2009 | 13:19 | #324 |
---|
Sergio666
Вылетает. acess violation на NULL указатель. ATI 9600, дрова 9.2. Update не помог.
лог:
Запуск системы.
Проверка.....
----------------------------
Версия OpenGL : 2.1.8494 Release
Производитель : ATI Technologies Inc.
Графический вывод : SAPPHIRE RADEON 9600 ATLANTIS
Поддержка Vertex buffer object : нет
Поддержка Framebuffer object : нет
Поддержка Shader objects : нет
Поддержка float texture : нет
----------------------------
Проверка выполнена. Запуск.....
Загрузка настроек.....
Готово.
Странно ты расширения инициализируешь.
Вылетает. acess violation на NULL указатель. ATI 9600, дрова 9.2. Update не помог.
лог:
Запуск системы.
Проверка.....
----------------------------
Версия OpenGL : 2.1.8494 Release
Производитель : ATI Technologies Inc.
Графический вывод : SAPPHIRE RADEON 9600 ATLANTIS
Поддержка Vertex buffer object : нет
Поддержка Framebuffer object : нет
Поддержка Shader objects : нет
Поддержка float texture : нет
----------------------------
Проверка выполнена. Запуск.....
Загрузка настроек.....
Готово.
Странно ты расширения инициализируешь.
Движек мечты, в нашей реальности - какой он у вас ? | 10 мар. 2009 | 12:48 | #28 |
---|
XaeroX
>А потом мы удивляемся - а почему это новая игра на прилавке выглядит как игры трехлетней давности, а тормозит дай боже? Дык там же все на скриптах, даже >расчет теневых объемов :D
>Зато гибкость, ага.
ну это точно полная фигня. так в скриптах никто не делает.
Правильней примерно так.
Делаем примерно универсальный игровой объект или хотя-бы стремимся к нему. Экспортируем структуру с переменными игровыми которые нужны и движку и скрипту через luabind/tolua++ и т.д. Скрипт это может менять без дополнительных затрат(к примеру lua Stack), движок про это узнает автоматически, к примеру номер анимации или число очков и т.д.
Ну в скрипт предоставить доступ к многим функция движка (GUI, доступ к физическим функциям(не в коем случае не расчет!!!), к система частиц(просто включить остановить/ создать по некому id), доступ к анимации, доступ к звуку). Поиск пути к примеру само собой это не задача скрипта. Его задача получить результат поиска.
Такой подход гибок и универсален. Да не спорю есть минусы. Но плюсов больше.
Не нужно считать писать/менять/подгонять всякую игровую функциональность по расчету повреждений и т.д. всякие игровые формулы в коде C/C++, постоянно пере компилируя проект игры. Это можно скинуть на программиста-скриптовика, разгрузив программиста на C/C++. Научить программировать на Lua намного проще чем на С/С++. Более того, возможно можно переписав скрипт, сразу же перезагрузить его с консоли, видя результат не выходя из движка/игры никого не дергая и не ожидая результата компиляции.
>А потом мы удивляемся - а почему это новая игра на прилавке выглядит как игры трехлетней давности, а тормозит дай боже? Дык там же все на скриптах, даже >расчет теневых объемов :D
>Зато гибкость, ага.
ну это точно полная фигня. так в скриптах никто не делает.
Правильней примерно так.
Делаем примерно универсальный игровой объект или хотя-бы стремимся к нему. Экспортируем структуру с переменными игровыми которые нужны и движку и скрипту через luabind/tolua++ и т.д. Скрипт это может менять без дополнительных затрат(к примеру lua Stack), движок про это узнает автоматически, к примеру номер анимации или число очков и т.д.
Ну в скрипт предоставить доступ к многим функция движка (GUI, доступ к физическим функциям(не в коем случае не расчет!!!), к система частиц(просто включить остановить/ создать по некому id), доступ к анимации, доступ к звуку). Поиск пути к примеру само собой это не задача скрипта. Его задача получить результат поиска.
Такой подход гибок и универсален. Да не спорю есть минусы. Но плюсов больше.
Не нужно считать писать/менять/подгонять всякую игровую функциональность по расчету повреждений и т.д. всякие игровые формулы в коде C/C++, постоянно пере компилируя проект игры. Это можно скинуть на программиста-скриптовика, разгрузив программиста на C/C++. Научить программировать на Lua намного проще чем на С/С++. Более того, возможно можно переписав скрипт, сразу же перезагрузить его с консоли, видя результат не выходя из движка/игры никого не дергая и не ожидая результата компиляции.
Правка орфография, запятые.
Правка: 10 мар. 2009 15:06