Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

OpenGL_Texturen

Uploader:Mitgliedschildron
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