Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++] 2D czy 3D


Rekomendowane odpowiedzi

Opublikowano

Witam.

Mam kilka pytań. Wiem, że pewnie były kilka razy zadawane, ale możecie bardziej szczegółowo wytłumaczyć?

 

1. Żeby tworzyć aplikacje 3D muszę ogarnąć biblioteki 2D?

2. Jest sens uczyć się bibliotek 2D jeżeli chce się bazować na tworzeniu aplikacji 3D?

3. Jaka biblioteka 3D jest waszym zdaniem najlepsza i dlaczego?

4. Jaka biblioteka 2D jest waszym zdaniem najlepsza i dlaczego?

 

Z góry dzięki. :)

Weteran
Opublikowano

1. Tak, bo 2D to podstawa, bez tego raczej nie ogarniesz 3D, chyba że chcesz skorzystać z jakiegoś silnika, tam można wiedzieć jedynie co to jest wektor oraz oś i możesz napisać prawie że dobrą grę.

2. to co u góry

3. Nie masz zbyt wielkiego wyboru - OpenGL i Directx, niektórzy próbują porównywać obie biblioteki, ale są one na takim samym poziomie, z tym że OpenGL jest bardziej platformowy i nie ma takich dodatków jak np. wbudowana biblioteka dźwięków. Trudno powiedzieć która jest lepsza, ja osobiście korzystam z OpenGL

4. Również OpenGL ewentualnie SDL, z tym że profesjonaliści raczej używają OpenGL, a jeżeli zaczynasz i chcesz widzieć szybko rezultaty swojej nauki to polecam allegro 4, dużo osób od niego zaczyna.

Opublikowano

1. Nie.

2. Żaden,

3. DirectX jeśli korzystasz z MS Visuala jako IDE. OpenGL w przeciwnym wypadku.

4. Jak wyżej. Obie te biblioteki supportują rozwiązania 2D.

 

Chcesz robić 3D -> rób 3D. Podejście @UP jest równie dobre, co "Chcesz pisać programy? Musisz najpierw iść na studia i dostać dyplom."

 

@EDIT ( Ponieważ bez tego wyjaśnienia nie byłbym fair w stosunku do @UP, a i mógłbym wprowadzić w błąd @TOP )

Mam absolutne zero doświadczenia praktycznego z bibliotekami graficznymi. Odpowiedzi na pierwsze dwa pytania udzielam w myśl mojej filozofii życiowej.

Ta sygnatura jest pusta.

Weteran
Opublikowano

Z doświadczenia wiem że w "świecie 3d" się nie odnajdziesz, jeżeli nie zaczniesz od 2d.

No ale "geniusze" zawsze jacyś się znajdą zazwyczaj ich programy kończą na łasce użytkowników z jakiegoś innego forum, którzy to tak naprawdę będą w 50% nieświadomymi autorami tego programu. ;]

Takie jest moje zdanie.

Opublikowano

3. DirectX jeśli korzystasz z MS Visuala jako IDE. OpenGL w przeciwnym wypadku.

Dlaczego niby ten konkretny IDE? Czym się tak różni od C::B jeśli chodzi o biblioteki 3D?

Weteran
Opublikowano

Dlaczego niby ten konkretny IDE? Czym się tak różni od C::B jeśli chodzi o biblioteki 3D?

Jeśli chodzi o samo IDE, to niczym się nie różnią.

Natomiast w gcc mogą pojawić się jakieś problemy z kompilacją, dlatego nie zbyt dobrze directx współpracuję z nim.

Opublikowano

Jeśli chodzi o to czy uczyć się 2D czy nie, w zależności od tutka 3D są wzmianki podstaw grafiki 2D, która i tak jest w sumie banalna. Bawiąc się openGL na początku ciężko przyzwyczaić się do współrzędnych zwłaszcza kiedy wcześniej robiło się gry 2D gdyż w 2D zwykle współrzędne obiektu to lewy górny róg obrazka a w openGL to jego środek. Tak samo współrzędne 0, 0 standardowo w ogl są na środku ekranu ale to można przekalkulować przy pomocy funkcji translate. D3D się nie bawiłem ale wszędzie gdzie nie patrzę to chwalą go sobie twierdząc, że jest prostszy od GLa.

 

PS. Tak czy siak przy pomocy bibliotek grafiki 3D możesz śmiało kodzić gry 2D :E

YOU MUST DIE

- Ganon, Koridai

Opublikowano
Dlaczego niby ten konkretny IDE? Czym się tak różni od C::B jeśli chodzi o biblioteki 3D?

 

DirectX jest dzieckiem Microsoft'u, więc ich IDE supportuje DirectX'a.

 

Z OpenGL'a korzysta reszta świata.

 

C::B supportuje wxWidgets, zaś wxWidgets supportuje OpenGL'a: http://docs.wxwidgets.org/trunk/group__group__class__gl.html

 

Nie znaczy to jednak, że na MSV nie będziesz mógł korzytsać z OpenGL ( ani, że na C::B MinGW nie będziesz mógł korzystać z DirectX'a ). To wszystko jest wszędzie kompatybilne. Po prostu różne IDE upatrzyły sobie różne biblioteczki, do których korzystania zachęcają.

Ta sygnatura jest pusta.

Weteran
Opublikowano

Bardziej funkcjonalny jest chyba directx bo ma jakieś tam wbudowane pierdoły, opengl to właściwie jedynie wyświetlanie grafiki.

A jeśli chodzi o poziom trudności to również trudno powiedzieć co jest trudniejsze, w opengl jest glut, dzięki czemu łatwiej ogarnąć tą bibliotekę dla newbie, w directx możliwe że też coś takiego jest.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...