Discussion:
the future of SDL/directx
Gregory Smith
2006-03-20 15:50:25 UTC
Permalink
Now that SDL is using windib by default, and a bug of mine was closed
because it's fixed in windib, what are the plans for support of the
directx 5 driver?

I almost get the impression it's being phased out, which wouldn't be a
good thing. Windib doesn't offer any hardware acceleration, and some
things we take advantage of don't work (like SDL_SetGammaRamp). The
difference is striking on my Pentium II between when I get a hardware
surface (where the game runs at the cap of 30 fps), and a software surface
(around 12 fps).

Unfortunately the directx driver has some issues of its own still going
from fullscreen no-OpenGL to fullscreen OpenGL (although I have yet to try
the most recent CVS, but I think our next release may come before SDL
1.2.10), so at the moment when the user switches between the OpenGL
renderer and the software renderer, we make him restart so we can switch
SDL's drivers.

Is glSDL and windib the way to get hardware accelerated 2D going forward?
This is a questionable choice given we don't know what will happen with
OpenGL in Vista, and many older machines (who need hardware accelerated 2D
the most) don't support OpenGL well.

Or am I just paranoid and directx isn't going to be ignored :)

Gregory
Stephane Marchesin
2006-03-20 16:20:53 UTC
Permalink
Gregory Smith wrote:

>Now that SDL is using windib by default, and a bug of mine was closed
>because it's fixed in windib, what are the plans for support of the
>directx 5 driver?
>
>I almost get the impression it's being phased out, which wouldn't be a
>good thing. Windib doesn't offer any hardware acceleration, and some
>things we take advantage of don't work (like SDL_SetGammaRamp). The
>difference is striking on my Pentium II between when I get a hardware
>surface (where the game runs at the cap of 30 fps), and a software surface
>(around 12 fps).
>
>Unfortunately the directx driver has some issues of its own still going
>from fullscreen no-OpenGL to fullscreen OpenGL (although I have yet to try
>the most recent CVS, but I think our next release may come before SDL
>1.2.10), so at the moment when the user switches between the OpenGL
>renderer and the software renderer, we make him restart so we can switch
>SDL's drivers.
>
>Is glSDL and windib the way to get hardware accelerated 2D going forward?
>This is a questionable choice given we don't know what will happen with
>OpenGL in Vista, and many older machines (who need hardware accelerated 2D
>the most) don't support OpenGL well.
>
>Or am I just paranoid and directx isn't going to be ignored :)
>
>
>
Frankly, the directx 5 backend is not a future proof backend,
considering support for directx 5 will be lacking in future windows
releases, and driver support is already falling apart. For windows,
someone should probably write a directx 9 backend for SDL, plus this
would also allow hardware accelerated alpha blits (no, I didn't
volunteer here, but I think people on this list would gladly help anyone
undertaking this task).

Stephane
Ryan C. Gordon
2006-03-20 21:19:24 UTC
Permalink
> Frankly, the directx 5 backend is not a future proof backend,
> considering support for directx 5 will be lacking in future windows
> releases, and driver support is already falling apart. For windows,
> someone should probably write a directx 9 backend for SDL, plus this
> would also allow hardware accelerated alpha blits (no, I didn't
> volunteer here, but I think people on this list would gladly help anyone
> undertaking this task).

I agree with Stephane: especially now that glSDL is definitely going in,
it only makes sense to add a d3dSDL. There is no DirectDraw anymore, so
matching what glSDL does with Direct3D is both the fastpath and most
future-proof way to handle 2D rendering on Windows.

Granted, this will start a long thread of emails asking us to add a
SDL_DIRECT3D flag to SDL_SetVideoMode to match SDL_OPENGL...

--ryan.
Gregory Smith
2006-03-20 21:48:23 UTC
Permalink
On Mon, 20 Mar 2006, Ryan C. Gordon wrote:

> I agree with Stephane: especially now that glSDL is definitely going in,
> it only makes sense to add a d3dSDL. There is no DirectDraw anymore, so
> matching what glSDL does with Direct3D is both the fastpath and most
> future-proof way to handle 2D rendering on Windows.

Unfortunately, neither is suitable for an (optionally) software-rendered
FPS like Aleph One. The ability to touch all the pixels on the screen
directly 30 times a second is something I guess will just be lost when
DirectDraw goes away?

Or have video subsystems become fast enough to draw to a high resolution
texture at 30 fps?

The ultimate overkill solution may be to write a D3D renderer to
complement our OpenGL renderer--how distasteful--which brings up the
question:

> Granted, this will start a long thread of emails asking us to add a
> SDL_DIRECT3D flag to SDL_SetVideoMode to match SDL_OPENGL...
>
> --ryan.

Hehe.

Gregory
Patrice Mandin
2006-03-20 21:59:38 UTC
Permalink
Le Mon, 20 Mar 2006 16:48:23 -0500 (EST)
Gregory Smith <***@treellama.org> a écrit:

> On Mon, 20 Mar 2006, Ryan C. Gordon wrote:
>
> > Granted, this will start a long thread of emails asking us to add a
> > SDL_DIRECT3D flag to SDL_SetVideoMode to match SDL_OPENGL...
>
> Hehe.

