2 фывапр
опля! не в курсе! спасиб. погуглю.
2 Гость, 12.05.2007 15:20:25
аргументируйте, плиз.
Я приведу свои аргументы:
- наличие шейдеров (фактически макроассемблер, кот. компилируется в реальные инструкции для видеопроцессора)
- функции, подобные IDirect3D.GetDeviceCaps
- оперирование не логическими объектами как в OpenGL, а физическими, например IResource - фактически это просто область видеопамяти, кот. может быть и текстурой, и объемной текстурой, и вертексным буфером, и поверхностью рендеринга
- отсутствие более сложных (обстрактных от аппаратуры) команд, в отличие от OpenGL
Практически все функции DX соответствуют напрямую аппаратным возможностям видео/звуковых плат. Для реализации более сложных эффектов (например объемное освещение, тени, HDR, отражения, нестандартные области отсечения) применяются специальные технологии, базирующиеся на элементарных инструкциях DX.
Короче. Если проводить аналогию, то OpenGL - это Delphi. DX - это C++. Внешне похожи, функционал почти одинаковый, но результаты разные.
По поводу того, что в OpenGL качество графики лучше. Так оно и должно быть. Опять же ориентировка на CAD-системы.
В DX качество интуитивно похуже. Но он ориентирован на скорость.