Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2014, 13:33   #1
Biohazard
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 78
Вопрос как работает DirectX и OpenGL?

Здравствуйте, из названия темы думаю ясно что меня интересует, если подробно, меня интересует именно технический вопрос их работы, какие драйвера и библиотеки они используют, к каким функциям обращаются, работают ли они как драйвера или просто используют драйвера виндоус, и т д, в общем, то что нужно знать чтобы создать свой аналог directX или OpenGL, не обязательно создать, но хотя бы теоретически, а может чуть чуть практически поковыряться в этом, в общем вопрос вкратце:

с чем и как DirectX или OpenGL разговаривает в виндоус для своей работы?
Biohazard вне форума Ответить с цитированием
Старый 27.10.2014, 14:24   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

с драйвером видеокарты, и все это взаимодействие вам недоступно
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.10.2014, 14:42   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Каждое устройство это провайдер, каждый провайдер реализует некий базовый комплект функций и методов, единый для всех и каждого, для базового взаимодействия с устройством.

Так сделано, потому что устройства производятся разными компаниями, разными заводами, разными производителями. А единый стандарт реализуемого интерфейсы позволяет делать 2 вещи:
1. Стандарт всегда работает, в любое время, с любым устройством которое было, есть и будет произведено с поддержкой Windows.
2. По барабану какое устройство в системе, если ОС его классифицирует, устройство заработает.

По тем же принципам можно к ОС подключить любое устройство(с поддержкой ОС), без драйверов и оно заработает, в ограниченном режиме, но заработает. Например монитор 2014 года, успешно заработает под Windows 2000. Потому что реализует базовый комплект методов с помощью которых ОС взаимодействует с ним.

Установка драйверов в систему, "учит" ОС более тесному взаимодействию.

Собственно OpenGL на то и Open. Возьми да посмотри как оно работает

Последний раз редактировалось Человек_Борща; 27.10.2014 в 14:46.
Человек_Борща вне форума Ответить с цитированием
Старый 27.10.2014, 17:40   #4
Biohazard
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 78
По умолчанию

Спасибо, попытаюсь найти исходники OpenGL, а вообще реально создать свою версию OpenGL хотя бы урезанную, или ка к сказал "Пепел Феникса", это недоступно?
Biohazard вне форума Ответить с цитированием
Старый 27.10.2014, 18:20   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Реально, от чего же нет? Но зачем.
Человек_Борща вне форума Ответить с цитированием
Старый 27.10.2014, 18:52   #6
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

OpenGL просто определяет/стандартизирует модель отрисовки, связанные с ней типы и методы. а сама реализация этих методов в рамках OpenGL модели отставлена производителям железа (GPU). поэтому никакого открытого кода низкоуровнего OpenGL нет в природе.

задача невыполнимая. разве что вы делаете видиокарты на своей архитектуре.
f.hump вне форума Ответить с цитированием
Старый 27.10.2014, 21:26   #7
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,782
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
никакого открытого кода низкоуровнего OpenGL нет в природе.
Да нет же, почему? В Linux-ах всяких наверняка что-то должно быть, в других самописных ОС. Вон, даже в "Колибри" что-то было. Какое-то подмножество, полагаю. Не изучал.
Vapaamies вне форума Ответить с цитированием
Старый 27.10.2014, 21:54   #8
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

софтварная реализация OpenGL, когда весь OpenGL происходит на CPU и результат копируется во фреймбуфер?
ну, если это, что нужно, то пускай ищет.
хотя, кому такая херня нужна?
f.hump вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подключить и использовать DirectX или OpenGL в Delphi2010 ??? Warn Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 03.11.2011 20:07
DirectX или OpenGL? Lunex.08 Gamedev - cоздание игр: Unity, OpenGL, DirectX 21 26.04.2010 11:46
OpenGL и DirectX Typ6oJLoJL Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 25.10.2009 21:09
C++ DirectX OpenGL chuvaka4x Общие вопросы C/C++ 4 23.06.2009 12:21