I wonder why SDL developpers would bother with SDL_DIRECT3D applications
you could only run on 1 platform ;-). At last, OpenGL has more platforms
that support it through SDL. Writing cross-platform apps is one of the
main advantage of SDL (and a very big one from my point of view).

--
Patrice Mandin
WWW: http://pmandin.atari.org/
Programmeur Linux, Atari
Spécialité: Développement, jeux
Bill Kendrick
2006-03-20 22:08:50 UTC
Permalink
On Mon, Mar 20, 2006 at 10:59:38PM +0100, Patrice Mandin wrote:
> I wonder why SDL developpers would bother with SDL_DIRECT3D applications
> you could only run on 1 platform ;-). At last, OpenGL has more platforms
> that support it through SDL. Writing cross-platform apps is one of the
> main advantage of SDL (and a very big one from my point of view).

*nodding vigorously*

-bill!
Simon Roby
2006-03-20 22:57:38 UTC
Permalink
On 3/20/06, Patrice Mandin <***@wanadoo.fr> wrote:
> I wonder why SDL developpers would bother with SDL_DIRECT3D applications
> you could only run on 1 platform ;-). At last, OpenGL has more platforms
> that support it through SDL. Writing cross-platform apps is one of the
> main advantage of SDL (and a very big one from my point of view).

Direct3D depends a lot on low-level Win32 API functionality, so it
wouldn't make sense anyway. If you're doing a Direct3D app (that
directly uses Direct3D calls), you're better off doing it the proper
way, all the way.
--
- SR
Stephane Marchesin
2006-03-20 23:00:31 UTC
Permalink
Gregory Smith wrote:

>Unfortunately, neither is suitable for an (optionally) software-rendered
>FPS like Aleph One. The ability to touch all the pixels on the screen
>directly 30 times a second is something I guess will just be lost when
>DirectDraw goes away?
>
>
>
I think the fastest way to do what you are willing to achieve is :
- create a surface in software memory
- render everything to that surface
- blit this surface to the video surface at the end of each frame

