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

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

Демка ландшафта с лодами.26 мар. 200716:15#10
eHomo
отослал 2 главных файла.
Демка ландшафта с лодами.26 мар. 200715:29#8
eHomo
Вообще с скорость API судя по тестам странная что-то... вроде nVidia  одинаково держит оба API но там скорость поменьше...
тебе как с исходниками быть?
У меня мультирендер для OpenGL использую GL_ARB_vertex_buffer_objects.
при нужном лоде выставляю свой индексный буфер,стартовую вершину, и число поликов.
при построении дерева создаю свой индексный буфер для каждого лода(просто с пропуском индексов).
Демка ландшафта с лодами.26 мар. 200715:07#4
dub
угу спасибо с дырами все ясно...
Демка ландшафта с лодами.26 мар. 200714:46#2
eHomo
Спасибо за тест.
>но хотелось бы исходники глянуть
Конечно ужасный трещины заделаю, и сделаю нормальное текстурирование
Но зато быстро как считаешь?
>но хотелось бы исходники глянуть
что из них интересует?
почему "рендер" у Irrlicht хуже чем у OGRE.26 мар. 200714:22#7
а в случае OpenGL не используется расширение GL_ARB_vertex_buffer_objects
Демка атмосферы (Volume clouds II)26 мар. 200713:48#20
Ilia
Красиво, 37 FPS.
GeForce 6600 256 Мб.
Демка ландшафта с лодами.26 мар. 200713:24#0
Привет всем!
Прошу оценить и протестировать демку ландшафт с лодами.Теперь заделаны щели между лодами.
Демка работает как под Direct3D9 так и под OpenGL, выбор рендера в файле render.cfg в секции [Render]
[Render]
name OpenGL(Direct3D)
по умолчанию стоит Direct3D
Сразу отмечу недостатки:
- отсутствие в демке нормального  продвинутого текстурирования;В демке я не делал смешивания текстур по маске, но такая функциональность присутствует.
- иногда видны подтянутости текстуры при заделывании щелей;
- дублирование вершин в вершинном буфере(поэтому проблематично грузить карты больше 1024x1024);
- присутствие трещин при смене лода.
Клавиши управления:
движение - стрелки вверх,вниз,вправо,влево.
"R" - показать сетку.
"B"-показать/скрыть BBox'ы узлов.
Прошу протестировать на 2 рендерах (Direct3D и OpenGL) написать FPS для каждого из них и тип видеокарты.
Желательно и процессор(хотя он почти не загружен в реализации)

Хочу поблагодарить следующих людей помогавших мне консультацией и исправлением ошибок:
frol
Zeux
sсynet
сама демка.

Дальнейшее развитие это текстурирование освещение и динамическая загрузка при движении камеры.

Кстати, заделываю щели посредством рисования полос полигонов по краям патчей. Как такой способ называется? Случайно не юбочка?
Правка - обновил пост

Правка: 6 ноя. 2010 17:12

вопрос по массивам23 мар. 200718:10#12
Minsk and Boo
std::vector == динамическому массиву + не надо сделать за памятью
Как отследить почему падает glDrawElements ?23 мар. 200717:58#9
0r@ngE
>интересно, а glError тут помогает? Чисто спросил
может быть возможно выдаст GL_INVALID_OPERATION.
вопрос по массивам23 мар. 200710:50#9
OpenGL
обращение к данным в памяти выделенной статически float[1000] быстрей чем если бы эти данные находились бы в динамической памяти выделенной new(std::vector)/malloc
просто разница в ассемблерных командах и вроде в косвенной адресации.
Как отследить почему падает glDrawElements ?23 мар. 200710:39#1
Vulcan
>но при проверке такого не наблюдается.
а как проверяешь? если glGetError то врядли это поможет, хотя не уверен.
Сложновато это возможно тебе поможет gDEBugger.
Ошибка типичная неверно пишешь/обращаешься к данным в видеопамяти.
Правда ли что программы написанные под более ранние версии Directx не работают в Directx1022 мар. 200711:59#21
LIVe
>Я даже не говорю как там будет обстоять дело с DOS играми.
не запускаются в полноэкранном режиме :(
Вычисление BoundingBox для сабсета Х - модели22 мар. 200711:56#2
Osiris
смотри внимательней SDK!!!!
ID3DXMesh::GetAttributeTable
далее поиск по форуму:
http://www.gamedev.ru/code/forum/?id=56105
http://www.gamedev.ru/code/forum/?id=32217
http://www.gamedev.ru/code/forum/?id=52802
ну вот примерно так:
DWORD NumTable;
D3DXATTRIBUTERANGE* pAttrTable;
// Получаем количество таблиц
pLocalMesh->GetAttributeTable(NULL, &NumTable);
// Создаем массив таблиц
pAttrTable = new D3DXATTRIBUTERANGE[NumTable];
// Получаем таблицы аттрибутов
pLocalMesh->GetAttributeTable(pAttrTable, NULL);
далее выципляешь по этим данным куски геометрию из меша, дальше простет AABB, на этот вопрос у меня ушло 5 мин...
Помогите с передачей констант в шейдеры 1.1 (DirectX 9, C++)21 мар. 200719:31#14
X9900
Вот так с таблицей констант:
// для вершинного шейдера
g_pPerpixelLightingVSConsts->SetMatrix(g_pd3dDevice, "matWorldViewProjection", &matWorldViewProjection);
g_pPerpixelLightingVSConsts->SetMatrix(g_pd3dDevice, "matWorldViewProjection", &matWorldViewProjection);
g_pPerpixelLightingVSConsts->SetVector(g_pd3dDevice, "vecLightDir", &vecLightDir);
// для пиксельного шейдера
g_pPerpixelLightingVSConsts->SetVector(g_pd3dDevice, "ambientColor", &ambientColor);
g_pPerpixelLightingVSConsts->SetFloat(g_pd3dDevice, "ambientIntensity", ambientIntensity);
g_pPerpixelLightingVSConsts->SetVector(g_pd3dDevice, "diffuseColor", &diffuseColor);
g_pPerpixelLightingVSConsts->SetFloat(g_pd3dDevice, "diffuseIntensity", diffuseIntensity);

Помогите с передачей констант в шейдеры 1.1 (DirectX 9, C++)21 мар. 200719:24#13
X9900
тебе нужно как я понял передать вот что в вершинный шейдер:
float4x4 matWorldViewProjection; 
float4x4 matWorld; 
float4 vecLightDir; 
делается это так:
g_pd3dDevice->SetVertexShaderConstantF(0, &matWorldViewProjection._11, 4);
g_pd3dDevice->SetVertexShaderConstantF(4, &matWorldViewProjection._11, 4);
g_pd3dDevice->SetVertexShaderConstantF(8, &vecLightDir.x, 4);
и в пиксельный:
float4 ambientColor; 
float ambientIntensity; 
float4 diffuseColor; 
float diffuseIntensity; 
делается это так:
g_pd3dDevice->SetPixelShaderConstantF(0, &ambientColor.x, 4);
g_pd3dDevice->SetPixelShaderConstantF(4, &ambientIntensity, 1);
g_pd3dDevice->SetPixelShaderConstantF(5, &diffuseColor.x, 4);
g_pd3dDevice->SetPixelShaderConstantF(9, &diffuseIntensity, 1);
Тебе остается определить все необходимые перменные в коде C++ и передать так как я показал.
либо используй таблицу констант которую ты создал. Если непонятно могу написать с ней.

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

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