FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Derelict2 Branch Begun

 
Post new topic   Reply to topic     Forum Index -> Derelict
View previous topic :: View next topic  
Author Message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Thu Mar 12, 2009 8:15 am    Post subject: Derelict2 Branch Begun Reply with quote

OK, I couldn't wait anymore. The initial commit of the Derelict2 branch can now be found in the repo (http://svn.dsource.org/projects/derelict/branches/Derelict2, or viewed online at http://www.dsource.org/projects/derelict/browser/branches.

Before getting this started, I wanted to get all of the packages in the trunk streamlined and updated to the latest versions. This is largely complete with two notable exceptions: DerelictFT is not yet updated to FreeType 2.3.9, and DerelictGL is still missing a number of extension modules and is not yet updated for OpenGL 3.0. Things are likely to stay that way in the trunk.

I started to add all of the WGL extensions to DerelictGL (something I'd been wanting to do for a long while) and then put in the other missing extensions. I kept putting off the WGL stuff because I knew it would require a little bit of rearchitecting the internals, due to the nature of loading wgl extensions. I did get it working succsessfully, but the result was a bit of a mess. The DerelictGL internals are already a big mess as it is, and I didn't think it could get worse! After implementing a handful of extensions, I changed my mind. There are two reasons.

First, Derelict2 contains a rearchitected loader infrastructure. The goal is to make it not only easier to maintain, but also to add more flexibility when a package needs to deviate from the norm (as DerelictGL does, with all of the context management and extension loading to worry about). Second, the extension framework in Derelict2's DerelictGL will get a total overhaul. It won't look anything like it does now. So giving myself more work by adding more extensions to the trunk that will just need to be converted to the new architecture anyway, doesn't make much sense Smile

What I'm saying here, if you haven't caught on, is that the trunk is from this moment on FROZEN except for bugfixes. Don't expect any new gl extensions, any more package updates, or any new packages at all. All new work will go into Derelict2 from here on out.

Now, with that out of the way, let's talk about Derelict2. The initial commit contains three packages: DerelictAL, DerelictSDL, and DerelictUtil (don't worry, the others will come along eventually). I can verify that they compile fine in the following Win32 build environments:

D1 Phobos (DMD 1.041)
D1 Tango (DMD 1.033 bundle)
D1 Tango (DMD 1.040)
D2 Phobos (DMD 2.026)

Yes. Derelict2 is D2 compatible (on the surface anyway). I've build and tested an OpenAL app, though not extensively. My time for this stuff is limited, so I'd like to leave as much of the testing to the community as I can.

So I would love for you guys to grab these packages and tear them up. Windows, Mac, Linux, D1, D2, Phobos, Tango... please put the stuff through its paces and let me know of any problems. I'm particularly interested to hear about SDL on Mac. I haven't touched the MacInit stuff (and on that note, I'd really love if somoene could condense the MacInit modules a bit -- without a Mac to work on, I'd be doing it in the dark).

As the other packages get migrated, you can expect to see a few new things, including updated OpenGL support (OpenGL 3.x and all of the missing extensions) with a new extension loading framework, a DerelictSDL2 package for the SDL 1.3 (future 2.0) branch, and the return of DerelictGLFW.

As always, I make no promises on delivery dates. I'm busier now than ever, so don't expect to see it all completed any time soon. And any and all help is appreciated.
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
eldar



Joined: 14 Jun 2008
Posts: 101
Location: Ufa, Russia

PostPosted: Thu Mar 12, 2009 9:07 am    Post subject: Reply with quote

As I mentioned in other thread derelict doesn't work with QtD, since it requires to link opengl libraries at link time. For basic opengl support I made straight forward headers port(iirc it's opengl 1.1) and put it into QtD. For my app I also need opengl extensions, so what I did I ripped some parts of derelict, modified them to use QtD opengl wrapper plus modified glx and wgl correspondingly. But this way of doing things is not really robust, because it's not very beautiful to maintain derelict clone. Do you think if there is any way to not to tie derelict opengl extensions to the derelict's core opengl stuff(and I'm still not sure how to bind opengl > 1.1)?
Back to top
View user's profile Send private message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Thu Mar 12, 2009 10:31 am    Post subject: Reply with quote

eldar wrote:
As I mentioned in other thread derelict doesn't work with QtD, since it requires to link opengl libraries at link time.


Hopefully, one of these days we'll find a workaround for that.

Quote:
Do you think if there is any way to not to tie derelict opengl extensions to the derelict's core opengl stuff(and I'm still not sure how to bind opengl > 1.1)?


