Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jaka wersja OpenGL będzie odpowiednia i skąd się nauczyć?

Ostatnio zmodyfikowano 2016-09-12 14:46
Autor Wiadomość
RazzorFlame
Temat założony przez niniejszego użytkownika
Jaka wersja OpenGL będzie odpowiednia i skąd się nauczyć?
» 2016-09-08 20:13:05
Witam.
Chciałbym napisać swój silnik do grafiki 2D jak i 3D (moduł 3D zamierzam albo dodać pózniej albo pisać równolegle). Z DirectX-em 11 poszło mi całkiem spoko jednak tym razem nie piszę silnika pod grę tylko chce sobie zapewnić platformę, na której będe mógł tworzyć różnorakie zlecenia na aplikacje a również proste symulacje - po prostu silnik do wszystkiego po trochu. Nie chce słuchać, ze nie dam rady czy coś w tym stylu. Wiem jakie to przedsięwzięcie i wiem, że temu sprostam tylko na początek chciałbym trochę poznać OpenGLa.
DirectXa prawdopodobnie użyje tak samo ale chce tym razem zacząć od czego innego. Chciałbym aby ten temat skupił się wyłącznie na OpenGLu oraz ewentualnie na paru bibliotekach stricte pod te API.

Chciałbym się dowiedzieć czterech rzeczy:
1) Jaka jest optymalna wersja OpenGL-a dla słabszych komputerów? Chodzi mi o coś co odpali nawet przeciętny laptop z 2008 roku na przykład, oraz skąd mogę się jej nauczyć?
2) Jaka jest optymalna wersja OpenGL-a pod średnie projekty - przykładowo proste symulacje w 3D i bardziej zaawansowane rysowanie w 2D
3) Jaka jest optymalna wersja OpenGL-a pod hardcorowe projekty - zaawansowane symulacje 3D, gry w 3D itp. itd? Nie chce przesadzać, chciałbym by odpalały ją karty pokroju GTX 4xx lub GTX 5xx (minimalnie).
Chciałbym też, żeby te wersje nie były jakoś kosmicznie różne od siebie, by dało się je jakoś sensownie pogodzić ze sobą.

Nie oczekuję odpowiedzi na wszystkie pięć pytań od razu :p Jeśli masz jakąś sensowny, przydatny protip to z chęcią przeczytam ;)
P-151569
Gibas11
» 2016-09-08 22:11:49
1. Zależy, ja bym poszedł w OGL 3.x/4.x, ale są tacy co dla kompatybilności wstecznej używają 1.x.
2. Też zależy, 1.x jest trochę prostsze, 3.x/4.x dużo wydajniejsze ale trzeba się więcej pouczyć.
3. 4.x najlepiej, wyciśniesz najwięcej ze sprzętu a taki gtx 450 ma wsparcie dla 4.1.

Co do nauki – tutoriali jest dużo, wybierz taki, w którym pierwsze kilka lekcji najlepiej Ci się przyswoi. Jest też chyba fajny kanał na YT wykorzystujący OGL w kontekście C++ a nie jak to zwykle bywa C, możesz poszukać.
P-151574
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2016-09-10 11:29:48
Szukam od jakiegoś czasu poradnika, który nie wykorzystuje GLUTa do tworzenia okna ale nie potrafię znaleźć. Według mnie ta biblioteka jest ohydna...
P-151627
Monika90
» 2016-09-10 12:16:11
Nie każda biblioteka ma tak adekwatną nazwę jak GLUT.

W Windows okno się tworzy tak jak każde inne okno w WinAPI, jak je dostosować do OpenGL jest opisane w MSDN
https://msdn.microsoft.com​/en-us/library/windows/desktop​/dd374379(v=vs.85).aspx

Można też skorzystać z kodu źródłowego SFML.
P-151630
SeaMonster131
» 2016-09-10 22:47:08
https://www.opengl.org/wiki​/History_of_OpenGL
Masz tam opisane wszystkie wersje OpenGL, w którym roku zostały wydane oraz jakie zmiany w nich zaszły, więc wydaje mi się, że możesz używać spokojnie wersji od 3.0 wzwyż.
P-151657
Rashmistrz
» 2016-09-12 14:46:10
Szukam od jakiegoś czasu poradnika,
który nie wykorzystuje GLUTa do tworzenia
okna ale nie potrafię znaleźć.
Według mnie ta biblioteka jest ohydna...
Chciałbym aby ten temat skupił się wyłącznie na OpenGLu
Polecam NeHe produstions - Everything OpenGL.
(Po prawej w menu "Legacy Tutorials",
w pierwszej lekcji tworzenie okna w WinAPI :F)

[...] również proste symulacje - [...]
(W lekcji 39: Introduction to Physical Simulations)

Oczywiście są też jakieś tłumaczenia:
Witaj na stronie NeHe PL!

Jeśli chodzi o uzupełnienie to polecam:
(Są tam omówione wersje 3.2 i 4.2)
(Samemu jeszcze nie czytałem tam czegokolwiek)
Strona domowa Janusza Ganczarskiego - OpenGL

______________________________________________________

Jaka jest optymalna wersja OpenGL-a [...]?
Każda nowsza wersja OpenGLa wspiera coś nowego,
a karta graficzna może mieć jeszcze
własne dodatkowe rozszerzenia...
Te rozszerzenia z czasem (nie wszystkie)
są w domyśle kolejnych specyfikacji OpenGL.

Słyszałem, że im nowsza wersja tym wydajniejsza,
ale niestety tylko mniejsza ilość sprzętu wspiera nowsze wersje.

dla słabszych komputerów
pod średnie projekty
pod hardcorowe projekty
Efektywność programów zależy wyłącznie
od procesora i ilości "jednostek działania?"
ROP, TMU, SP, PS, VS, SP
czy tam innych "CUDA'ów"...
oferowanych przez kartę graficzną.

"Według mnie" program powinien się
dostosować do dostępnej na danej
stacji roboczej specyfikacji
bądź być wybrednym i odmówić działania
przy takich antykach jak mój laptop...

W innym przypadku twój silnik będzie działał
wyłącznie na konkretnym sprzęcie,
który będzie wspierał tą wysoką wersję
dla której piszesz swój silnik.

Ja sam się uczę na takiej specyfikacji,
ale daleko na tym nie pociągnę, bo to antyk:

Renderer RagePRO
Vendor ATI
Version 1.1.3
1 GL_ATI_lock_texture
2 GL_EXT_abgr
3 GL_EXT_bgra
4 GL_EXT_clip_volume_hint
5 GL_EXT_compiled_verex_array
6 GL_EXT_packed_pixels
7 GL_EXT_texture_object
8 GL_EXT_vertex_array
9 GL_WIN_swap_hint
_________________________________________

Jestem amatorem, który studiował
na wydziale łopatologii stosowanej...
Nie musisz mnie słuchać,
a ja mogę się gdzieś mylić.
_________________________________________

EDIT:
Tu jeszcze znalazłem stronkę z możliwym dobrym kursem:
OpenGL 3.3 - Tutorials - Megabyte Softworks
P-151687
« 1 »
  Strona 1 z 1