View previous topic :: View next topic |
Author |
Message |
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Tue Dec 05, 2006 7:59 pm Post subject: The State of Derelict: Seeking Contributions |
|
|
Sometime ago I announced that I would be adding an option to Derelict to allow static linkage with import libraries. The concept was implemented in DerelictAL. I was never really 100? confident in that decision. Now, I'm at a point where I've changed my mind again. I'm not going to pursue that direction at all. Doing so definitely breaks one of my goals with Derelict: simplicity. The library doesn't need to be all things to all people. It only needs to achieve the goals I set out for it at the beginning of the project. It does so without the static linkage option, but would add complexity in initial implementation and long-term maintenance of each package. So, that idea is now dead and I don't care to revive it.
I've got some time coming up this month where I will be able to devote some effort to Derelict. There are a couple of things I'd like to get done before DMD 1.0 comes on Jan 1.
First, I'd really like to knock out all of the extensions in DerelictGL. It is my goal to implement every extension that was not incorporated into 1.1 (since 1.1 is the baseline for DerelictGL, it doesn't make sense to add support for extensions like texture objects that were rolled into 1.1). It's not difficult work, just somewhat time-consuming, particularly for someone who isn't well-versed in all the extensions. Because of this, I would be incredibly happy if any of you contribute extension loaders for some of the GL_EXT extensions (following the current framework, of course). I still need to implement a framework for the platform-specific extensions, so I'm not worried about those yet.
Next, I'd like to add some new packages. I've not added any in a while. I'm particularly interested in doing a DerelictFMOD and DerelictFMODEx. I'll handle those on my own. However, I would very much love to include a DerelictPNG and a DerelictJPG for libpng and libjpg. Additionally, if any of you have ideas for packages you'd like to see included, you can suggest them in the forums or go ahead and implement them for submission. As always, I make no promises about whether or not I will include any of them in the trunk, but it doesn't hurt to have them available. As an example, there was a DerelictBASSMOD submission some time ago that I plan to incorporate.
I'm asking for help, particularly with the GL extensions, because I have a great many things to do outside of Derelict. Anything that saves me time is a win, both for me and for the project. Derelict has quite a few users, some of whom have already contributed in different ways. I ask each of you to consider how you could contribute to the project, even if it is only one GL extension module. Starting in January, I'm going to be even busier for a few months, so anything that doesn't make it in this month has a small chance of getting done for a while if I do it all.
So that's it. There aren't going to be any earth-shattering changes to any of the Derelict packages. I think the current framework works well and don't see any need to adjust it. Next year, I might see if there's any way we can make use of new D features, such as tuples, to improve things internally. No rush on that though.
If there's anything you want to see (other than static linkage) or that needs to be fixed soon, now is the time to let me know. _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
quartz
Joined: 02 Jul 2006 Posts: 35 Location: Florida, US
|
Posted: Fri Dec 08, 2006 9:13 pm Post subject: |
|
|
Hi aldacron,
Me and a fellow programmer are interested in creating a package for ODE.org. We plan on using ODE for our projects and would like to access them using the Derelict approach plus contribute to Derelict.
I, myself, would wouldn't mind helping you with the extensions if I knew where to start and what exactly you would be looking for. As you said the format is there it's just a matter of doing the extensions. My question would be "how much does one need to know about the an extension to be able to add it to Derelict?". Is it just a bunch of labor or much more?
P.S. I have been using your excellent code for about 6 months now, nice job!
-Will. |
|
Back to top |
|
|
JoeCoder
Joined: 29 Oct 2005 Posts: 294
|
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Sat Dec 09, 2006 4:18 pm Post subject: |
|
|
quartz wrote: | Me and a fellow programmer are interested in creating a package for ODE.org. We plan on using ODE for our projects and would like to access them using the Derelict approach plus contribute to Derelict. |
DerelictODE would be fantastic.
Quote: | I, myself, would wouldn't mind helping you with the extensions if I knew where to start and what exactly you would be looking for. As you said the format is there it's just a matter of doing the extensions. My question would be "how much does one need to know about the an extension to be able to add it to Derelict?". Is it just a bunch of labor or much more? |
You need to know the new constants an extension defines, if any, the new functions it defines, if any, the string identifier of the extension, and the name of the extension. There is a registry of all extensions online at http://www.opengl.org/registry/. A recent version of glext.h is a big help as well.
I should clarify that I will be working backwards from the most recent extensions to the oldest. Asking loosely for contributions like this, with no formal assignments or tracking, will almost certainly result in duplicate effort if several people work on it. But if you start from the oldest, or somewhere in the middle, and just do two or three that chance should be reduced.
Quote: |
P.S. I have been using your excellent code for about 6 months now, nice job! |
It's the work of several people, so thanks from all of us _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
quartz
Joined: 02 Jul 2006 Posts: 35 Location: Florida, US
|
Posted: Mon Dec 11, 2006 7:58 pm Post subject: |
|
|
JoeCoder:
Thanks. I checked out the links and it appears as if that ODE implementation is dead and thanks for the tip on extern. Not worry we should have it going again.
aldacron:
I am going to pull down the lastest and check out the opengl registry. I pulled the glext.h file and will start taking a look at it. For tracking I guess I could post to this thread perhaps? |
|
Back to top |
|
|
quartz
Joined: 02 Jul 2006 Posts: 35 Location: Florida, US
|
Posted: Mon Dec 11, 2006 11:32 pm Post subject: |
|
|
aldacon,
I compiled Derelict (on linux) with the lastest dmd, bud and Derelict code. I needed to make one change to build_release.txt and build_debug.txt to get the libraries to create. I added the "-op" flag. Without it the .o files go to the current directory. I saw on another thread someone talking about it. Is this something that is missing from the .txt files? I check the trunk online and it is missing in them.
Also, I noticed that sdl mixer.d had a compile error (using dmd .177) warning of:
DerelictSDLMixer/derelict/sdl/mixer.d(122): Error: cannot implicitly convert expression (file) of type char[] to char*
I fixed by adding toStringz() as in:
import std.string;
...
Mix_Chunk* Mix_LoadWAV(char[] file)
{
return Mix_LoadWAV_RW(SDL_RWFromFile(toStringz(file), "rb"), 1);
}
I need to test it but I feel confident as I used it with SDL_Image to load png images.
I also began looking into the opengl extensions and I guess I will pick something in the middle.
Cheers.
-Will. |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
|
Back to top |
|
|
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Tue Dec 19, 2006 2:37 pm Post subject: |
|
|
Aldacron,
I noticed something else in derelict. For some reason code that looks like...
struct MyStruct;
needs to be replaced with
struct MyStruct {}
or else DMD will not recognize the symbols on either windows or linux with the latest (dmd .177) compiler.
To save you time in the future, you also might want to use the -v1 switch to stabalize derelict on D 1.0. |
|
Back to top |
|
|
alphabeta
Joined: 31 Jul 2006 Posts: 1
|
Posted: Tue Dec 19, 2006 3:05 pm Post subject: |
|
|
I've been sitting on a derelictified version of CG for a while.. (1.5, core library, cgfx, cggl (not directx. I'm developing on linux, so they didn't come in my sdk :p)
I've tried to keep to your convention
I did however use typedefs instead of alias for the enums, as I feel alias removes all the typesafety enums provide in the first place, making large libraries harder to use and more bug prone.
I understand why you chose alias though, and can agree with the cause, but at the time I just did it because I felt it better fit my needs.
For all I know, someones already done this. If so, ignore :p If not, I can send it to someone.. don't have a place to put it
PS: This includes the cggl bindings, which required linking to opengl, so I ended up adding the global flag to dlopen, which is not the best solution. If anyone has a better idea, open to it
PPS: This all arose with the help of gregor's bcd tools He made cggl bindings, which were then derelictified into this in order to play better with derelictGL. |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Thu Dec 21, 2006 3:04 am Post subject: |
|
|
I'd love to take a look at what you've done. I've never used CG, but as long as there are no special-case issues regarding it's use I won't have any problems adding it to the trunk. _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
|
|
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
|