Snake 3D w OpenGL

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.

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

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