Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 12:35

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Problem mit Framebuffer Object (FBO)
BeitragVerfasst: Sa Dez 27, 2008 15:30 
Offline
DGL Member

Registriert: Fr Dez 26, 2008 20:06
Beiträge: 5
Hallo,

ich habe anhand dieses Tutorials http://wiki.delphigl.com/index.php/Tuto ... fferobject versucht etwas per FBO in eine textur zu rendern. Leider funktioniert die Sache nicht so ganz. Ich habe schon sehr lange nach dem Fehler gesucht, ihn aber nicht finden können. Ich hoffe einer von euch weiß woran es liegen könnte. Hier das Problem. Ich habe den Code aus dem Tut so ziemlich 1:1 übernommen und ihn für Java umgeschrieben. Hier der Ausschnitt:

Code:
  1. public void initFBO(){
  2.        
  3.         gl.glGenFramebuffersEXT(1, fbhandle, 0);
  4.         handle = fbhandle[0];
  5.         gl.glBindFramebufferEXT(gl.GL_FRAMEBUFFER_EXT, handle);
  6.    
  7.         gl.glGenRenderbuffersEXT(1, rbhandle, 0);
  8.         depth = rbhandle[0];
  9.         gl.glBindRenderbufferEXT(gl.GL_RENDERBUFFER_EXT, depth);
  10.         gl.glRenderbufferStorageEXT(gl.GL_RENDERBUFFER_EXT, gl.GL_DEPTH_COMPONENT16, 512, 512);
  11.         gl.glBindFramebufferEXT(gl.GL_FRAMEBUFFER_EXT, handle);
  12.         gl.glFramebufferRenderbufferEXT(gl.GL_FRAMEBUFFER_EXT, gl.GL_DEPTH_ATTACHMENT_EXT, gl.GL_RENDERBUFFER_EXT, depth);
  13.  
  14.         gl.glGenTextures(1, thandle, 0);
  15.         Tex = thandle[0];
  16.         gl.glBindTexture(gl.GL_TEXTURE_2D, Tex);
  17.         gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST);
  18.         gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER, gl.GL_NEAREST);
  19.         gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA8, 512, 512, 0, gl.GL_RGBA8, gl.GL_UNSIGNED_BYTE, null);
  20.         gl.glFramebufferTexture2DEXT(gl.GL_FRAMEBUFFER_EXT, gl.GL_COLOR_ATTACHMENT0_EXT, gl.GL_TEXTURE_2D, Tex, 0);
  21.         checkError();
  22.     }
  23.  


Die Methode checkError() prüft, ob ein Fehler beim Erstellen des FBOs auftrat. Und genau hier ist das Problem. Es kommt immer "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT" als Fehler. Nur sehe ich nicht, was an meinem Code falsch sein soll. Ich vermute, dass es entweder ein Hardware Problem ist oder ich bei der Konvertierung auf Java etwas übersehen habe. Zu meinem System: ich besitze einen Core2Duo Prozessor mit einer 8600m GT und Windows XP.

Schon im voraus vielen Dank für eure Hilfe.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 27, 2008 23:27 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Dazu hab ich das hier gefunden: http://www.khronos.org/opengles/sdk/docs/man/glCheckFramebufferStatus.xml

Das ist zwar aus der OpenGL ES Doku, aber ich denke nicht gänzlich abwegig. Kannst du da mal prüfen ob einer der Fälle zu trifft?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 28, 2008 01:26 
Offline
DGL Member

Registriert: Fr Dez 26, 2008 20:06
Beiträge: 5
Das sieht doch schonmal gut aus. Ich hab jetzt nur kurz drübergeschaut, hab aber nichts gefunden, was direkt ins Auge stechen würde. Ich nehme mir später mal die Zeit und teste es Schritt für Schritt. Ich vermute, dass es an der Textur liegt und weniger am Renderbuffer. Ich habe diesen testweise schonmal weggelassen (ist ja optional) und habe die gleiche Meldung bekommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 29, 2008 19:59 
Offline
DGL Member

Registriert: Fr Dez 26, 2008 20:06
Beiträge: 5
Hab den Fehler endlich gefunden. Es lag wie vermutet an der Textur. Man musste nur gl.GL_RGBA8 in gl.GL_RGBA umschreiben und schon funktioniert die Sache.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 18:17 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Kleine Dinge große Wirkung. Schön das du die Lösung hier gepostet hast. So tappen hoffentlich andere nicht in die selbe Falle.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]