Сообщения на форуме пользователя Andrey (193 стр.)
Чтение данных из файла | 23 фев. 2006 | 19:41 | #1 |
---|
ENGine
что за тип DataStreamPtr ?
а в debug проверял что читается
что за тип DataStreamPtr ?
а в debug проверял что читается
Direct3D: Ошибка D3DERR_DRIVERINTERNALERROR и нет изображения на пустой сцене на картах nVidia | 23 фев. 2006 | 17:09 | #2 |
---|
?
Новые версии ODE и Tokamak | 23 фев. 2006 | 15:13 | #12 |
---|
novice
ну и как Tokamak?
ну и как Tokamak?
Причины нелюбви к DirectX среди участников GameDev.ru | 22 фев. 2006 | 21:32 | #132 |
---|
ну вот опять началось... :)
Вот мои мысли начал с OpenGL DirectInput сразу изучил.
теперь на работе использую Direct3D, на OpenGL программирую для души и для общего развития, сейчас в движке вообще реализовал мультирендер работает неплохо, правда пока нет наворото с шедерами.
Оба API Direct3D и OpenGL мне нравятся предпочтения особого не могу дать не одному...
Но DirectShow точно тормоз и DirectSound не нравиться... OpenAL намного проще
а вообще счиатаю нужно знать и DirectX и OpenGL
Darth
>парсеров для различных файлов полно в инете, пять минут на то, чтобы понять, пять, чтобы обернуть и радуйся
>да и ваш DirectSound сосёт у OpenAL (всмысле по структуре, легкости и платформенности)
верно говоришь
=A=L=X=
>Бред.
>Во первых DX от версии к версии и так меняется. Так ведь в лучшую же сторону.
>Во вторых Билли никогда не будет манипулировать рынком во вред себе. Следовательно никаких неприятностей у >программистов с D3D, могущих способствовать уходу их с него на OGL не будет.
>В третьих никаким монополизмом тут не пахнет и не будет пахнуть долгие годы. OGL остаётся в Windows и он будет там >вероятно вечно. 100%-но функциональный, со всеми екстеншнами и т.п., что бы не вопили паникеры от OGL обчитавшиеся >статей. Ибо 100%-ая обратная совместимость - это главный конек MS за счет которого она и выигрывает гонку операционок.
>Представьте себе на минуту что 50% (т.е. OGL-ных) современных и самых известных и раскрученных игр вдруг перестанет >работать на Win Vista или начнут работать с дикими тормозами.
>Знаете чем это будет пахнуть для MS? Резким падением темпов продаж Vist-ы. Резким и стремительным, как понос. Люди >просто не будут обновлять себе операционку где игрушки работают нормально на другую, где половина игр не работает >или тормозит. Не секрет что геймерство - один из главных стимулов для приобретения компов и операционок в частном >секторе. MS НИКОГДА НЕ ПОЙДЕТ НА ТАКОЕ РАЗОРЕНИЕ.
>Так что успокойтесь. Полнофункциональному OpenGL-ю быть. А D3D и вправду неплох.
Абсолютно согласен!!!
OpenGL и DirectX должны существовать оба и имеют на это право увсех плюсы и минусы.
Вот мои мысли начал с OpenGL DirectInput сразу изучил.
теперь на работе использую Direct3D, на OpenGL программирую для души и для общего развития, сейчас в движке вообще реализовал мультирендер работает неплохо, правда пока нет наворото с шедерами.
Оба API Direct3D и OpenGL мне нравятся предпочтения особого не могу дать не одному...
Но DirectShow точно тормоз и DirectSound не нравиться... OpenAL намного проще
а вообще счиатаю нужно знать и DirectX и OpenGL
Darth
>парсеров для различных файлов полно в инете, пять минут на то, чтобы понять, пять, чтобы обернуть и радуйся
>да и ваш DirectSound сосёт у OpenAL (всмысле по структуре, легкости и платформенности)
верно говоришь
=A=L=X=
>Бред.
>Во первых DX от версии к версии и так меняется. Так ведь в лучшую же сторону.
>Во вторых Билли никогда не будет манипулировать рынком во вред себе. Следовательно никаких неприятностей у >программистов с D3D, могущих способствовать уходу их с него на OGL не будет.
>В третьих никаким монополизмом тут не пахнет и не будет пахнуть долгие годы. OGL остаётся в Windows и он будет там >вероятно вечно. 100%-но функциональный, со всеми екстеншнами и т.п., что бы не вопили паникеры от OGL обчитавшиеся >статей. Ибо 100%-ая обратная совместимость - это главный конек MS за счет которого она и выигрывает гонку операционок.
>Представьте себе на минуту что 50% (т.е. OGL-ных) современных и самых известных и раскрученных игр вдруг перестанет >работать на Win Vista или начнут работать с дикими тормозами.
>Знаете чем это будет пахнуть для MS? Резким падением темпов продаж Vist-ы. Резким и стремительным, как понос. Люди >просто не будут обновлять себе операционку где игрушки работают нормально на другую, где половина игр не работает >или тормозит. Не секрет что геймерство - один из главных стимулов для приобретения компов и операционок в частном >секторе. MS НИКОГДА НЕ ПОЙДЕТ НА ТАКОЕ РАЗОРЕНИЕ.
>Так что успокойтесь. Полнофункциональному OpenGL-ю быть. А D3D и вправду неплох.
Абсолютно согласен!!!
OpenGL и DirectX должны существовать оба и имеют на это право увсех плюсы и минусы.
Direct3D: Ошибка D3DERR_DRIVERINTERNALERROR и нет изображения на пустой сцене на картах nVidia | 22 фев. 2006 | 21:00 | #1 |
---|
вот так рендерю сцену пустую сцену, обработку ошибок написал специально для Release версии
и вот все hr == S_OK кроме самого последнего:
hr = pDevice -> Present( NULL, NULL, NULL, NULL);
hr == D3DERR_DRIVERINTERNALERROR
эта ошибка как при Release так и при Debug.
проект собран на Visual C++ .Net 2003, DirectX 9.0 SDK за февраль 2006.
стоит DirectX SDK 9.0c. Тип последней видеокарты на которой я это пробовал GeForce FX 5500
что это может быть? что я делаю не так?
Спасибо всем заранее.
С Уважением Андрей.
//отображение сцены void Direct3DRender::RenderScene(float dt) { const char* err = "Ошибка Direct3D: "; HRESULT hr = 0; //очистка сцены hr = pDevice -> Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0f, 0 ); if (hr != S_OK) OutMessage(Console::ERROR_MESSAGE, "%s%s%s", err, DXGetErrorString9(hr), "\n" ); //начало отрисовки сцены hr = pDevice -> BeginScene(); .... тут все закоментировано... //проверка ошибок if (hr != S_OK) OutMessage(Console::ERROR_MESSAGE, "%s%s%s", err, DXGetErrorString9(hr), "\n" ); //конец отрисовки сцены hr = pDevice -> EndScene(); if (hr != S_OK) OutMessage(Console::ERROR_MESSAGE, "%s%s%s", err, DXGetErrorString9(hr), "\n" ); hr = pDevice -> Present( NULL, NULL, NULL, NULL); if (hr != S_OK) OutMessage(Console::ERROR_MESSAGE, "%s%s%s", err, DXGetErrorString9(hr), "\n" ); } |
hr = pDevice -> Present( NULL, NULL, NULL, NULL);
hr == D3DERR_DRIVERINTERNALERROR
эта ошибка как при Release так и при Debug.
проект собран на Visual C++ .Net 2003, DirectX 9.0 SDK за февраль 2006.
стоит DirectX SDK 9.0c. Тип последней видеокарты на которой я это пробовал GeForce FX 5500
что это может быть? что я делаю не так?
Спасибо всем заранее.
С Уважением Андрей.
Правка: 22 фев. 2006 21:02
Direct3D: Ошибка D3DERR_DRIVERINTERNALERROR и нет изображения на пустой сцене на картах nVidia | 22 фев. 2006 | 21:00 | #0 |
---|
Привет всем!!!
не могу приложить ума что такое происходит.
Драйвера свежие все игры идут, на одной из карт при инициализации OpenGL в логе пишеться OpenGL 2.0...!!!
итак как обычно создаю окно создаю сцену при загрузке уровня, вывожу заставку показывающую процент загрузке,
заставка видна!
я думал что у меня что-то при рендере сцены, тгда я все закоментировал и оставил BeginScene, EndScene, Clear и Present.
Выдается ошибка D3DERR_DRIVERINTERNALERROR именно на картах от nVidia, на картах Radeon все отлично работает!!
разумеется пример код:
вот так рендериться заставка:
вот так инициализируется Direct3D:
не могу приложить ума что такое происходит.
Драйвера свежие все игры идут, на одной из карт при инициализации OpenGL в логе пишеться OpenGL 2.0...!!!
итак как обычно создаю окно создаю сцену при загрузке уровня, вывожу заставку показывающую процент загрузке,
заставка видна!
я думал что у меня что-то при рендере сцены, тгда я все закоментировал и оставил BeginScene, EndScene, Clear и Present.
Выдается ошибка D3DERR_DRIVERINTERNALERROR именно на картах от nVidia, на картах Radeon все отлично работает!!
разумеется пример код:
вот так рендериться заставка:
//отображение процесса загрузки void Direct3DRender::DrawLoading(const char* str...) const { HRESULT hr = pDevice -> Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 25, 0), 1.0f, 0 ); hr = pDevice -> BeginScene(); //Буфер для текста char strText[256] = {'\0'}; va_list argumentPtr; va_start(argumentPtr, str); vsprintf(strText, str, argumentPtr); va_end(argumentPtr); if (_text) //вывод посредине экрана эта функция ренедрит текст через интерфейс ID3DXFont DrawText(_text, 0x7f7f0000, currentMode.GetWidth() / 2 - 10, currentMode.GetHeight() / 2, strText); hr = pDevice -> EndScene(); hr = pDevice -> Present( NULL, NULL, NULL, NULL); } |
//Инициализация bool Direct3DRender::InitRender(HWND hWnd, bool videoMode) { try { OutMessage(Console::INFO_MESSAGE, "%s", "Инициализвация Direct3D рендера...\n"); //для результата HRESULT hr = 0; if (videoMode)//если нужно инициализировать видео режим InitVideoModes();//тут инициализация видережима чере СhangeDisplaySettings OutMessage(Console::INFO_MESSAGE, "%s", "Создание основного объекта Direct3D:"); //создать основной объект Direct3D pD3D = Direct3DCreate9(D3D_SDK_VERSION); if (!pD3D) throw "Не могу создать устройство Direct3D"; OutMessage(Console::INFO_MESSAGE_NO_TIME, "%s", " Ok\n"); //массив способов обработки вершин unsigned long BehaviorFlags[] = { D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_SOFTWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING }; unsigned int i = 0; D3DDISPLAYMODE d3ddm; memset(&d3ddm, 0, sizeof(D3DDISPLAYMODE)); //получить информацию о видеоадаптере hr = pD3D -> GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm); if (hr != S_OK) throw DXGetErrorString9(hr); // D3DPRESENT_PARAMETERS pPresentationParameters; //очистка структуры memset(&pPresentationParameters, 0, sizeof(pPresentationParameters)); //полноэкранный режим pPresentationParameters.Windowed = FullScreen; //вертикальная синхронизация pPresentationParameters.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; //формат обратного буфера pPresentationParameters.BackBufferFormat = d3ddm.Format; pPresentationParameters.SwapEffect = D3DSWAPEFFECT_DISCARD; pPresentationParameters.EnableAutoDepthStencil = TRUE; pPresentationParameters.AutoDepthStencilFormat = D3DFMT_D16; pPresentationParameters.hDeviceWindow = hWnd; //pPresentationParameters.MultiSampleType = D3DMULTISAMPLE_3_SAMPLES; OutMessage(Console::INFO_MESSAGE, "%s", "Создание устройства Direct3D:"); for (i = 0; i < 3; i++) { //получить флаг unsigned long flag = BehaviorFlags[i]; //создать устройство hr = pD3D -> CreateDevice(D3DADAPTER_DEFAULT, //адаптер по умолчанию D3DDEVTYPE_HAL, // hWnd, //Нандль окна flag, // &pPresentationParameters, &pDevice); if (hr == S_OK) break; } if (hr != S_OK) throw DXGetErrorString9(hr); OutMessage(Console::INFO_MESSAGE_NO_TIME, " Ok\n"); OutMessage(Console::INFO_MESSAGE, "%s", "Создание стека матриц..."); hr = D3DXCreateMatrixStack(0, &matStack); if (hr != S_OK) { OutMessage(Console::ERROR_MESSAGE, "%s%s%s", "Ошибка Direct3D: ", DXGetErrorString9(hr), "\n" ); } else OutMessage(Console::INFO_MESSAGE_NO_TIME, "%s", " Ok\n"); OutMessage(Console::INFO_MESSAGE_NO_TIME, "%s", " Ok\n"); ..тут всевозможные настройки Direct3D текстуры, освещение и т.д. //инициализация текста TextInit(TEXT_HEIGHT, TEXT_WIDTH, "Times New Roman", _text); ..... //применить к камере тут настройка перспективной проекции ApplyCamera(currentMode.GetWidth(), currentMode.GetHeight()); .... OutMessage(Console::INFO_MESSAGE, "%s", "инициализвация Direct3D рендера завершена\n"); .... } catch (const exception& e ) { OutMessage(Console::ERROR_MESSAGE, "%s%s", " Произошло исключение C++: ", e.what()); return false; } catch(const char* Message) { OutMessage(Console::ERROR_MESSAGE, "%s%s%s", "Ошибка Direct3D: ", Message, "\n"); return false; } return true; } |
Правка: 22 фев. 2006 21:03
"Общение" игровых объектов | 22 фев. 2006 | 19:40 | #33 |
---|
-
Новые версии ODE и Tokamak | 22 фев. 2006 | 18:07 | #7 |
---|
novice
пожалуйста, дай мне знать как вообще Tokamak, просто начал программировние физики с него изучать...
пожалуйста, дай мне знать как вообще Tokamak, просто начал программировние физики с него изучать...
Кто читал книгу Дизайн и эволюция языка C++, стоит ли ее покапать? | 22 фев. 2006 | 18:04 | #4 |
---|
the_siv
сапасибо за инфу.
Жир
>Плюс немного устарела, т.к. написана в 1994 году, до стандартизации.
дак она же за 2006 год!
или ты не про нее? или про ту что за 2000 год?
сапасибо за инфу.
Жир
>Плюс немного устарела, т.к. написана в 1994 году, до стандартизации.
дак она же за 2006 год!
или ты не про нее? или про ту что за 2000 год?
Статья | 22 фев. 2006 | 16:28 | #11 |
---|
Bazzilic
отличная статья есть небольшой недочет насчет DirectX:
>это хорошо вам знакомые OpenGL и DirectX
может быть точнее будет Direct3D вместо DirectX?
еще мало для начинающих сказано про различные движки и сторонние бибилиотеки можно и физические упомянуть звук, скриптовые языки и т.д.
отличная статья есть небольшой недочет насчет DirectX:
>это хорошо вам знакомые OpenGL и DirectX
может быть точнее будет Direct3D вместо DirectX?
еще мало для начинающих сказано про различные движки и сторонние бибилиотеки можно и физические упомянуть звук, скриптовые языки и т.д.
Странно а почему ее не перенести к общем статьям? она же по уровню не хуже других...
Правка: 22 фев. 2006 16:30
Трехмерная компьютерная графика - основные аспекты (комментарии) | 22 фев. 2006 | 16:21 | #6 |
---|
Bazzilic
отличная статья есть небольшой недочет насчет DirectX:
>это хорошо вам знакомые OpenGL и DirectX
может быть точнее будет Direct3D вместо DirectX?
еще мало для начинающих сказано про различные движки и сторонние бибилиотеки можно и физические упомянуть звук, скриптовые языки и т.д.
отличная статья есть небольшой недочет насчет DirectX:
>это хорошо вам знакомые OpenGL и DirectX
может быть точнее будет Direct3D вместо DirectX?
еще мало для начинающих сказано про различные движки и сторонние бибилиотеки можно и физические упомянуть звук, скриптовые языки и т.д.
Правка: 22 фев. 2006 16:29
Builder6.0 | 22 фев. 2006 | 16:08 | #1 |
---|
Serega_mexanik
подобие можно.
компилятор жутко убогий.
для подключения lib нужно их в формат в другой вроде перевести там в каталоге bin есть утелитка для этих целей. или найти либы под borland компилятор.
подобие можно.
компилятор жутко убогий.
для подключения lib нужно их в формат в другой вроде перевести там в каталоге bin есть утелитка для этих целей. или найти либы под borland компилятор.
Новые версии ODE и Tokamak | 22 фев. 2006 | 16:04 | #5 |
---|
novice
все отправил
waker
спасибо :) , сразу и не заметил
все отправил
waker
спасибо :) , сразу и не заметил
Новые версии ODE и Tokamak | 22 фев. 2006 | 14:55 | #3 |
---|
novice
еще раз мыло какое?
еще раз мыло какое?
Настройка компилятора (MS Visual C++ .NET 2003) | 22 фев. 2006 | 14:49 | #4 |
---|
NightShadows
>Отгадай, почему простой inline не всегда делает подстановку? Потому что компилятор почти всегда лучше знает, что нужно >делать. Твой же дефайн явно подразумевает по любому поводу использовать принудительную подстановку.
да знаю я это все
я этот макрос применяю именно там где нужно вставить подстановку например в векторах матрицах и т.д.
в Direct3D математической бибилиотеке именно __forceinline.
Короче надо сделать поправку если хочешь явной подстановки подпбный макрос поможет
>Отгадай, почему простой inline не всегда делает подстановку? Потому что компилятор почти всегда лучше знает, что нужно >делать. Твой же дефайн явно подразумевает по любому поводу использовать принудительную подстановку.
да знаю я это все
я этот макрос применяю именно там где нужно вставить подстановку например в векторах матрицах и т.д.
в Direct3D математической бибилиотеке именно __forceinline.
Короче надо сделать поправку если хочешь явной подстановки подпбный макрос поможет