|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
как работает DirectX и OpenGL?
Здравствуйте, из названия темы думаю ясно что меня интересует, если подробно, меня интересует именно технический вопрос их работы, какие драйвера и библиотеки они используют, к каким функциям обращаются, работают ли они как драйвера или просто используют драйвера виндоус, и т д, в общем, то что нужно знать чтобы создать свой аналог directX или OpenGL, не обязательно создать, но хотя бы теоретически, а может чуть чуть практически поковыряться в этом, в общем вопрос вкратце:
с чем и как DirectX или OpenGL разговаривает в виндоус для своей работы? |
#2
|
||||
|
||||
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
Цитата:
Даже если вы на Delphi подключаетесь к этим библиотекам, то на изучение всех функций у вас уйдёт не один год (учитывая постоянный выход новых версий). |
#4
|
||||
|
||||
Цитата:
А вообще мне тоже интересно. Работа с дровами по канону - CreateFile(fopen) + Read/WriteFile(fread/fwrite) + DeviceIOControl(ioctl). Никогда не понимал, как через эти функции можно заставить видеокарту быстро(!!) нарисовать что-то. Насколько я понимаю, OpenGL заполняет буферы (конвертирует все данные в нужные форматы, включая текстуры, координаты, шейдеры) и копирует это дело в память видеокарты (которая отображена в ВАП), после чего через fread/fwrite/ioctl отдает команду. Но в этом я не уверен, это только догадки на базе небольшого кол-ва инфы, что я читал на эту тему. jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
DirectX и OpenGL это же не только команды пересылки данных видеокартам, это и куча математики (геометрии). Например, вращение можно выполнять не только матрицами, но и кватернионами. Освещение, которое было в 9 версии в виде функций, исчезло из 10 и 11 версий, теперь надо писать программы на языке шейдеров. Как создать тень. И т.д и т.д.
|