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

Aktuelle Zeit: So Apr 28, 2024 19:22

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



Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: FBO Depth und ARB_FRAGMENT_PROGRAM
BeitragVerfasst: Do Apr 26, 2012 21:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
hallöchen allerseits,

sitze gerade an einen deferred renderer auf arb_fragment_program basis. Soweit funktioniert auch alles ganz gut nur wenn ich versuche die Tiefentextur zu zeichnen seh ich nichts als weiß...

Shader:
Code:
  1.  
  2. !!ARBfp1.0
  3.  
  4. # Fragment inputs
  5. ATTRIB inTexCoord = fragment.texcoord[0];      # First set of texture coordinates
  6. ATTRIB inColor    = fragment.color.primary; # Diffuse interpolated color
  7.  
  8. # Fragment outputs
  9. OUTPUT outColor   = result.color;
  10. PARAM mvp[4] = { program.local[0],program.local[1],program.local[2],program.local[3] };
  11. PARAM lvp[4] = { program.local[4],program.local[5],program.local[6],program.local[7] };
  12. TEMP camColor,lightColor;
  13. TEMP camDepth,lightDepth;
  14.  
  15. TXP camColor, inTexCoord, texture[0], 2D; # stores pixelcolor from cameras point of view
  16. TXP lightColor, inTexCoord, texture[1], 2D; # stores pixels of alpha surfaces from the light point of view
  17. TXP camDepth, inTexCoord, texture[2], 2D; # stores pixeldepth from cameras point of view
  18. TXP lightDepth, inTexCoord, texture[3], 2D; # stores pixeldepth from light point of view
  19.  
  20.  
  21. MUL outColor, camDepth, inColor;  # Modulate texel color with light color
  22.  
  23.  
  24. END
  25.  


FBO Setup...
Code:
  1.  
  2.             GL.GenTextures(1, out ColorTexture);
  3.             GL.BindTexture(TextureTarget.Texture2D, ColorTexture);
  4.             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest);
  5.             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest);
  6.             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Clamp);
  7.             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Clamp);
  8.             GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba8, w, h, 0, PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero);
  9.             GL.BindTexture(TextureTarget.Texture2D, 0);
  10.             GL.GenTextures(1, out DepthTexture);
  11.             GL.BindTexture(TextureTarget.Texture2D, DepthTexture);
  12.             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest);
  13.             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest);
  14.             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)TextureWrapMode.Clamp);
  15.             GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)TextureWrapMode.Clamp);
  16.             GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.DepthComponent32, w, h, 0, PixelFormat.DepthComponent, PixelType.Float, IntPtr.Zero);
  17.             GL.BindTexture(TextureTarget.Texture2D, 0);
  18.  
  19.             GL.Ext.GenFramebuffers(1, out FboHandle);
  20.             GL.Ext.BindFramebuffer(FramebufferTarget.FramebufferExt, FboHandle);
  21.             GL.BindTexture(TextureTarget.Texture2D, DepthTexture);
  22.             GL.Ext.FramebufferTexture2D(FramebufferTarget.FramebufferExt, FramebufferAttachment.DepthAttachmentExt, TextureTarget.Texture2D, DepthTexture, 0);
  23.             GL.BindTexture(TextureTarget.Texture2D, ColorTexture);
  24.             GL.Ext.FramebufferTexture2D(FramebufferTarget.FramebufferExt, FramebufferAttachment.ColorAttachment0Ext, TextureTarget.Texture2D, ColorTexture, 0);
  25.             GL.BindTexture(TextureTarget.Texture2D, 0);
  26.             GL.Ext.BindFramebuffer(FramebufferTarget.FramebufferExt, 0);
  27.  

_________________
Meine Homepage


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 22 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.011s | 17 Queries | GZIP : On ]