If the backend is smart enough to avoid conversions (and if the format
is suitable), the blit is just a texture upload, which is implemented
with a DMA, and rendering a quad. So it's fast and asynchronous. This
should be even faster than your current approach of locking the video
surface (which downloads the video contents while it's not needed),
software surface manipulation, and upload to screen again (probably done
using a DMA too).

Stephane
Torsten Giebl
2006-03-20 23:23:25 UTC
Permalink
Hello !


OpenGL is okay for most systems.
But Evil MS tries to kickout OpenGL
in future Windows versions like Windows
Vista, so there really is a need for
a D3D backend in the future, if SDL
wants to stay on top. The same for
Multi Window support and so on.



CU
Alan Wolfe
2006-03-20 23:29:14 UTC
Permalink
Don't think it's too off topic so I'll ask

What countermeasures are being used against gl in windows vista?

-----Original Message-----
From: sdl-bounces+atrix2=***@libsdl.org
[mailto:sdl-bounces+atrix2=***@libsdl.org] On Behalf Of Torsten Giebl
Sent: Monday, March 20, 2006 3:23 PM
To: A list for developers using the SDL library. (includes SDL-announce)
Subject: Re: [SDL] the future of SDL/directx

Hello !


OpenGL is okay for most systems.
But Evil MS tries to kickout OpenGL
in future Windows versions like Windows
Vista, so there really is a need for
a D3D backend in the future, if SDL
wants to stay on top. The same for
Multi Window support and so on.



CU
Daniel K. O.
2006-03-21 01:42:45 UTC
Permalink
Alan Wolfe escreveu:
> Don't think it's too off topic so I'll ask
>
> What countermeasures are being used against gl in windows vista?

From what I can remember, it'll be the same as ever: you'll depend on
ICDs provided by video card vendors. Low-end cards always had crappy
support for OpenGL, and I doubt this will be any different with Vista.
Check the "The Windows Vista Issue" at
http://en.wikipedia.org/wiki/Direct3D_vs._OpenGL

I personally don't understand all the fuss over it; is a "Direct3D to
OpenGL 1.4" emulation any worse than the OpenGL 1.1 software renderer
Microsoft provided with the previous versions?


---
Daniel K. O.
David Ludwig
2006-06-20 15:40:38 UTC
Permalink
Heya.

I was reading through my backlog of messages on the SDL mailing list and
I came across some messages regarding Direct3D in SDL. If anyone is
interested, I have a working prototype of a Direct3D backend. It's far
from finished, and uses Direct3D 9 where something like Direct3D 7 (or
earlier) would probably be a better choice, but it is capable of
displaying and accelerating 32-bit alpha-blended images. If anyone is
interested in a copy of this code, let me know and I can send them a copy.

--
David Ludwig
***@funkitron.com


Ryan C. Gordon wrote:

>I agree with Stephane: especially now that glSDL is definitely going in,
>it only makes sense to add a d3dSDL. There is no DirectDraw anymore, so
>matching what glSDL does with Direct3D is both the fastpath and most
>future-proof way to handle 2D rendering on Windows.
>
>Granted, this will start a long thread of emails asking us to add a
>SDL_DIRECT3D flag to SDL_SetVideoMode to match SDL_OPENGL...
>
>
Torsten Giebl
2006-06-20 15:53:07 UTC
Permalink
Hello !


> I was reading through my backlog of messages on the SDL mailing list and
> I came across some messages regarding Direct3D in SDL. If anyone is
> interested, I have a working prototype of a Direct3D backend. It's far
> from finished, and uses Direct3D 9 where something like Direct3D 7 (or
> earlier) would probably be a better choice, but it is capable of
> displaying and accelerating 32-bit alpha-blended images. If anyone is
> interested in a copy of this code, let me know and I can send them a
> copy.


Cool. Please upload it somewhere
and post the link here.


CU
Roberto Prieto
2006-06-20 16:38:51 UTC
Permalink
Yeah!

I would like to test it!

Cheers!

----- Original Message -----
From: "Torsten Giebl" <***@syntheticsw.com>
To: "A list for developers using the SDL library. (includes SDL-announce)"
<***@libsdl.org>
Sent: Tuesday, June 20, 2006 5:53 PM
Subject: Re: [SDL] the future of SDL/directx


> Hello !
>
>
>> I was reading through my backlog of messages on the SDL mailing list and
>> I came across some messages regarding Direct3D in SDL. If anyone is
>> interested, I have a working prototype of a Direct3D backend. It's far
>> from finished, and uses Direct3D 9 where something like Direct3D 7 (or
>> earlier) would probably be a better choice, but it is capable of
>> displaying and accelerating 32-bit alpha-blended images. If anyone is
>> interested in a copy of this code, let me know and I can send them a
>> copy.
>
>
> Cool. Please upload it somewhere
> and post the link here.
>
>
> CU
>
>
> _______________________________________________
> SDL mailing list
> ***@libsdl.org
> http://www.libsdl.org/mailman/listinfo/sdl
>
> __________ Información de NOD32, revisión 1.1607 (20060619) __________
>
> Este mensaje ha sido analizado con NOD32 antivirus system
> http://www.nod32.com
>
>
David Ludwig
2006-06-22 16:38:14 UTC
Permalink
http://www.lakitu.net/~davidl/SDL-direct3d-PROTOTYPE.zip

A readme is included, along with the test app that I used.

Please note that the Direct3D code in here is far from being
production-quality. It was pieced together over the span of a few
weeks, after which time the project was scrapped in favor of a
proprietary, Direct3D 7-based solution (to note: the code in this
archive uses D3D 9.)

--
David Ludwig
***@funkitron.com


Torsten Giebl wrote:

>
>Cool. Please upload it somewhere
>and post the link here.
>
>
>CU
>
>
>_______________________________________________
>SDL mailing list
>***@libsdl.org
>http://www.libsdl.org/mailman/listinfo/sdl
>
>
>
Micah Brening
2006-03-21 14:44:22 UTC
Permalink
Stephane Marchesin <stephane.marchesin <at> wanadoo.fr> writes:
> Frankly, the directx 5 backend is not a future proof backend,
> considering support for directx 5 will be lacking in future windows
> releases, and driver support is already falling apart. For windows,
> someone should probably write a directx 9 backend for SDL, plus this
> would also allow hardware accelerated alpha blits (no, I didn't
> volunteer here, but I think people on this list would gladly help anyone
> undertaking this task).
>
> Stephane

Or, rather than a directx 9 backend, maybe a directx 8 backend? The Xbox uses
Directx 8, for those wanting to attempt programming for that. And 8 is also
the last supported version for Win95. While not top of the line, it is newer
than ver 5.

As for why even have it... OpenGL rules, don't get me wrong. I have some low
end machines I use to test to see just what kind of power my games need. With
pure directx, I get better fps than with opengl. Low end cards, terrible
opengl drivers, etc. As was brought out before, a good target is the casual
gamers which will be buying your low to mid range computers, most likely with
an intel graphics card, or something like that. In that case, software
rendering, or directx would be the best bet for special fx.

As for cross platform... Include a configuration file support, parse it for
what flags to send. example "DRIVER = OPENGL" so pass SDL_OPENGL.

But, obviously, if you are writing a 3d game, and you call for Directx, and you
even start calling directx functions, then you just made it only for windows.
If I'm not mistaken, that isn't what they are talking about though.

For a possible better performance on the windows platform, I say go for a newer
directx backend. Just because it is there doesn't force everyone to use it.
But at least it is there for those that want it.

Since it doesn't seem to be top priority to most that have posted on the
subject so far, I see no reason anyone should drop what they are doing to work
on it. But, if someone wants it that badly, I say write it, and lets try to
get it into 1.3.

But, I personally am working with Linux, so I won't be writing it any time
soon ;-)
Lazy Foo'
2006-03-21 03:42:35 UTC
Permalink
Gregory Smith <wolfy <at> treellama.org> writes:
> Is glSDL and windib the way to get hardware accelerated 2D going forward?
> This is a questionable choice given we don't know what will happen with
> OpenGL in Vista, and many older machines (who need hardware accelerated 2D
> the most) don't support OpenGL well.
>
> Or am I just paranoid and directx isn't going to be ignored :)
>
> Gregory
>

