Hi Guy,

I don't know of any extensions for mapping/copying memory from one card to
another directly. NVidia will have such code in their drivers, but its
something that is hidden from the OpenGL.

However, there are still OpenGL features that can help out a little.  First
up Frame Buffer Objects are perfect for capturing images, the OSG has full
support for FBO's and its pretty straight forward to use just by setting a
single line in osg::Camera.  See osgdistortion or osgprerender examples.

Next up to copy the data from one card to another you'll need to  do a read
pixels, which ordinarily is pretty slow, so here it'd be best to use Pixel
Buffer Objects , agaiin its something the OSG supports, but so far I've only
ever used it for sending imagery to a graphics card.  You will also need a
second PBO to get the data to the second card.  I'm afraid there isn't an
OSG example showing how to do this part so you are one your own.  If you get
it all working then it'd be a nice OSG example to have is you fancy
contributing the final solution back.

Robert.

On Mon, Apr 7, 2008 at 3:20 PM, Guy <[EMAIL PROTECTED]> wrote:

>  Hello,
>
>  First I know my question has nothing to do with OSG, but a lot of OSG
> users might come across this subject and any guidance would be most
> appreciated.
>
> The questions I ask regard the nVidia textures memory and how to access
> it.
>
>
>
> 1. I'd like to pass data from nVidia texture memory to other card, on the
> PCI-Express bus. Is it possible and how to get Texture memory address and to
> map it to PCIE address? Or if there is a possibility to make the card render
> to memory address which is already mapped to PCIE address?
>
>
>
> 2. I'd like to run some image processing code on the whole screen (no
> matter what applications are running on and what they display).
>
> For that matter, I need to get the screen "image", run my algorithm and
> display the result full screen.
>
> The problems with that are:
>
> 2.1 After one frame that *I* draw, the next time I'll get the screen image
> it might include changes *I* have done to the data.
>
> 2.2 Getting the screen data is slow.
>
>
>
> So the more complicate way to do it is to make all the applications
> running, draw to an off-screen memory buffer, process that buffer and
> display it.
>
> Or "plug-in" image processing code, somewhere on the card, after the
> driver drawing call functions and before the data it presented on screen.
>
>
>
> My questions are:
>
> 1. Is it possible to access the display buffer data on the nVidia card
> "just before" it is displayed on screen? (plug-in my code)
>
> 2. Would setting the apps drawing to n'th nVidia virtual desktop to that
> trick? And then again, does the nVidia card has address of memory buffer for
> each n'th virtual desktop?
>
>
>
> Thanks,
>
>  Guy.
>
>
>
> _______________________________________________
> 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

Reply via email to