fb:porticula NoPaste
OpenGL_Texturen
Uploader: | schildron |
Datum/Zeit: | 07.12.2010 13:06:41 |
Dim Shared As String Tastendruck
#Include "fbgfx.bi"
#Include "fbpng.bi"
#Include Once "GL/gl.bi"
#Include Once "GL/glu.bi"
'-------------------------
'Declarationen
'-------------------------
Declare Sub Objekt1()
'-------------------------
' das Fenster öffnen
'-------------------------
Screen 19, 16, , 2
'-------------------------
' Open-GL Init
'-------------------------
glViewport 0, 0, 800, 600 ' den Current Viewport auf eine Ausgangsposition setzen
glMatrixMode GL_PROJECTION ' Den Matrix-Modus Projection wählen
glLoadIdentity ' Diesen Modus auf Anfangswerte setzen
gluPerspective 45.0, 800.0/600.0, 0.1, 100.0 ' Grundeinstellungen des Anezeigefensters festlegen
glMatrixMode GL_MODELVIEW ' Auf den Matrix-Modus Modelview schalten
glLoadIdentity ' und auch diesen auf Anfangswerte setzen
glClearColor 0.5, 0.5, 0.50, 0.0 ' Setze Farbe für löschen auf Mittelgrau
glClearDepth 1.0 ' Depth-Buffer Löschen erlauben
glEnable GL_DEPTH_TEST ' den Tiefentest GL_DEPTH_TEST einschalten
glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT 'Tiefen- und Farbpufferbits löschen
'---------------------------
'HAUPTTEIL
'---------------------------
Dim Shared As UInteger Textur_A
glGenTextures 1, @Textur_A
glBindTexture GL_TEXTURE_2D, Textur_A
glTexImage2D GL_TEXTURE_2D, 0, GL_RGB, 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, png_load("Textur.png",PNG_TARGET_OPENGL)'+Len(FB.IMAGE)
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR
Do Until Tastendruck = Chr(27)
'---------------------------
'ProgrammSchleife
'---------------------------
glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT
Tastendruck = InKey
Objekt1
Flip
'---------------------------
'Ende der Schleife
'---------------------------
Loop
End
'-------------------------
Sub Objekt1 ()
''Viereck mit Textur erstellen
glEnable GL_TEXTURE_2D
glBindTexture GL_TEXTURE_2D, Textur_A
glBegin GL_QUADS
glColor3f 1.0,1.0,0.0
glTexCoord2d 0,2 : glVertex3f -2, 2, -6.0
glTexCoord2d 2,2 : glVertex3f 2, 2, -6.0
glTexCoord2d 2,0 : glVertex3f 2, -2, -6.0
glTexCoord2d 0,0 : glVertex3f -2, -2, -6.0
glEND
glDisable GL_TEXTURE_2D
End Sub