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

Aktuelle Zeit: Fr Jul 18, 2025 21:11

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: RenderToTexture
BeitragVerfasst: So Sep 24, 2006 22:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
Hallo liebe DGL-Gemeinde ^^

also ich habe folgendes Problem :

ich möchte eine szene in eine textur rendern um diese später zu verwenden ... mein problem an der ganzen sache ist folgendes :

in allen tutorials wird es meiner meinung nach so gemacht, das erst die textur gerendert wird und danach die szene, das kann ich aber nicht machen ... ich müsste dies "zwischendrin" tun, also erst nen teil zeichnen, dann "schnell" in die textur rendern und dann weiter normal arbeiten ...

hat jemand eine ahnung wie das geht, falls es überhaupt geht ... ?

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 25, 2006 07:06 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Müsste mit Pbuffer oder FBOs machbar sein, du musst dann nur wenn du anfängst in die Textur zu rendern entsprechend umschalten und nachher wieder zurückschalten, allerdings habe ich das nie probiert, also alle angaben ohne gewähr :wink:
Mit freundlichen Grüßen
Tomok

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 25, 2006 08:03 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also ein PixelBuffer bekommt einen eigenen Speicherbereich und Kontext. Also damit ist das definitiv möglich. Bei FrameBufferObjects ist es ähnlich. Aber auch dabei hast du einen Speicherbereich wodurch es überhaupt keine Probleme diesbezüglich geben sollte.

Bei RenderToTextur wird ja auch immer nur ein aktueller Stand des Framebuffers gesichert.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 25, 2006 11:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
ich weiß klingt etwas naja jetzt, aber kann mir da jemand etwas source dazu geben, bzw paar links ?

___________________________________________________________________________________

EDIT : hab mir grad das tutorial von sascha angesehen ... ich denk das reicht vollkommen ... trotzdem vielen dank ... falls ich noch fragen hab ... meld ich mich ;)

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 25, 2006 12:21 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Habe hier leider nur etwas C# Code der aus einer älteren Version stammt(Guck mal ob der funktioniert, wenn nicht...er geht auf jeden fall in die richtige Richtung):
Code:
  1.  
  2.             gl.GenFramebuffersEXT(1, iFramebufferObject);
  3.             int tTexture = 0;
  4.             gl.GenTextures(1, ref tTexture);
  5.             base.iTextureObject = tTexture;
  6.             iDepthRenderbuffer = gl.GenRenderbuffersEXT();
  7.  
  8.  
  9.             gl.BindFramebufferEXT(gl.FRAMEBUFFER_EXT, iFramebufferObject[0]);
  10.  
  11.             // init texture
  12.             gl.BindTexture(gl.TEXTURE_2D, base.TextureObject);
  13.             gl.TexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, size.Width, size.Height, 0, gl.DEPTH_COMPONENT, gl.FLOAT, null);
  14.             /*gl.TexParameterf(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
  15.             gl.TexParameterf(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);*/
  16.             gl.TexParameterf(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
  17.             gl.TexParameterf(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
  18.  
  19.  
  20.             gl.FramebufferTexture2DEXT(gl.FRAMEBUFFER_EXT, gl.COLOR_ATTACHMENT0_EXT,
  21.                                       gl.TEXTURE_2D, base.TextureObject, 0);
  22.             // initialize depth renderbuffer
  23.             gl.BindRenderbufferEXT(gl.RENDERBUFFER_EXT, iDepthRenderbuffer);
  24.             //GL_DEPTH_COMPONENT24              0x81A6
  25.  
  26.             gl.RenderbufferStorageEXT(gl.RENDERBUFFER_EXT, 0x81A6, size.Width, size.Height);
  27.             gl.FramebufferRenderbufferEXT(gl.FRAMEBUFFER_EXT, gl.DEPTH_ATTACHMENT_EXT,
  28.                                          gl.RENDERBUFFER_EXT, iDepthRenderbuffer);
  29.  
  30.  
  31.             gl.BindFramebufferEXT(gl.FRAMEBUFFER_EXT, 0);
  32.  

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


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 2 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]