From: Brian P. <br...@tu...> - 2002-02-28 02:18:24
|
Sean Ahern wrote: > > Brian Paul wrote: > > "Schuyler, Dave" wrote: > > > Every now and then I come across code in chromium that talks about > > > rendering to a native window or a chromium window. Does anyone have an > > > example of rendering to a local/native window and a chromium window > > > from within the same app (at the same time)? > > > > None of the Chromium demos do that. > > One thing that I'd like to see someday along these lines is the following: > > I want to put together a "tee" SPU, hooked up to a render SPU and a > tilesort SPU, all three within a client node. "within a client node" is the hard part. Within a node, Chromium's pretty much designed to only support a linear chain of SPUs. It would be easier if the tee, tilesort and render SPUs were on different nodes/servers. Then, the tee would be like a simplified tilesorter which simply duplicated the input stream on N output streams. > The tilesorter would > distribute primitives on the network like normal. > > tilesort -/\/- network > / > App - tee > \ > render Here's an idea though. Assuming you always want a 2-way tee and one of the destinations is the render SPU, make a "rendertee" SPU. It would basically be like the readback SPU (which is derived from the render SPU). But instead of passing glDrawPixels commands to the next SPU in the chain, we'd pass the incoming command stream. > The render SPU would be told to use the application's window for rendering, > rather than creating its own. > > All OpenGL submitted by the client would then appear both in its normal > window and also wherever the tilesorter was configured to go. > > This is theoretically possible, though I've heard some stumbling blocks > discussed here. I seem to recall someone mentioning that having the > renderspu display to a window that's not its own has problems under > Windows. I tried quickly hacking it on Linux one day but it didn't work. I'm sure it can be done though. Don't know about Windows. > I don't know that there aren't symbol lookup issues with a tee spu. > > While I'm dreaming... the holy grail would be to have the render SPU > accept imagery from something else, probably out of band. This would allow > scalable remote rendering and compositing, with the final image displayed > back into the app without the user even having to know that Chromium's > doing the acceleration. A few of us have talked about this before, and > have identified that there are a number of roadblocks. But it's a nice > dream for now! Yeah, it would be nice if starting an ordinary app (linked to the faker libGL of course) would automatically start the mothership (with appropriate config file), start the servers, etc and render back into the app window. All auto-magic. Someday. -Brian |