PDA

View Full Version : SDL 1.3 Mix In - OpenGL >= 3.0



phibermon
17-10-2010, 03:40 PM
Hi All,

SDL 1.3 has been in heavy development for some time now, as you may or may not be aware you can't currently create OpenGL 3 Contexts with JEDI-SDL as it's a header translation of v1.2, which does not support OpenGL 3 Contexts.

A Full SDL 1.3 header translation is a task that I don't have time for, but no doubt JEDI-SDL will be updated when 1.3 goes public.

For the time being, I'm creating an SDL 1.3 mix in unit.

My only real goal here is to implement enough of the 1.3 specific exports, structures etc in order to be able to create the new style OpenGL context.

The idea being that you can then do anything else (input, sound etc) using the JEDI-SDL headers along with the SDL 1.2 backwards compatiblity that SDL 1.3 naturally supports.

Used in conjunction with the DelphiGL OpenGL header, this should provide a good cross platform framework for people looking to develop in OpenGL 3 and 4.

is anyone interested or does anyone know if this has already been done?

(I'm just testing it on windows for now so I don't have to write all the IFDEFS)

chronozphere
17-10-2010, 03:58 PM
As you allready might know, I am very interested in such a header. ;)

I would need the GL 3.x functionality, basic input for keyboard/mouse/joysticks and the timing functions. The rest is less important to me.

Nevertheless, I'll probably stick with SDL 1.2 for a while. When I have extra time, I will try to make a move towards SDL 1.3. :)

WILL
19-10-2010, 12:04 AM
You know, JEDI-SDL could probably use an update as far as it's headers. Frankly as probably the only existing header project, except to the FPC repository. (which just refers to JEDI-SDL anyways) considering that it's been 2+ years. Yeah this is a good idea indeed.

Something I've sort of felt for a time however is that JEDI-SDL as much as it's very faithful to the SDL API, it adds much as slightly deviates from just being a header translation. What is the feasibility of splitting JEDI-SDL into 2 separate projects; one for just the translated headers and the other for all the extra add-on libraries and functions, which are quite useful, but not bare-bones headers like some might be looking for to make their own library.

chronozphere
19-10-2010, 06:53 PM
Ok, some good news. :)

Seems like I, phibermon and Stoney are interested in porting the SDL 1.3 headers. We will mainly focus on the video and input aspect of SDL as those seem to be stable. The rest may come later.

Also I contacted Savage. He said that we could add the header to the JEDI-SDL repository to make it easily accessible for everyone.

WILL
20-10-2010, 04:37 AM
This is good news indeed. Be sure to keep up updated on your progress.

phibermon
22-10-2010, 08:56 AM
Sorry for my absence, yes we are indeed working on the SDL 1.3 header translations, but upon research I have some concerns about the future of SDL 1.3. It would appear that the Original Developer of SDL (and the IP holder) has intent on a commercially licensed version of SDL 1.3 along with the LGPL version. "He can't do that" I hear you say. Well no, you can still use all the LGPL code in Commercial apps, but according to his company's web page, he's working on large portions specific to Iphone development that I can only assume will not be part of the LGPL version.

Why is this bad? well it means that one of the SDLs best developers is not focused on the project. There are trivial bugs that have been sitting reported for up to a year in some cases, broken mouse support in windows and while there is modern GL context creation, currently no method for setting which Profile you wish to use (Core or compatibility, defaults to compatiblity which from my understanding will cause problems with some Core features)

That tied in with the fact they have no formal release schedule suggests that the project is being managed poorly at present hence the delays.

Don't be too worried however, it's still quite active and 1.3 will almost certainly be with us eventually. But it's not going to be any time soon.

We are still continuing with our 1.3 translation (I've nearly finished the most important parts of the headers) and I will do what I can to ensure our hard work does not go to waste. For windows at least I'll be certain to release 32bit and 64bit SDL1.3 DLL's which contain any available patches (and a few tweaks of my own) so you can use SDL1.3 without being impacted by it's current shortcomings :)

Linux, Mac OSX developers : I'll do what I can to provide you with workable solutions, feel free to query my obtained knowledge on the subject.

chronozphere
22-10-2010, 09:47 AM
I did some additional research and things might not be as bad as you picture them. ;)

First of all, the FAQ (http://www.galaxygameworks.com/license-FAQ.html)states that:



What is included with the commercial license?
You get SDL under a commercial license that grants you the ability to statically link SDL with your application.


So you can still dynamicly link for free. :) Also:



Q: Do I really need the commercial license, even if I have a commercial game?
Absolutely not!

If you're building on platforms that support shared objects (e.g. Windows DLL, UNIX shared libraries, Mac OS X frameworks), then you can just link with the shared library and include a README mentioning that you use SDL and where it can be updated and you're done.

If you're building on an embedded platform that doesn't support shared objects (e.g. Nintendo DS) or they are prohibited by the vendor's license (e.g. iPhone) then you can link with SDL statically and then provide your source to your customers so they can rebuild your application with a customized SDL library.

However, if you would like the comfort of a solid company backing the product, or would like to statically link SDL into your application and don't want to release the source, then the commercial license is the one for you.


So indie dev is perfeclty possible. Dynamicly link for free or staticly link and provide the SDL source. The license is only for those who need official support or want to make their own closed changes to the lib.

And most importantly:



Can I evaluate SDL for free before buying a license?
Yes!

The commercially licensed version and the open source versions of SDL are exactly the same. You can evaluate SDL for as long as you want during development, the only limitation is that you must obtain a license before releasing your product to the public.

The current PRE-RELEASE snapshot of SDL 1.3 can be downloaded here.


So we all get the good stuff. :D

petethepoet
15-01-2011, 01:50 PM
Hi all,

Dominique was kind enough to send me the sdl.pas version 1.2 unit a few days ago. :)

Does anyone have the Lazarus translations of the other units from Delphi to Lazarus for 1.2 or 1.3 ? :-[

I am particularly interested in the SDLMonoFonts.pas unit and the Lazarus conversion of it.

Best Regards,
pew

Cybermonkey
30-06-2011, 08:26 AM
Any news about a SDL 1.3 unit? I would really like to port my project over to 1.3.

chronozphere
30-06-2011, 03:12 PM
This project is pretty dead now. But maybe it will come back to life depending on SDL's status and motivation. ;)

Stoney
30-06-2011, 05:06 PM
I made a Github repository for SDL 1.3: https://github.com/Stoney-FD/sdl13-pascal
They are currently for iOS only and incomplete, I haven't tested it for any other platforms, but I'm sure they could work on other platforms if the library constants would be changed.