Nothing's wrong with OpenGL on vista:
http://blogs.msdn.com/kamvedbrat/archive/2006/02/22/537624.aspx

and if you're running a machine that doesn't support OpenGL, you're not a gamer.
Even ATI's "quirky" OpenGL support should be good enough. Making a D3D backend
is IMO a waste of time.
David Olofson
2006-03-21 08:32:20 UTC
Permalink
On Tuesday 21 March 2006 04:42, Lazy Foo' wrote:
[...]
> and if you're running a machine that doesn't support OpenGL, you're
> not a gamer.

If you're running a machine that doesn't support OpenGL, you're not a
*hardcore* gamer.

Gigantic difference!

The biggest market there is, is the casual games market - and the
average casual gamer is not the type of person who would install a
serious video card, or even know how to download and install third
party drivers for one.

But, do "casual games" need h/w acceleration? Well, as massive amounts
of eye candy has pretty much become the norm rather than an extra
bonus, even non-game applications pretty much require h/w
acceleration to feel smooth and responsive.


//David Olofson - Programmer, Composer, Open Source Advocate

.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
'-- http://www.reologica.se - Rheology instrumentation --'
Lazy Foo\'
2006-03-21 22:14:59 UTC
Permalink
David Olofson <david <at> olofson.net> writes:

>
> If you're running a machine that doesn't support OpenGL, you're not a
> *hardcore* gamer.
>

Even the non-hardcore gamers will have enough OpenGL support. It's not like
they'll need the latest version of GLSL for glSDL.
David Olofson
2006-03-21 22:43:26 UTC
Permalink
On Tuesday 21 March 2006 23:14, Lazy Foo' wrote:
> David Olofson <david <at> olofson.net> writes:
>
> >
> > If you're running a machine that doesn't support OpenGL, you're
> > not a *hardcore* gamer.
> >
>
> Even the non-hardcore gamers will have enough OpenGL support. It's
> not like they'll need the latest version of GLSL for glSDL.

Well, the late developments WRT Vista seem to suggest that we'll be
able to just use OpenGL on all platforms and be done with it. Very
good news!

However, there are a few 3D chipsets for which there are no OpenGL
drivers at all, and AFAIK, some versions of Windows required manual
installing of third party drivers for any OpenGL acceleration at all.
In current and previous versions of Windows, there seems to be no
real solution to that problem, short of proprietary wrappers.

Few enough remaining that you can just ignore them without losing
significant numbers of sales? I don't know, but many in the indie
games community suggest that there are quite a few of these
problematic systems out there.

My impression is that, at this point, releasing a non-hardcore Win32
title that requires OpenGL, is asking for trouble.


//David Olofson - Programmer, Composer, Open Source Advocate

.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
'-- http://www.reologica.se - Rheology instrumentation --'
Lazy Foo'
2006-03-22 01:01:16 UTC
Permalink
David Olofson <david <at> olofson.net> writes:

>
> My impression is that, at this point, releasing a non-hardcore Win32
> title that requires OpenGL, is asking for trouble.
>

You also have to remember that implementing a D3D backend basically doubles the
the amount of work into SDL's graphics for windows. Is it really worth slowing
down SDL's development for a few junk computers?

I say integrate glSDL and if there are any significant problems we'll look into
implementing a D3D backend.

Until I see any reliable statistics into whether there's a siginificant amount
of computers that can't support OpenGL I honestly think it's a waste of time
creating an entire second backend.
Ryan C. Gordon
2006-03-22 02:10:35 UTC
Permalink
> Until I see any reliable statistics into whether there's a siginificant amount
> of computers that can't support OpenGL I honestly think it's a waste of time
> creating an entire second backend.

SDL is mostly just a collection of backends. One more doesn't hurt. If
no one's bitching about the aalib backend, I don't think we need serious
statistics to write a backend for the way Microsoft recommends to get
bits to the screen on their platform in 2006.

--ryan.
Sam Lantinga
2006-03-22 02:18:06 UTC
Permalink
> SDL is mostly just a collection of backends. One more doesn't hurt. If
> no one's bitching about the aalib backend, I don't think we need serious
> statistics to write a backend for the way Microsoft recommends to get
> bits to the screen on their platform in 2006.

*laugh*

Now all we need is someone to step up and do it.

So... the windib driver seems to be more stable and work on a wide
variety of versions of Windows. Once we get a driver that uses the
latest snazzy DirectGraphics API, do we completely eliminate the
DirectDraw driver?

Also, I'd like to eliminate the hack that is OpenGL on windx5, if
possible, once the new driver is written. This will probably mean
reorganizing the windows driver into a unified one, with a single
window and event handling path, and then multiple sub-drivers for
the actual graphics output, depending on whether DirectGraphics is
available, and depending on whether OpenGL is requested.

