Конференция "Игры" » OpenGL или DirectX
 
  • Slavikkk © (05.02.07 09:45) [180]
    В свете выхода видеокарт 8800, пора вести диалог - что быстрее работает GLSL, HLSL или CG. Т.К. основная нагрузка по расчету спецэффектов ложится на эти языки.
  • XProger © (06.02.07 10:17) [181]
    Slavikkk, а языки то тут причём? Видеокарта о них ничего не знает...
  • @!!ex © (06.02.07 10:22) [182]

    > XProger ©   (06.02.07 10:17) [181]

    Чей компилятор лучше.. :)
  • homm © (10.02.07 14:41) [183]
    Вопрос на засыпку любителям опенЖЛ: Поддерживает ли эта либа HDR, BLOOM?
  • ANTPro © (10.02.07 15:28) [184]
    > [183] homm ©   (10.02.07 14:41)

    Она все поддерживает, что поддерживает видеокарта.
  • homm © (10.02.07 16:13) [185]
    > Она все поддерживает, что поддерживает видеокарта.
    Неужели она позволяет как-то напрямую рабоать с АПИ видеокрты, не являясь сама посредником? Что-то слабо верится? Иначе не недо гомких слов "все", достаточно было ответить что подерживает то о чем я просил. Спасибо.
  • ANTPro © (10.02.07 16:50) [186]
    > [185] homm ©   (10.02.07 16:13)
    > Неужели она позволяет как-то напрямую рабоать с АПИ видеокрты

    Да.
    Только не с апи видеокарты, а с драйверами (хотя в приципе одно и то же) для видеокарты.
  • homm © (10.02.07 17:00) [187]
    > Да.
    Здорово, просто с моими знаниями про опенЖЛ это сложно приедставить, ну да риовал сцены, ну да рендирил треугольники, примитивы, нормали к поверхности задавал, но что-бы низкоуровнево представить сложно... Можно хотя-бы в краще, как это происходит?
  • ANTPro © (10.02.07 17:25) [188]
    > [187] homm ©   (10.02.07 17:00)
    > Можно хотя-бы в краще, как это происходит?

    Процедура wglGetProcAddress возвращает адрес на процедуру из библиотек драйверов видеокарты. И получается что при вызове расширений используются библиотеки драйвера.
  • @!!ex © (10.02.07 23:28) [189]

    > homm ©   (10.02.07 17:00) [187]

    А о шейдерах мы никогд ане сылшали? :)))
    OpenGL не уступает по возможностям DirectX.
  • Cash © (12.02.07 07:58) [190]
    ANTPro ©   (10.02.07 17:25) [188]:
    эм... можно маленько по формальнее выразиться?..
    wglGetProcAddress вернет адрес из dll, в которой какраз реализован
    механизм обращений к драйверу. Можно для тех же целей
    GetProcAddress юзать, но там наворотов больше... ^^

    wglGetProcAddress служит для доступа к расширениям... профилизация...
  • Dimon550 © (18.02.07 18:18) [191]
    Иными словами, Хочеш сделать игру максимально быстро из готовых шаблонов - бери DX; Хочеш сам руковорить всеми процессами в двиге игры - бери OGL. Так что-ли?
  • Dimon550 © (18.02.07 18:21) [192]
    Я так понял, что DX - это тот же OGL, только с кучей улучшений/модификаций/расширений, т.е. "кровь и плоть", а OGL - это просто "скелет"...
  • @!!ex © (18.02.07 21:11) [193]

    > Dimon550 ©   (18.02.07 18:21) [192]

    Бред.
    OpenGL - это интерфейс для "общения" с видеокартой основанный на использовании процедур и функций.
    DirectX - это интерфейс для "общения" с видеокартой основанный на использовании классов.

    Хотя на самом деле слово интерфейс тут не правильно применять, по той причине, что получаеться пересечение понятий. Но я думаю суть понятна?

    DirectX и OpenGL - делают абсолютно одно и тоже.
    Например, работа со светом:
    DirectX:

    SetLight(Index,Light); //Light:D3LIGHT



    в OpenGL:

    glEnable(GL_LIGHT0+Index);
    glLightfv(<... Настройки источника, которые в DX задаються в структуре D3LIGHT>);


    Результат этих действий будет одинаков.
    Какой из вариантов удобнее - решает уже каждый разхработчик для себя.
    Но по сути они не отличаються.
    Лично я не люблю таскать за собой кучу интерфейсов в каждом модуле где мне нужны обращения к API, поэтому OGL нравиться больше...
  • Dimon550 © (22.02.07 21:25) [194]
    Браво! У-ра! Наконец полноценный, понятный и нормальный ответ получен!

    Всё, ребята, мне тут делать больше нечего - я получил долгожданный ответ на данную тему)))
  • Kav (22.02.07 22:16) [195]
    DirectX и OpenGL, а вообщето что-то маловато API для работы с графикой, выпустили бы еще пару штучек на выбор :)
  • @!!ex © (22.02.07 22:24) [196]
    Даже двух не нуно....
    Два API:
    1) API для windows
    2) API для windows и для остальных операционных систем......
  • antonn © (23.02.07 00:07) [197]
    Kav   (22.02.07 22:16) [195]
    GDI :)
  • DJ KARIES (23.02.07 11:48) [198]
    В свете выхода DX10 на Висте, умиляет очередная "переписка с нуля" DirectX.
    Т.е. каждый раз нам предлагают "новый, кардинально улучшенный DirectX", несовместимый со старыми.
    В реальности большая часть прог, написанных под "старые DX", всё-таки работают и на новом DX. Не может Microsoft сразу всех кинуть, ибо кинет тогда сама себя. Должна быть преемственность предыдущих поколений продуктов и она это хорошо понимает.

    Но с OpenGL как-то стабильнее всё. Не приходится каждый раз переписывать OpenGL-специфичные части, как в случае с DX.
    Я раньше фанател от ООП, COM и прочей шелухи.
    Сейчас считаю, что использовать ООП и прочие навороты надо исключительно по необходимости, ибо эти навороты накладывают рамки на архитектуру.
    Мне ближе OpenGL и процедурный стиль программирования с дозированным ООП, интерфейсами и т.д.
    Я не фанат модных течений C#, Nemerle, Ruby и прочей. Мода на всё это проходит быстро.

    Короче, OpenGL - стандарт в графике и не грех им пользоваться, к тому же на современных компах (железках и дровах) есть более-менее адекватная поддержка OpenGL.
    Естественно, OpenGL - конкурент только для D3D и DDraw, ибо тот же DSound - плюшка более удобная, чем MMSystem для звука.
  • Asteroid © (23.02.07 15:02) [199]

    > ибо тот же DSound - плюшка более удобная, чем MMSystem для
    > звука

    Как насчет OpenAL?
 
Конференция "Игры" » OpenGL или DirectX
Есть новые Нет новых   [134431   +10][b:0.001][p:0.001]