On Aug 7, 2006, at 12:32 PM, Robert Osfield wrote:

Hi Daniel,

On 8/7/06, Daniel Larimer <[EMAIL PROTECTED]> wrote:
I am attempting to render to a texture using osg::CameraNode and
everything works fine when I use FBOs; however, not all systems (SGI
Prism) support FBOs and so I am attempting to use the FRAME_BUFFER
render mode.  Once again, everything works fine except that I have
two unique requirements that aren't met by the FRAME_BUFFER mode:

Does the Prism support pbuffers?

I believe it does, but don't pbuffers have some trouble with texture rectangle?

The performance gain from using pbuffers is probably not worth the head ache of using pbuffers considering that FBO is our first choice and that FRAME_BUFFER is our
fall back, "works everywhere" choice.


1) I don't want to update the image every frame.  With the current
implementation my image is drawn and rendered one frame and then
black in all subsequent frames until I trigger another update.  This
works well when I use FBOs because I just don't call any draw
commands; however, the FRAME_BUFFER mode copies black over my texture
no matter what.

There is too many unknowns for me to guess at what is the problem.
I'd recommend stepping through the code, src/osgDB/RenderStage.cpp is
where all hard work is done.  In principle FBO and FRAME_BUFFER should
work similiar, where possible.

Well, I believe what I want to do is the equivalent of culling the camera node on every frame that I don't have an update to the texture. I can do this the "hard way" by placing a switch above the camera node, but was hoping for something similar to a
dirty bit or enable/disable bit.


2) I need to do progressive updates / patches to the current image
for my "VNC" texture.  In this case I don't want to "draw" the entire
image from RAM->Texture for a small update to part of the image.

What is the best way to approach this problem?
Current image or texture?  I recently fixed a bug in RenderStage
related to using a RTT CameraNode Viewport smaller than the RTT
Texture/Image size.  Fixing this means its much easier to update just
parts of textures/images.

I am doing all of my operations directly on the "frame buffer object" aka texture.

If I switch to FRAME_BUFFER mode then I need to render the current texture contents
before rendering my updates.


Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to