Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

OpenGL,Objekte überdecken

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 22.08.2006, 09:34    Titel: OpenGL,Objekte überdecken Antworten mit Zitat

Ich lese gerade das Tutorial über OpenGL von Stormy(erstmal danke dafür).
Jetzt ist mir aufgefallen, dass bei mir das übereinanderlagern wie im Tutorial nicht funktioniert.
Bei mir bleibt einfach das erste Objekt an oberster Stelle.
Was mache ich falsch?

Code:

option explicit
' Einbindung von OpenGL
#include once "GL/gl.bi"
#include once "GL/glu.bi"

' Festlegung der Konstanten, die für den Bildschirm wichtig sind
const scrnX = 640
const scrnY = 480
const depth = 32
const fullscreen = &h0           ' Fenstermodus

screenres scrnX,scrnY,depth,,&h2 OR fullscreen

' Konfiguration von OpenGL
glMatrixMode(GL_PROJECTION)      ' Matrix definieren
glLoadIdentity
glViewport(0,0,scrnX,scrnY)      ' Achse festlegen
glOrtho(0,scrnX,scrnY,0,-128,128)
glMatrixMode(GL_MODELVIEW)       ' Deaktivierung des Rendern der Rückseiten
glEnable(GL_CULL_FACE)
glCullFace(GL_BACK)
glEnable GL_TEXTURE_2D           ' Texturen aktivieren
glLoadIdentity
glEnable(GL_DEPTH_TEST)          ' Tiefentest
glDepthFunc(GL_LESS)
glEnable(GL_ALPHA_TEST)          ' Alphatest
glAlphaFunc(GL_GREATER, 0.1)

do
  glClear  GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT

glTranslatef 100,100,0
glColor3ub 0, 0, 255
glBegin GL_QUADS
   glVertex2i  0, 50    '' LINKS UNTEN  (1. Koordinate)
   glVertex2i 50, 50    '' RECHTS UNTEN (2. Koordinate)
   glVertex2i 50,  0    '' RECHTS OBEN  (3. Koordinate)
   glVertex2i  0,  0    '' LINKS OBEN   (4. Koordinate)
glEnd
glLoadIdentity

glTranslatef 125,125,1
glColor3ub 255, 0, 0
glBegin GL_QUADS
   glVertex2i  0, 50    '' LINKS UNTEN  (1. Koordinate)
   glVertex2i 50, 50    '' RECHTS UNTEN (2. Koordinate)
   glVertex2i 50,  0    '' RECHTS OBEN  (3. Koordinate)
   glVertex2i  0,  0    '' LINKS OBEN   (4. Koordinate)
glEnd
glLoadIdentity

  glFlush
  flip
  screensync
loop until multikey(&h01) ' Verlasse die Schleife sobald Escape gedrückt wird


mfg noop
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 22.08.2006, 12:22    Titel: Antworten mit Zitat

Also bei mir sieht das so aus:



Hmm... eigentlich müsste es genauso sein. Welche Grafikkarte hast du denn?
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 23.08.2006, 05:59    Titel: Antworten mit Zitat

Hi,
Rot ist bei mir hinten.
Auch wenn ich 1 und 0 vertausche.

radeon 9200 se agp
128mb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eastler_dart



Anmeldungsdatum: 24.09.2005
Beiträge: 177
Wohnort: Baden-Würtemberg + Sachsen

BeitragVerfasst am: 23.08.2006, 16:44    Titel: Antworten mit Zitat

bei mir ist auch rot vorne (W98SE FB 0.16Win 4mb-Grafik)

hab das programm noch testweise erweitert, jetzt von
Code:

option explicit
' Einbindung von OpenGL
#include once "GL/gl.bi"
#include once "GL/glu.bi"

' Festlegung der Konstanten, die für den Bildschirm wichtig sind
const scrnX = 640
const scrnY = 480
const depth = 32
const fullscreen = &h0           ' Fenstermodus

screenres scrnX,scrnY,depth,,&h2 OR fullscreen

' Konfiguration von OpenGL
glMatrixMode(GL_PROJECTION)      ' Matrix definieren
glLoadIdentity
glViewport(0,0,scrnX,scrnY)      ' Achse festlegen
glOrtho(0,scrnX,scrnY,0,-128,128)
glMatrixMode(GL_MODELVIEW)       ' Deaktivierung des Rendern der Rückseiten
glEnable(GL_CULL_FACE)
glCullFace(GL_BACK)
glEnable GL_TEXTURE_2D           ' Texturen aktivieren
glLoadIdentity
glEnable(GL_DEPTH_TEST)          ' Tiefentest
glDepthFunc(GL_LESS)
glEnable(GL_ALPHA_TEST)          ' Alphatest
glAlphaFunc(GL_GREATER, 0.1)

