Ну Blizzard никогда не брал на работу криворуких програмистов, по етому я считаю что пускай рендер и не оптимизирован под OpenGL, но все же сделан не для галочки, ведь игра эта есть и на Mac и под Linux(пускай даж в емуляторе, но на OpenGL). На системе C2D E8200 (3.2) + 4gb ddr2(1066 mhz) + radeon 4870 WoW на средних настройках дает примерно 20-40 фпс, причем абсолютно не игабельно... Драйвера последние на карточку(8.12). В то же время под d3d9 на максимальных настройках в режыме 1920*1200 выдает больше 200 фпс. Откуда взялась такая разница? Это апи OpenGL кривое, кривые руки у Microsoft(автора opengl32.dll), или дрова на радеон кривые? Тоже самое Doom3... Всетаки чуствуется что тормозно оно както работает... Низкополигональные модели делали с высокополигональных и текстуры упращали не просто так... И есчё шейдеры в последний момент убрали... Мне ничего не мешает пользоватся directx, но всеже я хочу пописать 3d приложения(игру скорее всего простенькую) и собственно стою и думаю какое апи лучше взять чтобы учить чтото одно, но учить его достаточно глубоко. Мужыки, нужны советы! Что скажете по етому поводу?
Если писать игры, какой смысл изучать апи OpenGL и DirectX? Возьми бесплатный двиг, коих немеряно и радуйся.
Хочешь игру только под винду, пиши под directX. Хочешь везде что бы работало, пиши под opengl. И еще, у меня часто бывает что падает directx, а opengl работает.
Увы я уже давненько пишу и под Windows и под Linux, так что с портированием на другие платформы я знаком уже давно знаком(я снизу...). Понятно что тут явный фаворит OpenGL, но мне бы есчё скорость понадобилась. Наварачивать графику собираюсь сильно, и если она на половине роботы начнет дико тормозить...
Пиши два рендера, под виндой отлично будет пахать как direct3d так и opengl, а под другими платформами opengl. По сути различия между direct3d и opengl на такие уж большие. Не зря же Blizzard написали два рендера . Если использовать общий подход, а внутри рендера реализовать его особенности(и навороченную графику и тд). Шейдеры можно написать в ATIRenderMonkey для opengl, а затем конвертировать для direct3d. Сначала можно сделать один рендер затем другой и ничего не поменяется.