Crash course in Grafica 3D Dezvoltare de jocuri si OpenGL ES pe Android
description
Transcript of Crash course in Grafica 3D Dezvoltare de jocuri si OpenGL ES pe Android
Crash course in Grafica 3D
Dezvoltare de jocurisi
OpenGL ES pe AndroidRazvan Madalin
m
Prezentare Droid in a Tunnel
Real-time rendering• Lights, camera, action!• Real-time, 30/60 FPS
• Scena, obiecte statice/dinamice
Geometrie• Vertex• Triunghi• Poligon
• Primitiva• Mesh-uri si modele
Sisteme de coordonate• Object Space• World Space
• Eye/Camera/View Space• Clip coordinates
• NDC si coordonate ecran
Transformari• Translatie, scalare, rotatie
• Proiectie ortografica/perspectiva
Lumini• Parallel Lights• Point Lights• Spot Lights
• Reflexii, refractii, transmisie• Iluminare locala/globala, etc.
Game Engine Architecture• Renderer
• Physics System• Animation System
• Game objects• AI
Fizica• Simulare
• Collision detection• Bounding objects
Game Objects• Class based/Object Oriented
• Component Based• Property Based
OpenGL ES• Activity si View
• extends GLSurfaceView / event-uri• implements GLSurfaceView.Renderer
• onSurfaceCreated(), onSurfaceChanged(), onDrawFrame()
Obiecte 3D in OpenGL ES• Vertex Buffer• Index Buffer
• Backface Culling• Color Buffer
• Structura Vertex
Transformari OpenGL ES• GL_MODELVIEW, GL_PROJECTION,
GL_TEXTURE GL_COLOR• glTranslatef(), glRotatef(),
glScalef()• gluLookAt(eye, center, up)
Droid in a Tunnel• Idee
• Experienta• Cunostinte
Activity si View
• Vortex• VortexView
• SensorManager, SensorListener• Control cu accelerometru
Primitive• Mesh• Cube
Tunelul• Un tor
• Obstacolele• Camera/gluLookAt()• Collision Detection
• Probleme (mari, de design)
Renderer• perspective()
• Probleme