Snake 3D w OpenGL

Snake 3D w OpenGL
trybot
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 6 lat
  • Postów:23
0

Witam,
piszę grę jak w temacie. Moim problemem jest rozpoczęcie tworzenia samej grafiki. Nigdy nie tworzyłem nic w 3D, trochę w allegro. Jak ma działać interakcja pomiędzy obiektami oraz jak je utworzyć (plansza, model węża itd)? Prosił bym o pomocne materiały, w których będzie to przejrzyście wyjaśnione oraz nie będę używane następujące polecenia:

glBegin, glEnd
glVertex, glNormal, glTexCoord
glRotate, glTranslate, glScale
glFrustum, gluPerspective, glOrtho
glCreateList, glDeleteList, glCallList
glPushMatrix, glPopMatrix
gluLookat

Zależy mi na OpenGl w wersji 2.x.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:2 minuty
1

Jak ma działać interakcja pomiędzy obiektami oraz jak je utworzyć (plansza, model węża itd)?

Po pierwsze mechanika gry powinna być niezależna od grafiki (OpenGL-a). Powinieneś mieć osobną klasę odpowiedzialną za grę (w której nie będzie nic z OpenGL-a) i osobną odpowiedzialną za rysowanie (w której będzie cały kod graficzny).

glBegin, glEnd
glVertex, glNormal, glTexCoord
glRotate, glTranslate, glScale
glFrustum, gluPerspective, glOrtho
glCreateList, glDeleteList, glCallList
glPushMatrix, glPopMatrix
gluLookat

Lista wskazuje że zamiarem było „zakazanie” tzw. fixed-function pipeline, ale jest to nadal możliwe, bo lista nie zawiera glLoadIdentity, glMatrixMode ani glMultMatrix.
Za pomocą samego MultMatrix może załatwić Frustum, Perspective, Ortho, LookAt, Rotate, Translate i Scale. Bez list można się obejść, bez PushMatrix i PopMatrix od biedy też (glGet + glLoadMatrix + kontener z C++), zamiast Vector/Normal/TexCoord odpowiedniki tablicowe (VectorArray itp.) a Begin/End przestaje być potrzebne.
Tak że narzucone ograniczenia można obejść i nadal nie używać shaderów ;-)

A tak serio, to informacje znajdziesz w Google...
https://www.google.pl/search?q=opengl+2.0+tutorial

trybot
dzięki za odpowiedź ;) "A tak serio, to informacje znajdziesz w Google..." no tak google ;) za szybko się poddałem :(

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.