Использование OpenGL
1 АНАЛИЗ ВЫБРАННОГО ИНСТРУМЕНТАРИЯ
1.6 Сравнение OpenGL и Direct3D (Immediate Mode)
Подытоживая всё выше сказанное, можно отметить некоторые достоинства и недостатки OpenGL и программ, использующих эту библиотеку (в частности, в сравнении с Direct3D).
К достоинствам можно отнести следующее:
- простота использования библиотеки, "чистый" и понятный интерфейс, особенно в сравнении с Direct3D, злоупотребляющей использованием специфических методов, присущих ОС Windows, типа COM/ActiveX;
- переносимость: на данный момент для большинства операционных систем (даже для DOS) и практически всех ускорителей 3D графики существуют варианты OpenGL, в то же время, Direct3D доступна только под семейством ОС Windows, т. е. только на платформах Intel, DEC, PowerPC;
- открытость системы и постоянство интерфейса, в противоположность этому, Direct3D постоянно изменяется для поддержки всех возможных аппаратных новшеств;
- программная эмуляция, хотя и медленная, интерфейсов, не поддерживаемых аппаратно (подход, аналогичный Direct3D Hardware Emulation Layer);
- теоретически на всех ОС (практически только под Unix) библиотека OpenGL должна поддерживать многопоточность, т. е. должна быть реентерабельной; Direct3D, как и большая часть ОС Windows 9x, является нереентерабельной, т. е. требует, чтобы сами приложения обеспечивали взаимоисключающий доступ к его сервисам.
К недостаткам OpenGL можно отнести следующее:
- низкая скорость работы при полной программной эмуляции, например - Microsoft OpenGL (то же относится и к RGB/Ramp драйверам программной эмуляции Direct3D);
- отсутствие непосредственного доступа к аппаратному обеспечению, в противоположность этому, Direct3D обеспечивает полный доступ к аппаратным средствам компьютера;