OpenGL vs DirectX - Nauka

0

Witam,
Ostatnio naszła mnie chęć by uczyć się tworzyć programy przy użyciu 3d.
Programuje głównie w C++ ( C++ Builder, rzadziej MS Visual C++), czasami w Javie( Netbeans ) i C# ( MS Visual Studio 2010 ).
Aktualnie jestem w pierwszej klasie liceum i uczę się już pod kątem studiów informatycznych
( moim marzeniem było by studiować na mini na PW).
Głównie używam systemu windows.

Polecilibyście mi OpenGL czy directx ? Który przyda się bardziej w przyszłym życiu?
Jeśli macie jakieś ciekawe propozycje książkowe to jestem na nie otwarty.

Pozdrawiam,
Tadek

0

na pewno OpenGL jest łatwiejszy do nauki.

0

To zależy co chcesz co chcesz robić. Jeśli gierki to diretX, jeśli wypaśne interfejsy to opengl.

0

Czemu do gier to akurat DX? W OpenGL'u też da się zrobić porządne i wypasione gry, które mogą się nawet stać światowymi hitami (NWN I).

0

DirectX to tylko windows. Dlatego zresztą przeważa przy robieniu gier które w 99% też są windows-only. OpenGL jest na praktycznie wszystkie platformy.

0

@msm teraz to żeś ... OpenGL to platformy:

  • PS3
  • Android
  • iPhone/iPad
    Czy ja wiem czy na to łącznie nie powstaje przypadkiem też masa kasowych gier?
0

Wszystkie silniki graficzne Johna Carmacka są pisane w OpenGL, a tej osoby nie trzeba przedstawiać. Quake II lub III wyznaczały nowe trendy w grafice 3D i pokazywały pełnię możliwości sprzętu. Poza tym OpenGL w zasadzie udostępnia te same funkcjonalności co DirectX, a nawet łatwiej jest o rozszerzenia. Tak więc możliwościami wiele się nie różnią.

Jeśli chcesz pisać gry w Javie to ucz się OpenGL. OpenGL jest dostępny nawet natywnie z poziomu Javy w Androidzie (!), ale nawet jeśli nie planujesz pisać pod Androida to zostaje mnóstwo bindingów jak np LWJGL czy JogAmp, silniki np jMonkeyEngine. Jeśli bardziej interesuje cię C# to masz XNA.

0

Planowałbym pisać bardziej programy użytkowe i symulacje niż gry.

0

Oczywiście że się da, ale ogólny trend na rynku jest taki jak napisałem
Olać trendy. A jeśli mówimy o profesjonalnej grafice 3D, to raczej GL jest tu górą.
Na początek na pewno łatwiejsze będzie OpenGL, zwłaszcza jego „klasyczne” API oparte na maszynie stanów. Nowe OpenGL niestety dryfuje w stronę bałaganu DirectX-owego.

Jeśli bardziej interesuje cię C# to masz XNA.
Hmm, mówisz cały czas o OpenGL a nagle rzucasz XNA, które jest bindingiem DirectX.

0

Na początek na pewno łatwiejsze będzie OpenGL, zwłaszcza jego „klasyczne” API oparte na maszynie stanów.

"Klasyczne" - inaczej mówiąc, totalnie nieobiektowe. Dla mnie to akurat zaleta, relaksująca odmiana od pisaniu w pełni obiektowego kodu w C#, ale w ogólności to raczej wada.

1 użytkowników online, w tym zalogowanych: 0, gości: 1