SDL & 3d don't go together like a horse and carriage

how about hardware transparent under X as well (using Glide)

Nope, not unless you figure out how to use Glide as a framebuffer.

See ya!
-Sam Lantinga (slouken at devolution.com)

Hello anyone

I’d like to say again what I think of an intergration of
any 3d library into SDL or even using them together.

  1. 3d graphics are quite much work! Although it was possible to
    do good 3d graphics with only the cpu, it isn’t any more since there
    are hardware accelerators today (have anyone seen Bleifuss Fun?
    fantasic graphics and runs on a Cx686 P150+ on 640x480 fast!)
  2. As hardware acceleration is avaiable on many PCs today, it would
    be wasted time to make any 3d stuff avaiable with only software
    rendering.
  3. One of the most popular 3d accelerators is the 3dfx Voodoo (2) card.
    If a game supports 3d acceleration, it must support it, too since it’s the
    most popular one. This card REPLACES the video signal from the video
    card and shows only its own signal. It does have an own video memory,
    too. This is why Voodoo (no-rush-no-banshee) cards can never be used
    in windowed mode. This would actually break compatiblity.
  4. Another problem with this is: SDL gives you a framebuffer. If it uses the
    framebuffer of the video card when the voodoo is on, the changes aren’t
    display as the signal is being replaced by the voodoo. It is possible,
    at least with Glide, to support a frame buffer to the memory on the 3d
    accel.
    board, but that’s terribly slow: my own tests just used the voodoo memory
    instead of the video ram and the frame rate dropped from 40fps to 10 fps.
    So what clever programmers do is use textures for ANYTHING.
    Ergo, if you’d like to draw a text on the screen, you upload the font as a
    texture
    into the texture memory and then put a textured triangle. Programs using
    this are
    obviously not compatible with programs not having a 3d card.
  5. The only platform that is avaiable on all SDL platforms is OpenGL. OpenGL
    must be nice to use but isn’t supported well by almost any 3d card.
    It is, from what I’ve heard, not possible to write a functions wrapper that
    wraps
    OpenGL, Glide and Direct3d together, at least that would not fit into the
    SDL
    scope.
  6. Some people said on this list: hey just give me our window handle and
    opengl
    renders into it or into some buffer or something like that. 3D accelerators
    don’t like rendering into a buffer at all! So the only thing possible,
    again, would
    be software rendering. And - I don’t think that would be portable, either.

These are a few arguments against love and marriage of SDL and 3D.
You may be right, I may be crazy (as Mr. Billy Joel said) but you may be
wrong,
that’s all I know, and I may be right.
Note that it can be possible to do some things like these under some
circumstances but that wouldn’t be portable, and I think portabiliy is the
feature
of SDL that most people use it for.

this I tell you brother
— Paulus Esterhazy (@Paulus_Esterhazy)

“Paulus Esterhazy” writes:

> 7. Some people said on this list: hey just give me our window handle and > opengl > renders into it or into some buffer or something like that. 3D accelerators > don't like rendering into a buffer at all! So the only thing possible, > again, would > be software rendering. And - I don't think that would be portable, either.

i want a buffer to render into with OpenGL NOT for hardware
acceleration, plenty of OpenGL apps work fine without acceleration,
openGL (Mesa in specific) is not as slow unaccelerated as you seem to
think.

These are a few arguments against love and marriage of SDL and 3D.
You may be right, I may be crazy (as Mr. Billy Joel said) but you may be
wrong,
that’s all I know, and I may be right.
Note that it can be possible to do some things like these under some
circumstances but that wouldn’t be portable, and I think portabiliy is the
feature
of SDL that most people use it for.

I don’t want a 3d library in SDL either, but having SDL support giving
window contexts etc (so that Mesa CAN make use of it) isn’t a bad
thing. It’s simply accessor calls. As another side note, not
everyone using SDL wants it for it’s portability :slight_smile: I more use it
because it is a nice interface to DGA/mitSHM without having to deal
with guts that I really don’t care about

j