Тема: OpenGL 3
Показать сообщение отдельно
Старый 17.06.2013, 19:14   #43
jimon
 
Сообщений: n/a
Ответ: OpenGL 3

Сообщение от ABTOMAT Посмотреть сообщение
На приставках (кроме Xbox) только на OpenGL и делают.
на приставках нет OpenGL (на playstation, xbox, wii) потому что он говно, да и DirectX там тоже для вида - если хочешь то можешь напрямую с видеокартой работать, спека гпу для xbox 360 лежит полностью открытая

OpenGL только на ущербных системах где нельзя унифицировать архитектуру драйвер-гпу, например ущербные мобильники, ущербные ОС на пека, ущербный веб

DirectX в отличие от OpenGL накладывает ряд жестких ограничений на реализацию драйвера и гпу, потому не используется так широко как мог бы (хотя и мелкософт тут привет)

грубо говоря DirectX не позволяет драйверописателям сделать говно, в отличие от OpenGL, но оба скрывают от пользователя важные аспекты работы гпу, например в мобильных гпу нет железа для выборки данных вертексов, потому данные из бинарного потока выбирает сам шейдер, а где вы в OpenGL писали выборку данных ? нигде ! её пишет сам драйвер, в итоге в памяти драйвера есть тыщи экземпляров одного шейдера - под разные форматы вертексов отдельная копия шейдера, а как драйвер эти экземпляры хранит ? в лучшем случае если это один блок памяти, в худшем какой нибудь map который разбросан по хипу

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

ps. на ps4, ps vita, xbox 1 - видео память и основная память объединены в один блок, и там общий TLB, то есть вы можете писать и читать текстуры и буфера как обычный поинтер в C\C++, интересный вопрос - вы видели такую возможность в OpenGL или DirectX ? нет =) а аппаратно она есть даже на айфонах, только эппл не торопится драйвера улучшать, видимо нах надо
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (17.06.2013)