У меня возникло желание создать небольшую игру для Windows. Появился непростой вопрос графики. Смотрел некоторые статьи, везде сразу пишут: DirectX или OpenGL. А так ли они необходимы? Можно ли для вывода графики на экран обойтись без DirectX и OpenGL ? Насколько я понял, основной принцип работы этих библиотек при выводе графики являет собой передачу графических данных из буфера непосредственно драйверу видеокарты, в обход графического интерфейса Windows. Если это так, то тогда для вывода графики можно работать с драйвером без этих библиотек. Я слышал, что каким-то образом делают демосцены без X-ов и GL-ов.
Вообщем DirectX - это вроде моста который передает твой код видеокарте, причем его задача упростить создание графических приложений(!). Он создавался для того чтобы не программировать игры под каждую конкретную видяху, то есть для совместивости. Если есть желание создать 100 одинаковых игр то пиши напрямую. P.S. Исползовать DirectX стоит хотя бы потому что ты всегда сможешь найти ответ на появившийся вопрос и дело не встанет на полпути.
Alexei_WASM Пойдем по порядку. А так ли они необходимы? Ты можешь использовать GDI. Если делать спрайтовую игру, то можно и на GDI писать, так как основная функция BitBlt реализуется аппаратно. Если хочешь что-то более сложное то следует перейти на OpenGL и DirectX которые предоставляет возможность использовать все(почти все) аппаратные возможности твой техники. Многие до сих пор пишут под ДОСам. Есть еще библиотеки для прямого доступа к видео памяти из-под виндоуса. Если хочешь можешь пообщаться напрямую с драйвером. Вот только тебе придется написать для каждого драйвера свой код. Производители видео карт по мима драйверов поставляют свою реализацию OpenGL.
Производители Nvidia и AMD-ATI в дровах предоставляют поддержку OpenGL. Что тут странного? Никто не гарантирует, что в стандартной поставке операционки по умолчанию будет самая последняя версия.
Alexei_WASM Почитай вот это http://www.rsdn.ru/article/gdi/gdiplus2mag.xml про GDI+. У меня выдает нормально FPS думаю игруху простенькую можно сделать. В аттаче моя поделка типа огонь на GDI Мож чем-нить поможет.
keYMax Йаду два раза в день после еды вместе с Pavia. Системная opengl32.dll это и есть "реализация OpenGL". Установка драйверов видяхи ее не подменяет. Если же аффтар под "реализацией OpenGL" имел ввиду код для доступа к аппаратным ресурсам, к которому обращаются функции opengl32.dll, то надо было написать не Производители видео карт по мима драйверов поставляют свою реализацию OpenGL. а Реализация OpenGL входит в состав драйверов видео карт.
keYMax Я не извращаю слова. Просто чтобы сказать такое: должно отсутствовать понимание предметной области.