Ugh...

-Sam Lantinga, Senior Software Engineer, Blizzard Entertainment
Torsten Giebl
2006-03-22 02:32:29 UTC
Permalink
Hello !


> Also, I'd like to eliminate the hack that is OpenGL on windx5, if
> possible, once the new driver is written. This will probably mean
> reorganizing the windows driver into a unified one, with a single window
> and event handling path, and then multiple sub-drivers for the actual
> graphics output, depending on whether DirectGraphics is available, and
> depending on whether OpenGL is requested.


What do you mean with OpenGL on WinDX5 ? I thought
it would not be possible to use OpenGL with DirectX ?


CU
Ryan C. Gordon
2006-03-22 03:23:44 UTC
Permalink
> So... the windib driver seems to be more stable and work on a wide
> variety of versions of Windows. Once we get a driver that uses the
> latest snazzy DirectGraphics API, do we completely eliminate the
> DirectDraw driver?

I think, yes, we probably should...as someone pointed out, DirectDraw is
already starting to rot in some drivers. WinDib or maybe glSDL will
cover the legacy people (Win95, WinNT, etc), and a Direct3D backend can
cover the rest.

As for your "ugh" comment: yeah, there's going to be some nastiness in
the transition, without any doubt. But all this seems like the right
move to get through the next five years (!) of SDL.

--ryan.
Rainer Deyke
2006-03-22 21:21:59 UTC
Permalink
Sam Lantinga wrote:
> So... the windib driver seems to be more stable and work on a wide
> variety of versions of Windows. Once we get a driver that uses the
> latest snazzy DirectGraphics API, do we completely eliminate the
> DirectDraw driver?

I rather like the idea of being able to run SDL apps on an old 486 with
no 3D capabilities running Windows 95 and getting 2D hardware
acceleration. (The windib driver provides no hardware acceleration and
therefore simply isn't fast enough on such an old computer.)


--
Rainer Deyke - ***@eldwood.com - http://eldwood.com
Lazy Foo\'
2006-03-22 02:39:53 UTC
Permalink
Ryan C. Gordon <icculus <at> icculus.org> writes:

>
> SDL is mostly just a collection of backends. One more doesn't hurt. If
> no one's bitching about the aalib backend, I don't think we need serious
> statistics to write a backend for the way Microsoft recommends to get
> bits to the screen on their platform in 2006.
>
> --ryan.
>

Well it probably would help SDL gain a bigger userbase.

and it would be nice to select support with something like this:

if( OpenGL_Supported() )
{
SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDLGL_HWSURFACE );
}
else
{
SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDLD3D_HWSURFACE );
}

I'm just sick of OpenGL alarmists.
David Olofson
2006-03-22 09:35:18 UTC
Permalink
On Wednesday 22 March 2006 03:10, Ryan C. Gordon wrote:
>
> > Until I see any reliable statistics into whether there's a
> > siginificant amount of computers that can't support OpenGL I
> > honestly think it's a waste of time creating an entire second
> > backend.
>
> SDL is mostly just a collection of backends. One more doesn't hurt.
> If no one's bitching about the aalib backend, I don't think we need
> serious statistics to write a backend for the way Microsoft
> recommends to get bits to the screen on their platform in 2006.

Well, it's just that someone has to do the coding. ;-)


//David Olofson - Programmer, Composer, Open Source Advocate

.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
'-- http://www.reologica.se - Rheology instrumentation --'
David Olofson
2006-03-22 09:32:31 UTC
Permalink
On Wednesday 22 March 2006 02:01, Lazy Foo' wrote:
> David Olofson <david <at> olofson.net> writes:
>
> >
> > My impression is that, at this point, releasing a non-hardcore
> > Win32 title that requires OpenGL, is asking for trouble.
> >
>
> You also have to remember that implementing a D3D backend basically
> doubles the the amount of work into SDL's graphics for windows. Is
> it really worth slowing down SDL's development for a few junk
> computers?

I frankly don't know. Like I said, many indie developers suggest that
there are enough of these machines that ignoring them is a bad idea
if you're trying to make money. But, like you, I'd like to see
reliable statistics before really acting on this.


> I say integrate glSDL and if there are any significant problems
> we'll look into implementing a D3D backend.
>
> Until I see any reliable statistics into whether there's a
> siginificant amount of computers that can't support OpenGL I
> honestly think it's a waste of time creating an entire second
> backend.

Of course. If I was really interested in D3D, I would have ported
glSDL long ago. As it is, I'm basically just hoping this D3D
"problem" will go away real soon, so I won't have to do extra work
just to properly support a platform that I don't really care for at
all.


//David Olofson - Programmer, Composer, Open Source Advocate

.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
'-- http://www.reologica.se - Rheology instrumentation --'
Patrice Mandin
2006-03-22 21:20:44 UTC
Permalink
Le Tue, 21 Mar 2006 23:43:26 +0100
David Olofson <***@olofson.net> a écrit:

