[osg-users] I get errors when trying to render to a luminance buffer...

Viggo Løvli vigigio at hotmail.com
Mon Jun 2 02:28:53 PDT 2008


Hi again :-)
 
I abandoned the idea of using a floating point buffer.
I went into the thinking box and came to the same conclusion as you wrote about in the end of your comment.
 
I needed a quite high resolution so I decided to use all 4 channels (RGBA). The numbers I want to accumulate is seldom large, so I needed most resolution in the lower scale.
I thus decided to use RGBA where R is most significant and A is least significant.
Bit usage is:
   R = 6 bits
   G = 5 bits
   B = 4 bits
   A = 3 bits
All non used bits will overlap with next channel.
 
I am using this to generate a pixel weight when rendering many volumetric clouds on top of each other on screen. Naturally most overlapping clouds will be further away from camera, so I needed as high a number of overlap bits on the lest significant buffers that I could get. My usage accepts in worst case 32 overlapping pixels with maximum weight (in the distance). I think that is something I can live with :-)
 
Anyhow, I got a range (18 bit) that was good enough for my usage and it gives a decent cloud sorting for clouds seen up to 40 kilometers away.
 
I must stress one point: 
- If you ever try using the alpha channel for this then remember to turn off alpha-clipping (set alpha-func to always). 
 
Viggo
> Date: Mon, 2 Jun 2008 10:05:24 +0200> From: jpdelport at csir.co.za> To: osg-users at lists.openscenegraph.org> Subject: Re: [osg-users] I get errors when trying to render to a luminance buffer...> > Hi,> > Viggo Løvli wrote:> > Ok, that make sense.> > It happens every time I render with a floating point texture.> > > > The fall in framerate does not happen when I run the OSG multi render > > target example using HDR. My code does however use additive blending > > toward the floating point texture so I bet that is what cause it to fall > > into a software rendering mode.> > We have also experienced this slowdown when blending was enabled with > float textures. Testing on newer cards is pending as we cannot figure > out from docs on the internet if this is actually supported in current > hardware at all. Seems like DX10.1 mandates float blending, but we will > test to make sure. Please let me know if you know if it is supported in > hardware.> > > > > Do you know about any texture surface bit format that is more than 8 > > bits (unsigned integer) ?> > I don't know of any. I've only seen a paper once where people were using > three channels to simulate one large channel. The RGB channels were > partially overlapped to create a higher dynamic range channel.> > jp> > > > > Viggo> > > > > > > Date: Fri, 30 May 2008 16:29:05 +0100> > > From: robert.osfield at gmail.com> > > To: osg-users at lists.openscenegraph.org> > > Subject: Re: [osg-users] I get errors when trying to render to a > > luminance buffer...> > >> > > Hi Viggo,> > >> > > When performance drops like this it's because you've dropped onto a> > > software fallback path in the OpenGL driver. Exactly what formats are> > > software vs hardware depends upon the hardware and OpenGL drivers.> > > You'll need to check with your hardware vendors specs to see what will> > > be hardware accelerated.> > >> > > Robert.> > >> > > On Fri, May 30, 2008 at 2:16 PM, Viggo Løvli <vigigio at hotmail.com> wrote:> > > > Hi Robert,> > > >> > > > I modified my code as you suggested.> > > > The warning is gone :-)> > > >> > > > The framerate is now 10 seconds per frame instead of 30 frames per > > second.> > > > It does something.> > > > The texture I render to remains black (cleared to black).> > > >> > > > If I change the setInternalFormat to GL_RGBA then the framerate is > > up again,> > > > and the texture gets colors. This works, but then I only have 8 bit > > in the> > > > red channel. What I need is as many bits as possible in the red > > channel,> > > > preferably 32. And I do not need GBA channels.> > > > Do you have a suggestion for me on this one?> > > >> > > > Viggo> > > >> > > >> Date: Fri, 30 May 2008 13:25:24 +0100> > > >> From: robert.osfield at gmail.com> > > >> To: osg-users at lists.openscenegraph.org> > > >> Subject: Re: [osg-users] I get errors when trying to render to a > > luminance> > > >> buffer...> > > >>> > > >> Hi Viggo,> > > >>> > > >> The warning is exactly right, pbuffers don't suport multiple render> > > >> targets, only FrameBufferObjects do.> > > >>> > > >> Perhaps what you intend it not to use multiple render targets, in> > > >> which case you should set the Camera attachment to COLOR_BUFFER rather> > > >> than COLOR_BUFFER0, that later tells the OSG that you want MRT and> > > >> will be using glFragColor[] in your shaders.> > > >>> > > >> Also the Camera::setDrawBuffer(GL_COLOR_ATTACHMENT0_EXT) is> > > >> inappropriate for pbuffers.> > > >>> > > >> Robert.> > > >>> > > >> On Fri, May 30, 2008 at 1:18 PM, Viggo Løvli <vigigio at hotmail.com> > > wrote:> > > >> > Hi,> > > >> >> > > >> > I want to render to a floating point buffer, and I set things up > > like> > > >> > this:> > > >> >> > > >> > tex->setInternalFormat( GL_LUMINANCE16F_ARB );> > > >> > tex->setSourceFormat( GL_RED );> > > >> > tex->setSourceType( GL_FLOAT );> > > >> >> > > >> > camera->setRenderTargetImplementation( > > osg::Camera::FRAME_BUFFER_OBJECT> > > >> > );> > > >> > camera->attach( osg::Camera::BufferComponent( > > osg::Camera::COLOR_BUFFER0> > > >> > ),> > > >> > tex );> > > >> > camera->setDrawBuffer( GL_COLOR_ATTACHMENT0_EXT );> > > >> >> > > >> > My fragment-shader that write to the surface output the value > > this way:> > > >> > gl_FragData[0].r = 1.0;> > > >> >> > > >> > Another fragment-shader reads the surface this way:> > > >> > value = texture2DRect( id, gl_FragCoord.xy ).r;> > > >> >> > > >> > I get the following output when I try to run my app:> > > >> > "Warning: RenderStage::runCameraSetUp(state&) Pbuffer does not > > support> > > >> > multiple color outputs."> > > >> >> > > >> > My app runs, but nothing is written to the texture.> > > >> >> > > >> > Is it possible to set up a surface that holds one channel > > (GL_RED) which> > > >> > is> > > >> > an unsigned int of 32 bit resolution? I'd rather use that than a > > float> > > >> > :-)> > > >> >> > > >> > Viggo> > > >> >> > > >> > ________________________________> > > >> > Få Hotmail du også. Windows Live Hotmail nå med 5000 MB gratis> > > >> > lagringsplass.> > > >> > _______________________________________________> > > >> > osg-users mailing list> > > >> > osg-users at lists.openscenegraph.org> > > >> >> > > >> > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> > > >> >> > > >> >> > > >> _______________________________________________> > > >> osg-users mailing list> > > >> osg-users at lists.openscenegraph.org> > > >> > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> > > >> > > >> > > > ________________________________> > > > SkyDrive er her. Glem minnepinnen!> > > > _______________________________________________> > > > osg-users mailing list> > > > osg-users at lists.openscenegraph.org> > > > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> > > >> > > >> > > _______________________________________________> > > osg-users mailing list> > > osg-users at lists.openscenegraph.org> > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> > > > ------------------------------------------------------------------------> > SkyDrive er her. Glem minnepinnen! <http://skydrive.live.com/?mkt=nb-no>> > > > > > ------------------------------------------------------------------------> > > > _______________________________________________> > osg-users mailing list> > osg-users at lists.openscenegraph.org> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> > -- > This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. > The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html.> > This message has been scanned for viruses and dangerous content by MailScanner, > and is believed to be clean. MailScanner thanks Transtec Computers for their support.> > _______________________________________________> osg-users mailing list> osg-users at lists.openscenegraph.org> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_________________________________________________________________
Snakk gratis med tekst, telefoni og video. Få Windows Live Messenger du også.
http://get.live.com/nb-no/messenger/overview
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20080602/cfc02b98/attachment-0001.htm>


More information about the osg-users mailing list