![]()
OpenGL Game
08.09.2002
Kamera, procházení scénou
![]()
Výpočet FPS
Jednoduché načítání objektů ze souboru *.txt
Načítání textur ze souboru *.bmp
Kamera, procházení scénou
Rotace kamery pomocí myši
glGenLists()
wglUseFontBitmaps()
glPushAttrib()
glPopAttrib()
glListBase()
glCallLists()
glDeleteLists()
glColor3f()
glEnable(GL_BLEND)
glDisable(GL_BLEND)
glBlendFunc(GL_ONE, GL_ONE)
glTranslatef()
glRasterPos2f()
glPrint()
gluLookAt()
glNewList()
glEndList()
glEnable(GL_TEXTURE_2D)
glBindTexture()
glBegin(GL_TRIANGLE_FAN)
glEnd()
glTexCoord2f()
glPushMatrix()
glPopMatrix()
glTranslatef()
glRotatef()
![]()
08.09.2002
Sky Box - vytváření oblohy a krajiny
![]()
Načtení skyboxu ze souboru skybox.txt a jeho vykreslení
glGenLists()
wglUseFontBitmaps()
glPushAttrib()
glPopAttrib()
glListBase()
glCallLists()
glDeleteLists()
glColor3f()
glEnable(GL_BLEND)
glDisable(GL_BLEND)
glBlendFunc(GL_ONE, GL_ONE)
glTranslatef()
glRasterPos2f()
glPrint()
gluLookAt()
glNewList()
glEndList()
glEnable(GL_TEXTURE_2D)
glBindTexture()
glBegin(GL_TRIANGLE_FAN)
glEnd()
glTexCoord2f()
glPushMatrix()
glPopMatrix()
glTranslatef()
glRotatef()
![]()
08.09.2002
Sky Box 2 - vytváření oblohy a krajiny
![]()
Trochu zdokonalený předchozý příklad
glEnable(GL_DEPTH_TEST)
glDisable(GL_DEPTH_TEST)
glGenLists()
wglUseFontBitmaps()
glPushAttrib()
glPopAttrib()
glListBase()
glCallLists()
glDeleteLists()
glColor3f()
glEnable(GL_BLEND)
glDisable(GL_BLEND)
glBlendFunc(GL_ONE, GL_ONE)
glTranslatef()
glRasterPos2f()
glPrint()
gluLookAt()
glNewList()
glEndList()
glEnable(GL_TEXTURE_2D)
glBindTexture()
glBegin(GL_TRIANGLE_FAN)
glEnd()
glTexCoord2f()
glPushMatrix()
glPopMatrix()
glTranslatef()
glRotatef()
![]()
08.09.2002
Načítání skeletální animace MilkShape (*.ms3d)
![]()
Load skeletální animace MilkShape(*.ms3d)
Vykreslení animovaného modelu MilkShape
Rotace kloubů modelu pomocí Quaternionů
Načítání textur ze souboru (*.tga)
Nová kamera, transformace a rotace pomocí glTranslatef(), glRotatef()
Světlo pohybující se s kamerou
glIsEnabled( GL_TEXTURE_2D )
glMaterialfv()
glEnable( GL_TEXTURE_2D )
glDisable( GL_TEXTURE_2D )
glBegin( GL_TRIANGLES )
glEnd()
glTexCoord2f()
glNormal3fv()
glVertex3fv()
glRotatef()
glTranslatef()
auxDIBImageLoad()
glGenTextures()
glBindTexture()
glTexImage2D()
glTexParameteri()
glLightfv()
glEnable(GL_LIGHTING)
glDisable(GL_LIGHTING)
glEnable(GL_LIGHT0)
![]()
08.09.2002
Načítání souborů 3DStudioMax (*.3ds)
![]()
Load 3DStudioMax souborů (*.3ds)
Vykreslení 3DS modelu
Načítání textur ze souboru (*.jpg)
glEnable( GL_TEXTURE_2D );
glDisable( GL_TEXTURE_2D );
glColor3ub();
glBindTexture();
glBegin( GL_TRIANGLES );
glBegin( GL_LINE_LOOP );
glEnd();
glNormal3f(); glTexCoord2f();
glVertex3f();
glGenTextures();
glTexParameteri();
glTexImage2D();
glPushMatrix();
glPopMatrix();
glTranslatef();
glEnable( GL_COLOR_MATERIAL );
![]()
08.09.2002
Přehrávání muziky pomocí knihovny FMOD
![]()
Přehrává "sample.mp3" pomocí knihovny FMOD
FSOUND_Init();
FSOUND_Sample_Free();
FSOUND_Close();
FSOUND_Sample_Load();
FSOUND_Sample_SetLoopMode();
FSOUND_PlaySound();
FSOUND_SetPaused();
FSOUND_GetPaused();
FSOUND_StopSound();
FSOUND_SetVolume();
![]()
08.09.2002
Bitmap fonty
![]()
Vykresluje BMP fonty
glDisable(GL_LIGHTING);
glEnable(GL_LIGHTING);
glColor3f();
glGenLists();
glDeleteLists();
glBindTexture();
glNewList();
glBegin();
glEnd();
glTexCoord2f();
glVertex2i();
glTranslated();
glEnable(GL_BLEND);
glDisable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE);
glDisable(GL_DEPTH_TEST);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glPopMatrix();
glLoadIdentity();
glOrtho();
glListBase();
glScalef();
glCallLists();
![]()
08.09.2002
Quake III BSP
![]()
Načítání a vykreslování Quake III BSP levelů.
Vytváření světel pomocí multitextur a lightmap.
Stručný popis BSP stromů a BSP optimalizace scény.
glVertexPointer(3, GL_FLOAT, ..., ...);
glTexCoordPointer(2, GL_FLOAT, ..., ...);
glClientActiveTextureARB(GL_TEXTURE0_ARB);
glClientActiveTextureARB(GL_TEXTURE1_ARB);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glActiveTextureARB(GL_TEXTURE0_ARB);
glActiveTextureARB(GL_TEXTURE1_ARB); glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, ...);
glDrawArrays(GL_TRIANGLE_FAN, ..., ...);
glGetFloatv( GL_PROJECTION_MATRIX, ... );
glGetFloatv( GL_MODELVIEW_MATRIX, ... );
glGenTextures(1, ...);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, i_width, i_height, GL_RGB, GL_UNSIGNED_BYTE, pby_image_bits);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
![]()
08.09.2002
Detekce kolizí kamery s BSP scénou
Předchozý příklad QuakeIII BSP doplněný o detekce kolizí.
![]()
01.12.2005
První jednoduchý skript
První díl tutorialu, jak napsat vlastní skriptovací jazyk
![]()
16.12.2005
Druhý jednoduchý skript
Druhý díl tutorialu, jak napsat vlastní skriptovací jazyk. Do předešlého skriptu přidáme string data.
![]()
21.03.2006
Proměnné kriptu.
Třetí díl tutorialu, jak napsat vlastní skriptovací jazyk. Do předešlého skriptu přidáme proměnné.
![]()
25.03.2006
Zadání hodnot skriptu příkazem z konzole, nebo načtěním hodnot ze souboru.
Čtvrtý díl tutorialu, jak napsat vlastní skriptovací jazyk.
![]()
09.05.2006
Linux game.
Načítání konfiguračních souborů pomocí skriptovacího jazyka Lua.
lua_State
lua_open
luaopen_base
luaopen_io
luaopen_string
luaopen_math
lua_close
luaL_loadfile
lua_pcall
va_list
va_start
va_end
lua_tostring
lua_tonumber
lua_toboolean
lua_getglobal
lua_isnumber
lua_isboolean
lua_isstring
lua_pushstring
lua_pop
lua_gettable
lua_istable
![]()
08.06.2006
Mapování kláves.
Vytvoření a užívání keymapy klávesnice v game enginu.
![]()
22.06.2006
Descent, first person a spectate kamera.
![]()
14.11.2006
Test kolize paprsku (polopřímky) s koulí
![]()
21.11.2006
Volání fukcí herního enginu z Lua skriptu.
![]()
23.11.2006
Volání Lua skript funkce z herního enginu.
![]()
17.08.2007
Algoritmus triangulace vertexů.
![]()
Triangulační algoritmus trianguluje pole vertexů a vytváří konvexní polyhedron
![]()
home