> However, there are a few 3D chipsets for which there are no OpenGL
> drivers at all, and AFAIK, some versions of Windows required manual
> installing of third party drivers for any OpenGL acceleration at all.
> In current and previous versions of Windows, there seems to be no
> real solution to that problem, short of proprietary wrappers.

In Mesa, there is a Direct3D backend driver, but targetted for DirectX6
(so a bit old now), and has not been updated for a while:
http://www.mesa3d.org/RELNOTES-6.4.2

With it, it would provide the same 'OpenGL on Direct3D' as is planned
for Vista as default OpenGL implementation, for all win32 flavours.

--
Patrice Mandin
WWW: http://pmandin.atari.org/
Programmeur Linux, Atari
Spécialité: Développement, jeux
David Olofson
2006-03-23 00:04:18 UTC
Permalink
On Wednesday 22 March 2006 22:20, Patrice Mandin wrote:
> Le Tue, 21 Mar 2006 23:43:26 +0100
> David Olofson <***@olofson.net> a écrit:
>
> > However, there are a few 3D chipsets for which there are no OpenGL
> > drivers at all, and AFAIK, some versions of Windows required
> > manual installing of third party drivers for any OpenGL
> > acceleration at all.
> > In current and previous versions of Windows, there seems to be no
> > real solution to that problem, short of proprietary wrappers.
>
> In Mesa, there is a Direct3D backend driver, but targetted for
> DirectX6 (so a bit old now), and has not been updated for a while:
> http://www.mesa3d.org/RELNOTES-6.4.2

I know, but last thing I heard, it's broken and out of sync with the
rest of the current code base. :-/

Would be a really nice thing to have though, as the (current) SDL 2D
isn't really up to any more advanced accelerated rendering anyway -
and if I use OpenGL directly, a D3DSDL backend won't help... (And, I
don't want to use Direct3D directly in my application code, as my
development platform is Linux.)


//David Olofson - Programmer, Composer, Open Source Advocate

.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
'-- http://www.reologica.se - Rheology instrumentation --'
Dmitry Yakimov
2006-03-21 09:40:52 UTC
Permalink
Hi,

I tried glSDL on a VERY old machines and it worked like a charm.
That is because Windows since Win98 contains its own default
implementation of OpenGL and it works OK with glSDL.
Window Vista is requiring fast 3d card, and all 3d cards manufacturers
support OpenGL in their drivers.

And of course DirectX will be supported in (I think all) future versions
of SDL.
So there is nothing to worry about :)

p.s. I'm thinking about writing direct3d driver for SDL that will be
free of bugs of ddraw.

Best Regards,
Dmitry Yakimov
Torsten Giebl
2006-03-21 10:46:05 UTC
Permalink
Hello !


> Window Vista is
> requiring fast 3d card, and all 3d cards manufacturers support OpenGL in
> their drivers.


But on the net you can read, that
on Vista you have to disable GLASS
to get OpenGL support. I don't call the Vista
OpenGL Wrapper real OpenGL support.

I hope for SDL and other libs, that
there is a dynamic way on Vista
to let the App switch off GLASS,
run the OpenGL App and when it ends,
switch on GLASS.

So that there is no need for the User
to switch it off by hand.

CU
Daniel K. O.
2006-03-21 19:32:30 UTC
Permalink
Torsten Giebl escreveu:
> But on the net you can read, that
> on Vista you have to disable GLASS
> to get OpenGL support. I don't call the Vista
> OpenGL Wrapper real OpenGL support.
>

FUD.
See http://blogs.msdn.com/kamvedbrat/archive/2006/02/22/537624.aspx

According to this, there are 3 paths for OpenGL on Vista: emulated
through Direct3D (that doesn't disable the desktop compositor, and it's
certainly faster than a software implementation, as provided by all the
previous Windows versions), legacy (that will be faster and disable the
desktop compositor) and the new 3rd party ICD (compatible with the
desktop compositor, and no slower than any other).



---
Daniel K. O.
Ryan C. Gordon
2006-03-21 22:07:14 UTC
Permalink
> But on the net you can read, that
> on Vista you have to disable GLASS
> to get OpenGL support. I don't call the Vista
> OpenGL Wrapper real OpenGL support.

This isn't true as of a few days ago:

http://blogs.msdn.com/kamvedbrat/archive/2006/02/22/537624.aspx

Looks like you'll be able to do OpenGL 2.0 in a window on Vista, pixel
shaders and hardware acceleration and all, assuming your vendor (Nvidia,
ATI, etc) supply an updated driver, which they certainly will.

It's interesting how quickly that changed. Now Microsoft's "legacy" GL
renderer that's layered over Direct3D means everyone (even crappy
on-board chips) will get a decent GL implementation, hardware
accelerated so long as you don't need more than GL 1.4. Compared to what
you might end up with as a GL implementation for an on-board video chip
otherwise, this might actually be faster, more stable, and more
feature-complete, and takes pressure off the low-end vendors to deliver
anything other that D3D drivers. It also, more or less, guarantees that
you won't land in a GL software renderer on Vista.

And the hardcore will still have Nvidia and ATI drivers.

