crash course in grafica 3d dezvoltare de jocuri si opengl es pe android

18
Crash course in Grafica 3D Dezvoltare de jocuri si OpenGL ES pe Android Razvan Madalin Oita [email protected] om Prezentare Droid in a Tunnel

Upload: yoko

Post on 24-Feb-2016

18 views

Category:

Documents


0 download

DESCRIPTION

Crash course in Grafica 3D Dezvoltare de jocuri si OpenGL ES pe Android. Prezentare Droid in a Tunnel. Razvan Madalin Oita [email protected]. Real-time rendering. Lights, camera, action! Real-time, 30/60 FPS Scena , obiecte statice / dinamice. . Geometrie. Vertex Triunghi - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

[email protected]

m

Prezentare Droid in a Tunnel

Page 2: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Real-time rendering• Lights, camera, action!• Real-time, 30/60 FPS

• Scena, obiecte statice/dinamice

Page 3: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android
Page 4: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Geometrie• Vertex• Triunghi• Poligon

• Primitiva• Mesh-uri si modele

Page 5: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Sisteme de coordonate• Object Space• World Space

• Eye/Camera/View Space• Clip coordinates

• NDC si coordonate ecran

Page 6: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Transformari• Translatie, scalare, rotatie

• Proiectie ortografica/perspectiva

Page 7: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Lumini• Parallel Lights• Point Lights• Spot Lights

• Reflexii, refractii, transmisie• Iluminare locala/globala, etc.

Page 8: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Game Engine Architecture• Renderer

• Physics System• Animation System

• Game objects• AI

Page 9: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Fizica• Simulare

• Collision detection• Bounding objects

Page 10: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Game Objects• Class based/Object Oriented

• Component Based• Property Based

Page 11: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

OpenGL ES• Activity si View

• extends GLSurfaceView / event-uri• implements GLSurfaceView.Renderer

• onSurfaceCreated(), onSurfaceChanged(), onDrawFrame()

Page 12: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Obiecte 3D in OpenGL ES• Vertex Buffer• Index Buffer

• Backface Culling• Color Buffer

• Structura Vertex

Page 13: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Transformari OpenGL ES• GL_MODELVIEW, GL_PROJECTION,

GL_TEXTURE GL_COLOR• glTranslatef(), glRotatef(),

glScalef()• gluLookAt(eye, center, up)

Page 14: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Droid in a Tunnel• Idee

• Experienta• Cunostinte

Page 15: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Activity si View

• Vortex• VortexView

• SensorManager, SensorListener• Control cu accelerometru

Page 16: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Primitive• Mesh• Cube

Page 17: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Tunelul• Un tor

• Obstacolele• Camera/gluLookAt()• Collision Detection

• Probleme (mari, de design)

Page 18: Crash course  in Grafica  3D Dezvoltare  de  jocuri si OpenGL ES  pe  Android

Renderer• perspective()

• Probleme