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

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

Почему динамический буфер D3DUSAGE_DYNAMIC в D3DPOOL_DEFAULT медленнее чем в D3DPOOL_MANAGED23 мая 200818:07#11
>я попробую обязательно, но не до конца понимаю почему это должно быстрее работать
все просто:
1) лочим маленькими кусками с D3DLOCK_NOOVERWRITE это значит что если это часть еще не отрисовалась то не будут данные записаны что даст оптимизиацию драйверу,
2) дальше в конце буфера мы лочим с D3DLOCK_DISCARD в этому случае возращается указатель который не инициализируется данными которые были ранее в буфере.
что тоже достаточно быстро
D3DPOOL_MANAGED и E_OUTOFMEMORY23 мая 200810:58#3
yuraiu02
возможно можно. Есть в Windows ккая-то утилита которая может вывести информацию которую скидывает функция OutputDebugString(при режиме DX Debug используется она скорей всего т.к. в окно отладки выводится информация)
Перезапись VBO в OpenGL22 мая 200818:23#1
Minsk and Boo
ты точно со своими смещениями для нормалей и т.д. ничего не напутал? что говори glGetError()?
попробуй упростить задачу к примеру создай буфер просто с вершинами и индексами (без нормалей и текстурных координат) пробуй перезаписывать и проверять утечку.
D3DPOOL_MANAGED и E_OUTOFMEMORY22 мая 200818:19#1
yuraiu02
а что говорит DX Debug?
Как лучше сделать класс SkinnedMesh? (варианты)22 мая 200812:03#1
Dark Minstrel
>CAnimatedMesh: public CMesh
у меня сделано так-же. Это верный подход я думаю.
В случае скелетной анимации в наследуемом SkinnedMesh классе у меня прсот набор костей и кадров. Этот класс не знает ничего о самой геометрии. Он только формат вершин меняет для меша ну и вершинный буфер. В методе Update считается  иерерахия матриц и они скидываются в шейдер. Рендер берет из Mesh все что нужно и рисует, и даже не знает какой это мешь анимированный или нет.Но у меня правда 1 скелет поэтому проблем с субмешами нет.
Я думаю нужно делать варинат когда есть CAnimatedMesh c группой костей влияющих на какой-то одельный subMesh из CMesh.
хелп с DXT21 мая 200811:37#1
MrShoor
посмотри пример из DirectX SDK DDSWithoutD3DX, он в папке Direct3D10 но есть реализация под Direct3D9
Как задать область для рисования в OpenGl21 мая 200811:33#7
alex19921992
потому что совершенно это разные вещи.
d3d to opengl wrapping15 мая 200818:42#48
The Andreyp
как я тебя понимаю :)
уменьшение CRT15 мая 200815:23#5
Nomad
>к сожалению, от new/delete отказываться не хочется.. жаль црт нельзя отключать частями(
а перегрузить его самому напрямую вызывая внутри HeapAlloc/HeapFree?
Толщина линий в DX15 мая 200811:17#2
Rean
используй ID3DXLine
glslDevil - вышел аццкий дебаггер GLSL-шейдеров (OpenGL)14 мая 20080:31#27
Под вистой internal debug error :-(
PSM на OpenGL13 мая 200810:58#12
Executor
>А в чём тут преступление?
я пытаюсь переделать тени из Direct3D в OpenGL. Преступление в том что в Direct3D я использую D3DFMT_R32F(можно и D3DFMT_R16F тут дело в точности как ты сказал ) этот формат для 1 канала Red, а GL_RGBA16F_ARB как я понимаю для всех каналов и это большой расход памяти. Поэтому аналогично использовать GL_LUMINANCE32F_ARB(GL_LUMINANCE16F_ARB). В этом у меня не создается FBO на 6600GT при использовании GL_LUMINANCE32F_ARB, а на 8600GT все ок. если использовать GL_RGB32F_ARB то не создается не на 1 карте. Создается на всех картах GL_RGBA16F_ARB. Но если взять отрендеренную текстуру то ее внешний вид не такой как в Direct3D. т.е. она не содержит глубины. В случае использования GL_RGBA16F_ARB и вывода текстуры глубины на экран она содержит просто  отрендеренную сцену :(. Хотя используется тот-же шейдер что и в Direct3D(я через Cg делаю). Может я не так использую FBO ?
ты можешь скинуть код создания FBO и использования? дабы не захламлять тему моржно продолжить общение в ICQ если не против.
PSM на OpenGL11 мая 200816:40#8
Exelents
>Слушай, я сейчас поставил свежие дрова (номер 163) и оно (FBO + F32 на nVidia) заработало. Может стоит обновить дрова?
у меня интсрументальные дрова вместе c PefHUD поэтому не хочется переустанавливать другие.
Я немного сдвинулся с места оказывается я сделал ошт\ибку я использовал GL_RGB32F_ARB а правильней GL_LUMINANCE32F_ARB. В я в аську к тебе постучался. Ты какую константу использовал?

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

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