From here, it sounds like this just became a huge win for OpenGL.

--ryan.
Alan Wolfe
2006-03-21 22:11:32 UTC
Permalink
Horay!

-----Original Message-----
From: sdl-bounces+atrix2=***@libsdl.org
[mailto:sdl-bounces+atrix2=***@libsdl.org] On Behalf Of Ryan C. Gordon
Sent: Tuesday, March 21, 2006 2:07 PM
To: A list for developers using the SDL library. (includes SDL-announce)
Subject: Re: [SDL] the future of SDL/directx


> But on the net you can read, that
> on Vista you have to disable GLASS
> to get OpenGL support. I don't call the Vista
> OpenGL Wrapper real OpenGL support.

This isn't true as of a few days ago:

http://blogs.msdn.com/kamvedbrat/archive/2006/02/22/537624.aspx

Looks like you'll be able to do OpenGL 2.0 in a window on Vista, pixel
shaders and hardware acceleration and all, assuming your vendor (Nvidia,
ATI, etc) supply an updated driver, which they certainly will.

It's interesting how quickly that changed. Now Microsoft's "legacy" GL
renderer that's layered over Direct3D means everyone (even crappy
on-board chips) will get a decent GL implementation, hardware
accelerated so long as you don't need more than GL 1.4. Compared to what
you might end up with as a GL implementation for an on-board video chip
otherwise, this might actually be faster, more stable, and more
feature-complete, and takes pressure off the low-end vendors to deliver
anything other that D3D drivers. It also, more or less, guarantees that
you won't land in a GL software renderer on Vista.

And the hardcore will still have Nvidia and ATI drivers.

From here, it sounds like this just became a huge win for OpenGL.

--ryan.
Bob Pendleton
2006-03-22 21:05:52 UTC
Permalink
On Tue, 2006-03-21 at 17:07 -0500, Ryan C. Gordon wrote:
> > But on the net you can read, that
> > on Vista you have to disable GLASS
> > to get OpenGL support. I don't call the Vista
> > OpenGL Wrapper real OpenGL support.
>
> This isn't true as of a few days ago:
>
> http://blogs.msdn.com/kamvedbrat/archive/2006/02/22/537624.aspx
>
> Looks like you'll be able to do OpenGL 2.0 in a window on Vista, pixel
> shaders and hardware acceleration and all, assuming your vendor (Nvidia,
> ATI, etc) supply an updated driver, which they certainly will.
>
> It's interesting how quickly that changed. Now Microsoft's "legacy" GL
> renderer that's layered over Direct3D means everyone (even crappy
> on-board chips) will get a decent GL implementation, hardware
> accelerated so long as you don't need more than GL 1.4. Compared to what
> you might end up with as a GL implementation for an on-board video chip
> otherwise, this might actually be faster, more stable, and more
> feature-complete, and takes pressure off the low-end vendors to deliver
> anything other that D3D drivers. It also, more or less, guarantees that
> you won't land in a GL software renderer on Vista.
>
> And the hardcore will still have Nvidia and ATI drivers.
>
> From here, it sounds like this just became a huge win for OpenGL.

Damn right!

IMHO, what happened is that the original message from MS, that they were
dropping OpenGL support, was a combination of FUD and a trial balloon to
see how people would react. If there had been no strong reaction OpenGL
would have disappeared from Vista. But, there was a huge reaction. And
it wasn't just from gamers.

A lot of the reaction came from the engineering workstation software
vendors and users. The engineering workstation market is a stronghold of
UNIX/Linux and acts as an entry point for UNIX/Linux into the
enterprise. It is also the market where large corporations are still
willing to pay many thousands of dollars per seat for hardware. It is a
market that MS wants very very badly. Most of the high dollar
engineering applications are written using OpenGL. So, MS decided to
support OpenGL in vista. That decision got such a great reaction that MS
decided to provide even better support for OpenGL.

You can say a lot of things about MS, but you can't say they will do
something that will lock them out of an important market for software.

Bob Pendleton

>
> --ryan.
>
>
> _______________________________________________
> SDL mailing list
> ***@libsdl.org
> http://www.libsdl.org/mailman/listinfo/sdl
>
--
+--------------------------------------+
+ Bob Pendleton: writer and programmer +
+ email: ***@Pendleton.com +
+ web: www.GameProgrammer.com +
+ www.Wise2Food.com +
+ nutrient info on 7,000+ common foods +
+--------------------------------------+
Jesper Juul / Soup Games
2006-03-22 11:53:55 UTC
Permalink
>David Olofson <david <at> olofson.net> writes:
> >
> > My impression is that, at this point, releasing a non-hardcore Win32
> > title that requires OpenGL, is asking for trouble.
> >
>
>Until I see any reliable statistics into whether there's a siginificant amount
>of computers that can't support OpenGL I honestly think it's a waste of time
>creating an entire second backend.

Reflexive entertainment was forced to rewrite their game "Wik & the
Fable of Souls" because they could not rely on OpenGL drivers:
http://forums.indiegamer.com/showthread.php?t=810