The new architecture should make it easier to pull the extension loading out of Derelict and use it elsewhere. There will be fewer files to contend with, but you will still need to make some modifications. The reason it's tied to the Derelict core is to abstract between Phobos/Tango/D2 and the different platforms without duplicating code, so don't count on that changing.
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Thu Mar 12, 2009 10:48 am    Post subject: Reply with quote

Actually, I may have found a solution to the segfault problem. I've uploaded a potential fix to the trunk. Could you try it and see if it works?
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
eldar



Joined: 14 Jun 2008
Posts: 101
Location: Ufa, Russia

PostPosted: Fri Mar 13, 2009 1:07 pm    Post subject: Reply with quote

I grabbed a revision from trunk and it appears not to work. I got 3 errors so far:
1)
derelict => DerelictODE
derelict/ode/odetypes.d(66): Error: identifier 'PI' is not defined
derelict/ode/odetypes.d(67): Error: identifier 'SQRT1_2' is not defined
derelict/ode/odetypes.d(66): Error: identifier 'PI' is not defined
derelict/ode/odetypes.d(66): Error: identifier 'PI' is not defined
derelict/ode/odetypes.d(67): Error: identifier 'SQRT1_2' is not defined
derelict/ode/odetypes.d(67): Error: identifier 'SQRT1_2' is not defined

I just removed this package from dsss, I don't need it.

2)
derelict => DerelictUtil
derelict/util/loader.d(206): Error: undefined identifier RTLD_NLLOAD

This is typo(NOLOAD), but enum is defined in such a way that it's not included in the source because I use tango, I moved it outside of that version else statement

3)
derelict => DerelictSDLMixer
derelict/sdl/mixer.d(36): module types cannot read file 'derelict/sdl/types.d'
Command /home/eldar/d/bin/rebuild returned with code 256, aborting.

Also error.

And regarding to the problem - it still segfaults Sad
Back to top
View user's profile Send private message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Fri Mar 13, 2009 5:19 pm    Post subject: Reply with quote

Gah! Sorry about all the bugs. I've fixed them in the trunk. As for the segfault, I'll just boot into Linux and see if I can come up with a solution.
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Fri Mar 13, 2009 8:11 pm    Post subject: Reply with quote

Let's take this QT discussion back to the orignal thread.
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
zkp0s



Joined: 04 Apr 2009
Posts: 5

PostPosted: Sun Apr 05, 2009 6:56 pm    Post subject: Not compiling Reply with quote

when I try to compile, I get:

Creating imports for DerelictUtil

derelict => DerelictUtil
derelict/util/sharedlib.d(235): Error: identifier 'SharedLibHandle' is not defined
derelict/util/sharedlib.d(235): Error: SharedLibHandle is used as a type
derelict/util/sharedlib.d(235): variable derelict.util.sharedlib.SharedLib._hlib voids have no value
derelict/util/sharedlib.d(235): Error: identifier 'SharedLibHandle' is not defined
derelict/util/sharedlib.d(235): Error: SharedLibHandle is used as a type
derelict/util/sharedlib.d(235): variable derelict.util.sharedlib.SharedLib._hlib voids have no value
Command /home/g2/dsss/bin/rebuild returned with code 256, aborting.
_________________
void delegate(void) void_delegate;
Back to top
View user's profile Send private message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Sun Apr 05, 2009 7:15 pm    Post subject: Reply with quote

I've committed what should be a fix for that. I've done no work on the Linux version of Derelict2 yet. OpenGL, for instance, is missing the glx stuff. The other packages *should* be ok.
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
zkp0s



Joined: 04 Apr 2009
Posts: 5

PostPosted: Mon Apr 06, 2009 2:28 pm    Post subject: Finally... Reply with quote

Finally DerelictSDL and DerelictAL compiled.

I just had to change a char[] to string in sdl.mixer
Could someone post a test for derelictSDL? , please Shocked
_________________
void delegate(void) void_delegate;
Back to top
View user's profile Send private message
mwarning



Joined: 01 Apr 2007
Posts: 56

PostPosted: Wed Apr 15, 2009 6:45 am    Post subject: Reply with quote

Looks like *nix system weren't tested yet.
There are imports missing.
Back to top
View user's profile Send private message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Wed Apr 15, 2009 6:58 pm    Post subject: Reply with quote

Yeah, I haven't done any Linux work on it yet.
_________________
The One With D | The One With Aldacron | D Bits
Back to top
View user's profile Send private message Send e-mail
yinqiaol
Guest





PostPosted: Thu Feb 10, 2011 8:00 pm    Post subject: Reply with quote

I just tried out as you suggested and it works great
Thank you so much.
Back to top
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Derelict All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group