--------------F9DC1D281269CF53DDEB2E92
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
David,
Why would you want to do that if you have h/w accelerated OpenGL on
the machine…?
Simple. I’d like to accelerate OpenGL graphics on the desktop without
having to run the desktop in 3D mode. I want accelerated 3D or basically
run any 3D stuff without full screen mode.
It seems from your description, that current graphics cards are just
made for one thing: pump data to the screen, flip buffers.
Man, would I love UMA now! Good old Amiga or SGi’s Onyx …
Regards
Andreas-----
David Olofson wrote:
On Saturday 09 December 2000 16:42, Andreas Schiffler wrote:
Hi there,
I have a quick question about a non-standard way of using SDL in
conjuction with OpenGL. I am posting here, because someone might
have tried this already.
The normal way of combining 2D and 3D graphics is obviously to use
OpenGL for all 2D stuff (since 2D is a subset of 3D) using quads,
triangle strips, etc.
Now is it possible to do the opposite. Render 3D using OpenGL into
bitmaps but then use SDL’s 2D functions to draw to the screen?
The problem with this is that there are cards that can’t even render
to any place where they can blit from; ie they render only to the
frame buffer.
As for rendering to system RAM, it’s probably exception rather than
rule that cards accelerate that, and that’s a major problem if the
next thing you want to do is blit using the CPU… (Reading VRAM is
very, very slow on most cards.)
A good example would be a 2D-scroller-game with a 3D character. One
would render the 3D character using OpenGL - nicely lit and
textured - and then blit it into the standard 2D environment.
I am aware of Mesa’s offline rendering option that allows to render
into a framebuffer. I’ve experimented with that already. The
problem with this method is, that all hardware acceleration is
turned off and all OpenGL functions are purely done by software
rendering.
So basically, is it possible somehow to use accelerated OpenGL
(right on the card) without a display and get access to the 3D
framebuffer for blits?
Why would you want to do that if you have h/w accelerated OpenGL on
the machine…?
The only reason I can see is pixel level effects, but most of those
can be implemented using what the 3D folks call "procedural textures"
and various forms of blending, or by simply do the actual rendering
using triangle strips. The latter is probably the most suitable
method for lower density particle effects, while procedural textures
are nice for video playback and similar stuff.
//David
.- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
----------------------> http://www.linuxaudiodev.com/maia -' .- David Olofson -------------------------------------------. | Audio Hacker - Open Source Advocate - Singer - Songwriter |
--------------------------------------> david at linuxdj.com -’
–
| Andreas Schiffler aschiffler at home.com |
| Senior Systems Engineer - Deskplayer Inc., Buffalo |
| 4707 Eastwood Cres., Niagara Falls, Ont L2E 1B4, Canada |
| +1-905-371-3652 (private) - +1-905-371-8834 (work/fax) |
--------------F9DC1D281269CF53DDEB2E92
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
<!doctype html public “-//w3c//dtd html 4.0 transitional//en”>
David,
Why would you want to do that if you have h/w accelerated OpenGL on
the machine...?
Simple. I'd like to accelerate OpenGL graphics on the desktop without having
to run the desktop in 3D mode. I want accelerated 3D or basically run any
3D stuff without full screen mode.
It seems from your description, that current graphics cards are just
made for one thing: pump data to the screen, flip buffers.
Man, would I love UMA now! Good old Amiga or SGi's Onyx ...
Regards
Andreas
-----
David Olofson wrote:
On Saturday 09 December 2000 16:42, Andreas Schiffler
wrote:
> Hi there,
>
> I have a quick question about a non-standard way of using SDL in
> conjuction with OpenGL. I am posting here, because someone might
> have tried this already.
>
> The normal way of combining 2D and 3D graphics is obviously to use
> OpenGL for all 2D stuff (since 2D is a subset of 3D) using quads,
> triangle strips, etc.
>
> Now is it possible to do the opposite. Render 3D using OpenGL into
> bitmaps but then use SDL's 2D functions to draw to the screen?
The problem with this is that there are cards that can't even render
to any place where they can blit from; ie they render only to the
frame buffer.
As for rendering to system RAM, it's probably exception rather than
rule that cards accelerate that, and that's a major problem if the
next thing you want to do is blit using the CPU... (Reading VRAM is
very, very slow on most cards.)
> A good example would be a 2D-scroller-game with a 3D character. One
> would render the 3D character using OpenGL - nicely lit and
> textured - and then blit it into the standard 2D environment.
>
> I am aware of Mesa's offline rendering option that allows to render
> into a framebuffer. I've experimented with that already. The
> problem with this method is, that all hardware acceleration is
> turned off and all OpenGL functions are purely done by software
> rendering.
>
> So basically, is it possible somehow to use accelerated OpenGL
> (right on the card) without a display and get access to the 3D
> framebuffer for blits?
Why would you want to do that if you have h/w accelerated OpenGL on
the machine...?
The only reason I can see is pixel level effects, but most of those
can be implemented using what the 3D folks call "procedural textures"
and various forms of blending, or by simply do the actual rendering
using triangle strips. The latter is probably the most suitable
method for lower density particle effects, while procedural textures
are nice for video playback and similar stuff.
//David
.- M A I A -------------------------------------------------.
| Multimedia Application Integration
Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
`----------------------> http://www.linuxaudiodev.com/maia
-'
.- David Olofson -------------------------------------------.
| Audio Hacker - Open Source Advocate - Singer - Songwriter |
`--------------------------------------> david at linuxdj.com -'
--
| Andreas Schiffler aschiffler at home.com |
| Senior Systems Engineer - Deskplayer Inc., Buffalo |
| 4707 Eastwood Cres., Niagara Falls, Ont L2E 1B4, Canada |
| +1-905-371-3652 (private) - +1-905-371-8834 (work/fax) |
--------------F9DC1D281269CF53DDEB2E92–