"We found that GL drivers installed on most consumer machines weren't
reliable enough and rewrote it to do all the effects in software."


I think that if further work on SDL is based on the assumption that
OpenGL will be installed, commercial developers using SDL face quite a problem.


-Jesper Juul
Alan Wolfe
2006-03-22 21:06:53 UTC
Permalink
Well the good thing about sdl is that you can choose whatever backend you
want.

If you say "oops, opengl is kaput!" you could just have it use windib then.

Or, if opengl support gets to the level it should be at, you could recompile
your code from windib to opengl and bam, you'd have way more fps.

I personally would like to see an opengl backend.

In the computer world, standards tend to have momentum I think. OpenGL had
great momentum and I think MS pulled a typical trick of trying to throw
their weight around and make a new standard. The more people that want and
use OpenGL, the better support there will be for it I think.

I love GL and would like to see it more prevalent so don't mind the issues.

If you do mind the issues, you can just use a different backend, the GL
backend doesn't even have to be the default one.

-----Original Message-----
From: sdl-bounces+atrix2=***@libsdl.org
[mailto:sdl-bounces+atrix2=***@libsdl.org] On Behalf Of Jesper Juul /
Soup Games
Sent: Wednesday, March 22, 2006 3:54 AM
To: ***@libsdl.org
Subject: Re: [SDL] the future of SDL/directx


>David Olofson <david <at> olofson.net> writes:
> >
> > My impression is that, at this point, releasing a non-hardcore Win32
> > title that requires OpenGL, is asking for trouble.
> >
>
>Until I see any reliable statistics into whether there's a siginificant
amount
>of computers that can't support OpenGL I honestly think it's a waste of
time
>creating an entire second backend.

Reflexive entertainment was forced to rewrite their game "Wik & the
Fable of Souls" because they could not rely on OpenGL drivers:
http://forums.indiegamer.com/showthread.php?t=810

"We found that GL drivers installed on most consumer machines weren't
reliable enough and rewrote it to do all the effects in software."


I think that if further work on SDL is based on the assumption that
OpenGL will be installed, commercial developers using SDL face quite a
problem.


-Jesper Juul
Gregory Smith
2006-03-22 21:22:46 UTC
Permalink
On Wed, 22 Mar 2006, Alan Wolfe wrote:

> Well the good thing about sdl is that you can choose whatever backend you
> want.

Speaking of this, is it supported (i.e. should I file bugs if it doesn't
work) to quit the video subsystem, reset the video driver environment
variable, and restart the video subsystem? Or should I continue to advise
users to restart the app entirely?

Gregory
David Olofson
2006-03-22 23:51:37 UTC
Permalink
On Wednesday 22 March 2006 22:06, Alan Wolfe wrote:
> Well the good thing about sdl is that you can choose whatever
> backend you want.
>
> If you say "oops, opengl is kaput!" you could just have it use
> windib then.

This is not an option if you're using "high" resolutions and full
screen scrolling and/or lots of blending - and that sort of stuff
isn't exactly "hardcore only" these days.

Actually, designing something that looks good (by modern standards)
and still scales down to pure software rendering basically means you
have to create two or more different implementations of the whole
product. It's just not a realistic option, unless you live in some
dimension where the time/money relation is totally different from
what it is around here.

So, it's either OpenGL, Direct3D (and possibly one or two other
backends that don't exist on widely used platforms) - or total
failure!


Or, you can do what most indie developers do; use some BASIC dialect
or something, Direct3D, and forget about Mac OS, Linux and whatnot,
assuming that those platforms are next to insignificant anyway...

Seriously, if you actually want to create and sell games, that's
probably the most sensible option, as it is. SDL lacking proper
support for the single most important API in this field doesn't
exactly help changing that situation - and I think that's a big
shame, considering that SDL, some *real* high level language, and
some Free/Open Source development tools could make a really great,
powerfull and affordable toolkit to compete with these proprietary,
non standards compliant, non-portable etc etc packages most people
are relying on.


//David Olofson - Programmer, Composer, Open Source Advocate

.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
'-- http://www.reologica.se - Rheology instrumentation --'
Gregory Smith
2006-03-22 21:18:16 UTC
Permalink
On Wed, 22 Mar 2006, Jesper Juul / Soup Games wrote:

> I think that if further work on SDL is based on the assumption that
> OpenGL will be installed, commercial developers using SDL face quite a
> problem.

Open source games, too. Many of our users with integrated/old graphics
chipsets don't have the werewithall to update their drivers. Fortunately,
for the time being, they can drop back to software rendering and get
decent performance with the directx backend.

I don't know whether the built-in software renderer in win 98-XP and glSDL
will offer as good performance as the current directx backend...or whether
a d3dSDL backend, should someone write one, would either.

What I'm hearing about Vista from you guys sounds fantastic, though. Intel
and VIA/S3 are more competent at writing D3D drivers, so the
OpenGL-through-D3D emulation would be a considerable improvement over what
we get now...if Microsoft does it well. I've gone from worried back to my
usual low level distrust that Microsoft will do it right, with a little
optimism reserved for if they do.

Gregory
Loading...