do
  glClear  GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT

glTranslatef 100,100,0
glColor3ub 0, 0, 255
glBegin GL_QUADS
   glVertex2i  0, 50    '' LINKS UNTEN  (1. Koordinate)
   glVertex2i 50, 50    '' RECHTS UNTEN (2. Koordinate)
   glVertex2i 50,  0    '' RECHTS OBEN  (3. Koordinate)
   glVertex2i  0,  0    '' LINKS OBEN   (4. Koordinate)
glEnd
glLoadIdentity

glTranslatef 125,125,1
glColor3ub 255, 0, 0
glBegin GL_QUADS
   glVertex2i  0, 50    '' LINKS UNTEN  (1. Koordinate)
   glVertex2i 50, 50    '' RECHTS UNTEN (2. Koordinate)
   glVertex2i 50,  0    '' RECHTS OBEN  (3. Koordinate)
   glVertex2i  0,  0    '' LINKS OBEN   (4. Koordinate)
glEnd
glLoadIdentity

glTranslatef 150,150,2
glColor3ub 0, 255, 0
glBegin GL_QUADS
   glVertex2i  0, 50    '' LINKS UNTEN  (1. Koordinate)
   glVertex2i 50, 50    '' RECHTS UNTEN (2. Koordinate)
   glVertex2i 50,  0    '' RECHTS OBEN  (3. Koordinate)
   glVertex2i  0,  0    '' LINKS OBEN   (4. Koordinate)
glEnd
glLoadIdentity

glTranslatef 175,175,3
glColor3ub 127, 127, 0
glBegin GL_QUADS
   glVertex2i  0, 50    '' LINKS UNTEN  (1. Koordinate)
   glVertex2i 50, 50    '' RECHTS UNTEN (2. Koordinate)
   glVertex2i 50,  0    '' RECHTS OBEN  (3. Koordinate)
   glVertex2i  0,  0    '' LINKS OBEN   (4. Koordinate)
glEnd
glLoadIdentity


  glFlush
  flip
  screensync
loop until multikey(&h01) ' Verlasse die Schleife sobald Escape gedrückt wird


hinten nach vorne:
blau, rot, grün, oliv

hoffe, es hilft

Eastler
_________________
Kaum macht mans richtig, schon geht's
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen Yahoo Messenger
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 24.08.2006, 05:52    Titel: Antworten mit Zitat

Mist!
Bei mir ist es genau andersrum.
Ich kann es nur ändern wenn ich die Reihenfolge der Objekte im Code änder...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 24.08.2006, 11:03    Titel: Antworten mit Zitat

grinsen lächeln zwinkern
Funzt jetzt.
Ich musste nur ein Treiberupdate machen.
Die GraKa wurde von meinem Gastvater das letzte mal anfang 2004 geupdated geschockt

mfg noop
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 24.08.2006, 18:24    Titel: Antworten mit Zitat

noop hat Folgendes geschrieben:
grinsen lächeln zwinkern
Funzt jetzt.
Ich musste nur ein Treiberupdate machen.
Die GraKa wurde von meinem Gastvater das letzte mal anfang 2004 geupdated geschockt

mfg noop


Hallo. Danke für die Rückmeldung! Ich hätte mich übrigens auch gewundert, wenn es anderes gewesen wäre. Denn der Code stimmt ja und daher musste die Grafikkarte bzw deren Treiber ja die einzige Ursache sein.
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 08.11.2006, 18:33    Titel: Antworten mit Zitat

wo kriegt man denn dieses Tutorial her???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 08.11.2006, 19:02    Titel: Antworten mit Zitat

Hey. zwinkern
noop hatte gepostet, dass das Tut von Stormy ist. Und Stormy hatte kurz über dir geantwortet...*klick*. zwinkern
Der Link ist in seiner Signatur...

Grüßle
Mao lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
hundert



Anmeldungsdatum: 06.11.2006
Beiträge: 2

BeitragVerfasst am: 08.11.2006, 19:54    Titel: Antworten mit Zitat

Unter "Projektvorstellungen" habe ich ein interessante erweiterbare Spielerei mit Opengl.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 10.11.2006, 18:25    Titel: Antworten mit Zitat

das ich nicht lache, hundert. siehe meinen antwortpost.
Lutz böse Ifer
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz