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: [EMAIL PROTECTED]> To:
> [email protected]> 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: [EMAIL PROTECTED]> > > To:
> [email protected]> > > 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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]> > > >> To:
> [email protected]> > > >> 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 <[EMAIL PROTECTED]> > > 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> > > >> > [email protected]> > > >> >> > > >> > > >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> >
> > >> >> > > >> >> > > >> _______________________________________________> > >
> >> osg-users mailing list> > > >> [email protected]> > > >>
> > >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> >
> > >> > > >> > > > ________________________________> > > > SkyDrive er her.
> Glem minnepinnen!> > > > _______________________________________________> > >
> > osg-users mailing list> > > > [email protected]> > > > > >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org> >
> > >> > > >> > > _______________________________________________> > >
> osg-users mailing list> > > [email protected]> > >
> 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>
> > [email protected]> >
> 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>
> [email protected]>
> 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
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org