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

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

Вода и шейдер17 янв. 200810:58#68
Osiris
покажи как ты текстуру создаешь m_pTextureHeight для Render Target'а
у нее какой формат? должен быть D3DFMT_D24S8 как и при создании DepthStensil
>А каким образом он должен очищаться, у меня действительно нет никакой очистки, по карйней мере я не вижу - превел единственное место, где используется depth stencil surface.
попробуй поставить
pDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);
// РАБОТАЕМ С ЭФФЕКТОМ КАРТЫ ВЫСОТ
....
Вода и шейдер16 янв. 200819:29#63
Osiris
DX Debug что говорит?
Вода и шейдер16 янв. 200818:46#56
Osiris
TotemLog.log:
Wed Jan 16 18:28:52 2008 Begin
Wed Jan 16 18:28:52 2008 CDX9E3DEngine::Run()
Wed Jan 16 18:28:52 2008 CDX9E3DEngine::InitInterfaces(): OK
Wed Jan 16 18:28:52 2008 CDX9E3Dapp::InitialD3D(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DRender::CheckWindowMode(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DApp::CreateWnd(): OK
Wed Jan 16 18:28:52 2008 Processor:               Intel(R) Pentium(R) 4 CPU 3.00GHz
Wed Jan 16 18:28:52 2008 Video: NVIDIA GeForce 6600
Wed Jan 16 18:28:52 2008 Pixel Shader: 3.0
Wed Jan 16 18:28:52 2008 Vertex Shader: 3.0
Wed Jan 16 18:28:52 2008 Max Texture Width: 4096
Wed Jan 16 18:28:52 2008 Max Texture Height: 4096
Wed Jan 16 18:28:52 2008 Texture format D3DFMT_A8R8G8B8 :YES
Wed Jan 16 18:28:52 2008 Texture format D3DFMT_A16B16G16R16 :YES
Wed Jan 16 18:28:52 2008 Texture format D3DFMT_L16 :YES
Wed Jan 16 18:28:52 2008 Depth stencil surface format D3DFMT_D24S8 :YES
Wed Jan 16 18:28:52 2008 Window mode: 1
Wed Jan 16 18:28:52 2008 Resolution X: 1024
Wed Jan 16 18:28:52 2008 Resolution Y: 768
Wed Jan 16 18:28:52 2008 Multisample Type: 0
Wed Jan 16 18:28:52 2008 CDX9E3DRender::InitialD3DDevice(): OK
Wed Jan 16 18:28:52 2008 CDX9E3Dinput::InputInit(): OK
Wed Jan 16 18:28:52 2008 CDX9E3Dinput::KeyboardInit(): OK
Wed Jan 16 18:28:52 2008 CDX9E3Dinput::MouseInit(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DScene::InitFPSCounter(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DScene::InitScreenText(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DScene::InitGrahicsResManager(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DScene::InitCameraManager(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DScene::InitSceneTree(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DScene::InitLightManager(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DScene::InitRenderSystem(): OK
Wed Jan 16 18:28:52 2008 CDX9E3DScene::InitGUIManager(): OK
Wed Jan 16 18:28:52 2008 CScene::Init() : Begin
Wed Jan 16 18:28:52 2008 CDX9E3DScene::CreateSceneTree(): OK
Wed Jan 16 18:28:52 2008 CScene::Init() : Create GUI
Wed Jan 16 18:28:52 2008 CDX9E3DActiveWater::Init() : InitBuffers()
Wed Jan 16 18:28:52 2008 CDX9E3DActiveWater::Init() : LoadManagedTextures()
Wed Jan 16 18:28:52 2008 CDX9E3DActiveWater::Init() : InitNoise()
Wed Jan 16 18:28:52 2008 CDX9E3DActiveWater::Init() : LoadEffects()
Wed Jan 16 18:28:53 2008 CScene::Init() : End
Wed Jan 16 18:28:53 2008 CDX9E3DEngine::Run() : Start Main Loop
Wed Jan 16 18:28:58 2008 CDX9E3DEngine::Run() : Release
Wed Jan 16 18:28:58 2008 End
TotemLog_w1.log:
Wed Jan 16 18:28:35 2008 Begin
Wed Jan 16 18:28:35 2008 CDX9E3DEngine::Run()
Wed Jan 16 18:28:35 2008 CDX9E3DEngine::InitInterfaces(): OK
Wed Jan 16 18:28:35 2008 CDX9E3Dapp::InitialD3D(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DRender::CheckWindowMode(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DApp::CreateWnd(): OK
Wed Jan 16 18:28:35 2008 Processor:               Intel(R) Pentium(R) 4 CPU 3.00GHz
Wed Jan 16 18:28:35 2008 Video: NVIDIA GeForce 6600
Wed Jan 16 18:28:35 2008 Pixel Shader: 3.0
Wed Jan 16 18:28:35 2008 Vertex Shader: 3.0
Wed Jan 16 18:28:35 2008 Max Texture Width: 4096
Wed Jan 16 18:28:35 2008 Max Texture Height: 4096
Wed Jan 16 18:28:35 2008 Texture format D3DFMT_A8R8G8B8 :YES
Wed Jan 16 18:28:35 2008 Texture format D3DFMT_A16B16G16R16 :YES
Wed Jan 16 18:28:35 2008 Texture format D3DFMT_L16 :YES
Wed Jan 16 18:28:35 2008 Depth stencil surface format D3DFMT_D24S8 :YES
Wed Jan 16 18:28:35 2008 Window mode: 1
Wed Jan 16 18:28:35 2008 Resolution X: 1024
Wed Jan 16 18:28:35 2008 Resolution Y: 768
Wed Jan 16 18:28:35 2008 Multisample Type: 0
Wed Jan 16 18:28:35 2008 CDX9E3DRender::InitialD3DDevice(): OK
Wed Jan 16 18:28:35 2008 CDX9E3Dinput::InputInit(): OK
Wed Jan 16 18:28:35 2008 CDX9E3Dinput::KeyboardInit(): OK
Wed Jan 16 18:28:35 2008 CDX9E3Dinput::MouseInit(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DScene::InitFPSCounter(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DScene::InitScreenText(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DScene::InitGrahicsResManager(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DScene::InitCameraManager(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DScene::InitSceneTree(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DScene::InitLightManager(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DScene::InitRenderSystem(): OK
Wed Jan 16 18:28:35 2008 CDX9E3DScene::InitGUIManager(): OK
Wed Jan 16 18:28:35 2008 CScene::Init() : Begin
Wed Jan 16 18:28:35 2008 CDX9E3DScene::CreateSceneTree(): OK
Wed Jan 16 18:28:35 2008 CScene::Init() : Create GUI
Wed Jan 16 18:28:35 2008 CDX9E3DActiveWater::Init() : InitBuffers()
Wed Jan 16 18:28:35 2008 CDX9E3DActiveWater::Init() : LoadManagedTextures()
Wed Jan 16 18:28:35 2008 CDX9E3DActiveWater::Init() : InitNoise()
Wed Jan 16 18:28:35 2008 CDX9E3DActiveWater::Init() : LoadEffects()
Wed Jan 16 18:28:36 2008 CScene::Init() : End
Wed Jan 16 18:28:36 2008 CDX9E3DEngine::Run() : Start Main Loop
Wed Jan 16 18:28:50 2008 CDX9E3DEngine::Run() : Release
Wed Jan 16 18:28:50 2008 End
Вода и шейдер16 янв. 200818:29#54
Osiris
6600 вода мигнула на первом кадре. Потом воды не было. 20 FPS обе программы.
Каких ключевых слов нет в ваших С++ проектах? :).14 янв. 200820:17#129
jaguard
alex19921992
All
except/finally
с каких это пор это ключевые слова C++???
Каких ключевых слов нет в ваших С++ проектах? :).14 янв. 200820:04#127
не использую только
volatile
explicit
goto
throw
delete
delete [] - в очень редком случае(скоро не будет)
в различных режимах компиляции либо с макросами условной компиляции
try
catch
dynamic_cast
остальное использую все
Quadtree14 янв. 200812:46#40
slava_mib
спасибо за подробности...
Zeux
ага выкачал я это когда-то буду разбираться
Quadtree14 янв. 200810:37#37
slava_mib
>2) берёшь ближайшие к камере несколько штук (только попадающие во фрустум)
объекты? несколько это соколько?
>вдоль каждой внешней (в проекции на экран) грани куба строишь плоскость (2 точки грани + третья точка это положение камеры)
я не понял что с этой плоскоcтью делать дельше?
>4) получаешь фрюстум загораживания дома, ближняя его плоскость может вычисляться поразному, самое простое - взять дальнюю из точек на гранях
а дальняя плоскость это плоскость frustum камеры?
а подробное опиcание в каком документе есть?
AleksGusarov
объекты лучше хранить отдельно, а не большой моделью... либо в твоем случае как-то "выдирать" из большой модели куски геометрии являющиеся объектами

как ефективно сортировать партиклы?10 янв. 200820:08#23
Loriol
ты пробовал std::sort от STLPort с вычислением квадрата расстояния и массив указателей нужно сортировать, ужас у тебя там на одном копировании все ляжет,
смотрел на размер своей струкруры партиклей???
Quadtree10 янв. 200819:59#27
AleksGusarov
рекомендую забить на glBegin()/glEnd() в современных движка где есть OpenGL функций glVertex/glNormal/glTexCoord вообще не должно быть, или ты хочешь что-бы проц был перегружен по "самое небалуйся"?
Quadtree9 янв. 200813:03#17
AleksGusarov
иерархия окружающих объемов. остальное ищи в сети тут на сайте еще в терминах есть.
Quadtree9 янв. 200811:07#14
AleksGusarov
>Все понятно, но как 3 и 4 пункт реализовать?
Пихай данные для рендеринга примерно в такую структуру данных.
struct RenderData {
// материал
Material *mat;
// тут будет все что нужнро для glDrawElements(как я понял пишешь на OpenGL) 
std::vector<GeometryData> geometryData;
....
};
заведи массив RenderData(можно std::hash_map/std::map) по числу материалов
алгоритм сортировки простой: пришел батч с материалом. Ищем в массиве такой материал, если нет, то добавляем новую структуру, если есть то добавляем данные для рендеринга в него.
минимальные переключения можно делать путем написания менеджера текстур который проверяет ну дублирование установок текстур.
itoa меня посылает8 янв. 20086:22#12
ITIhonov
>С какого перепугу она вдруг нестандартной-то стала? Deprecated, да. Но нестандартной?
это не ANSI C, нет гарантий переносимости на другие платформы и компиляторы, как в случае sprintf/snprintf
itoa меня посылает8 янв. 20082:08#10
keltar
>Это нестандартная функция, use sprintf/snprintf.
эх она то нестандартная но быстрее ANSI C sprintf/snprintf :(
у себя забил ее макросами #ifdef _WIN32....
Quadtree8 янв. 20081:58#4
AleksGusarov
делал как-то я пару лет назад как ты 1 большую модель с ландшафтом с деревьями и т.д.(70000 поликов) все загонял в 1 вершинный буфер и рендерил по кускам правда там было Octree.
>как разбивать модель на части, как оптимально осуществлять отрисовку вычисленно-видимых частей модели при наличии в >модели большого числа разных материалов(разные текстуры для разных групп полигонов).
подробный алгоритм такой: ходишь по поверхностям(группа полигонов принадлежащих 1 материалу)
1) проверяешь полигон на попадание в узел(тут смотреть нужно сразу ситуацию попадает полностью/частично-> резать плоскостями либо дублировать/помечать и т.д.);
2) заносишь в узел;
3) проверка числа поликов в узле, если условие рекурсии прекратилось, то узел это лист. А теперь самое важное:
В этом случае сохраняешь в листе информацию для рендеринга, а именно число вершин(нужных для отрисовки этого листа), смещение внутри вершинного буфера, стартовый индекс и число полигонов. Первые 2 параметра нужны исключительно для случая если используешь Direct3D, т.е. для IDirect3DDevice9::DrawIndexedPrimitive, если ты используешь OpenGL то для glDrawElements/glDrawRangeElements это не нужно.
4) повторяем пока не прошли все полигоны, иначе конец.
При добавлении каждого полигона нужно учитывать к какой поверхности он принадлежит тут уже зависит конкретно от твоей реализации.
Вродибы понятно объяснил Если что непонятно спрашивай, объясню глубже и подробней.

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

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