Компьютерная графика. Технологии 3D графики. DirectX, OpenGL, Glide, PhysX.
Кратко теория компьютерной графики.
3D-сцена и графический конвейер Геометрическая стадия. 1. Wireframe ( Каркасное) моделирование поверхности объектов с учетом видимого объема (Camera, Frustum, View Volume). Формирование списка отображаемых объектов. 2. Tesselation. Тесселяция или триангуляция (triangulation): разбиение поверхности на плоские полигональные элементы. Вместо криволинейной поверхности – полигональная модель, представленная вершинами (vertex) 3. Transformation (трансформация) : перемещение, изменение формы посредством матричных преобразований вершин в пределах видимого объема 4. Lighting. Расчет освещенности и затенения (shading) объектов по вершинам. Методы интерполяции для полигональных поверхностей: Гуро (Gouraud shading), Фонга (Phong shading), применение вершинных шейдеров 5.Camera-ViewPort. Проецирование 3D-объекта с сохранением информации о расстоянии (о глубине) каждой из вершин до плоскости проекции 6. Triangle setup. Подготовка (компоновка ) треугольников объекта: генерация текстурных координат; сортировка вершин; отбор и отбрасывание нелицевых граней (culling) Кратко теория компьютерной графики.
3D-ускорители T&L Rasterization Pixel Ops Прикладная программа OpenGL Direct3D Драйвер Видеокарта Взаимодействие с программой при помощи специальных API Ускоряются этапы трансформации, освещения и растеризации
Графические API. Игровой движок. Графический движок. Физический движок. Звуковой движок. Путаница.
DirectX (от англ. direct прямо, напрямую) это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. DirectX Direct3D DirectInput DirectSound DirectPlay DirectShow
OpenGL (Open Graphics Library открытая графическая библиотека, графический API) Широко распространённый графический API для программирования 2D и 3D графики. Разработан в 1992 году фирмой Silicon Graphics Выступает в качестве стандартного и стабильного API на многих программно-аппаратных платформах Спецификация, описывающая набор функций и их применение Производители оборудования создают реализации библиотеки согласно этой спецификации Существуют открытые реализации спецификации OpenGl, например, Mesa3D
OpenGL (Open Graphics Library открытая графическая библиотека, графический API) OpenGL расширяется старые функции не изменяются или удаляются, с каждой версией просто появляются новые.
Glide API для трёхмерной графики, разработанный 3dfx Interactive для видеокарт на основе собственных графических процессоров Voodoo Graphics. Изначально Glide была проприетарной технологией, но впоследствии ее исходный код был раскрыт самой 3dfx. API было предназначено для увеличения производительности графической подсистемы в играх, поддерживающих геометрические и текстурные преобразования в основном в форматах данных, использующихся непосредственно в самих картах. На видеокартах Voodoo впервые действительно приемлемо выполнялись 3D игры, в результате чего Glide получил широкое распространение. Дальнейшее развитие Direct3D от Microsoft и внедрение полной поддержки OpenGL другими производителями графических адаптеров, а также усиливающаяся конкуренция в сфере 3D устройств в конечном счёте стали причиной вытеснения Glide. Glide
PhysX проприетарное связующее программное обеспечение (англ. middleware), кроссплатформенный физический движок для симуляции ряда физических явлений, а также комплект средств разработки (SDK) на его основе. Первоначально разрабатывался компанией Ageia для своего физического процессора PhysX. После того, как Ageia была приобретена nVidia, движок перешёл в собственность компании nVidia, которая продолжает его дальнейшую разработку. nVidia адаптировала движок для ускорения физических расчётов на своих графических чипах с архитектурой CUDA. PhysX может также производить вычисления с использованием обычного процессора. В настоящее время PhysX доступен на следующих платформах: Windows, Linux, Mac OS X, Wii, PlayStation 3, Xbox 360 (аппаратное ускорение возможно только на платформе Windows). Движок используется во многих играх и активно предлагается для продажи (лицензирования) всем желающим. PhysX
Шейдеры Будущее графики Воксели Разработка собственных игр Пару слов.