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

Aktuelle Zeit: Fr Aug 08, 2025 16:45

Foren-Übersicht » DGL » Feedback
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: RenderToTexture-Tutorial
BeitragVerfasst: Mo Aug 11, 2003 04:08 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
nabend *gähn*,

ich habe das sehr schöne Tutorial für das Render-To-Texture gelesen, habe allerdings ein Problem mit der Texturgröße. Wenn ich die ändern möchte, weigert sich (denke ich jedenfalls) glCopyTexImage2D das
ganze auch in die Textur zu kopieren. Ich brauche die Größe 800x600, 512x512 geht zwar auch, aber wenn ich die Textur auf dem Ganzen Bildschirm habe sieht man das nunmal auch. Hat der kleine red- wieder beim tutorial-lesen nicht aufgepasst oder habe ich nur die falschen Parameter verändert ?

Ach ja, im Moment habe ich den Sourcecode halt zwangsweise auf 512x512 umgeschrieben, deswegen macht es nicht viel sinn den hier zu posten - sorry. aber ich habe mich eigentlich sehr an das tutorial gehalten... ach ja: 1024x1024 geht übrigens auch nicht...

danke im vorraus,
red-

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 07:05 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Hast Du den nur "glCopyTexImage2D" verändert oder auch den entsprechenden Speicher der mit "new" reserviert wird? Zumindest 1024x1024 sollte auf einer neueren Grafikkarte mitgemacht werden.

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 09:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
Ich hab den source grad vor mir liegen und eigentlich hab ich beides geändert... mit 512x512 läufts ja auch... jetzt habe ich es zwar nochmal mit 1024x1024 probiert, aber wie es aussieht rendert er nur einen Teil der Szene auf die Textur und der Rest bleibt schwarz :(.

Villeicht sollte ich es ja mal auf einem anderen PC probieren, aber eigentlich sollte es mit meiner Grafikkarte tun (gf4 ti4200). aber es ist ja auch kein problem die textur auf 1024x1024 zu machen, solange glCopyTexImage2D nur mit 512x512 arbeitet...


verdammt, das thema hätte doch eher in die Rubrik "OpenGL" gepasst :D

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 10:03 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Die Tatsache das nur ein Teil deiner 1024x1024er Textur gerendert wird, liegt in der Tatsache das glCopyTexImage2D nur sichtbare Teile des Viewports in die Textur kopieren kann.
Wenn du also ein Fenster mit nem Viewport in der Größe 800x600 hast und via glCopyTexImage2D in ne 1024x1024er Textur kopieren willst, wird nur der 800x600 Pixel große Teil des Viewports in diese Textur kopiert, der Rest ist undefiniert (meist schwarz).
Die Lösung für dein Problem sind PixeBuffer.Damit erstellst du dir quasi nen Framebuffer im Grafikkartenspeicher der größer sein kann als dein Viewport und kannst diesen dann als Textur rendern.
Schau mal auf http://www.delphi3d.net, dort hat Tom Nuydens ne handliche Klasse gebastelt die den PBuffer kapselt.

P.S. : In der Manpage zu glCopyTexImage2D steht dieses Verhalten übrigens wortgenau drin.Und ganz nebenbei sollte man wann immer möglich glCopyTexSubImage2D verwenden, was deutlich schneller ist.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Zuletzt geändert von Sascha Willems am Mo Aug 11, 2003 10:06, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 10:06 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Nächste Idee, ich weiß es grenzt an Gotteslästerung, aber wurde auch der Viewport angepaßt?

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 12:15 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
@Phobeus: ja :D (ich zweifel ja auch an mir, aber habe ich geändert )

@Son of Satan: werd ich mal ausprobieren.


Danke jedenfalls an euch beide :)

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 12:31 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
:lol: Macht ja nichts, ich kann mich auch noch so dunkel an einen zweistündigen Tobsuchtanfall, als ich ähnliche Probleme hatte und kurz davor war in vollkommender Selbstresignation aufzugeben ;)

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 11, 2003 12:52 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ich sags doch : Ein Blick in die glManPages ist oft Gold wert, denn folgendes steht dort in der entsprechenden Doku zu glCopyTexImage :
glManPage hat geschrieben:
... If any pixels within this region are outside the window that is associated with the GL context, the values obtained for those pixels are undefined.

Aber zum Glück gibts ja wie gesagt Pixelbuffer die inzwischen auf so gut wie allen Karten genutzt werden können und dazu auch noch jede Menge mehr Funktionalität als das normale glCopyTexImage2D bieten.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


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


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.016s | 17 Queries | GZIP : On ]