Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / DBP "CAN" run openGL and DirectX at the same time! -> Proof...

Author
Message
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Jul 2012 15:26 Edited at: 30th Jul 2012 15:28
Hello everyone... Me again...

Yes, I've got Dark Basic Pro to run both openGL and DirectX at the same time.

I won't be continuing this project because I've other things to work on at the moment.

The demonstration is attached to this post. Download and have fun...

The API I've used is Irrlicht from http://irrlicht.sourceforge.net

Here's the code:



Screenshot will follow:



Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Jul 2012 15:27
Reserved for screeny...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 30th Jul 2012 15:34 Edited at: 30th Jul 2012 15:34
Great job WGLfx !! This will come in handy for those who want to learn how to use Irrlicht. It's great that Irrlicht is a Commercial and Royalty free 3D engine.

Thanks for posting this.
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 30th Jul 2012 15:39
Mega sweet!

Sergey K
20
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 30th Jul 2012 15:46
what runs faster? DX or GL in dbp engine?

Advanced Updater for your games!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Jul 2012 16:02
I've not tested the comparison out yet. I just wanted to see if I could get both opengl and directx working from the same exe file.

I'm not planning on continuing it just yet as I've got a game project on the go and I really should be getting back onto that.

One thing I can say though is that if you load a texture in using irrlicht and the filename has already been flagged as loaded then it will use that, ie for texturing multiple objects.

DBP natively runs very fast anyway. Saying that, you can't really compare the speed of compiled basic with something like C++.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 30th Jul 2012 16:25
This is pretty cool. Would you be interested in releasing the source of this project sometime in the future?

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Jul 2012 16:27
@Dar13 - Yes, of course if someone else would like to continue the project, or work with me on it. Irrlicht is very OO, but probably the easiest 3D C++ engine to use.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 30th Jul 2012 16:35
Quote: "@Dar13 - Yes, of course if someone else would like to continue the project, or work with me on it. Irrlicht is very OO, but probably the easiest 3D C++ engine to use."

I'd be interested, though I have my own projects to work on. I agree with the easiest 3D C++ engine, as I've tried both Irrlicht and Ogre3D. I felt more comfortable in Ogre for some reason.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 30th Jul 2012 16:46
I'll archive the project for now but if you drop me an email sometime then I'll send it to you. It was very fiddly to re-compile the irrlicht engine into a static lib and then create another dll for DBP with it. A lot of googling and re-ka-jigging of include directories.

After playing around with Irrlicht for quite some time now, I'd probably find Ogre3D a bit easier to use now than when I tried it yonks ago.

If this project does move on sometime in the future it has some potential. Irrlicht has a lot of features to it that can easily be adapted for DBP. And also being able to transfer meshes to and from irrlicht and DBP. Irrlicht loads up more 3D file formats than DBP. So that in itself would be a bonus.

This was really only an experiment...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 30th Jul 2012 18:13
Quote: "If this project does move on sometime in the future it has some potential. Irrlicht has a lot of features to it that can easily be adapted for DBP. And also being able to transfer meshes to and from irrlicht and DBP. Irrlicht loads up more 3D file formats than DBP. So that in itself would be a bonus."

That would be a relatively easy thing to do if I remember Irrlicht's mesh handling correctly(it's even pretty easy in Ogre).

Seppuku Arts
Moderator
19
Years of Service
User Offline
Joined: 18th Aug 2004
Location: Cambridgeshire, England
Posted: 30th Jul 2012 20:07 Edited at: 30th Jul 2012 23:03
Looks awesome, this has just given me an idea and I might give it a shot. I've had Irrlicht Lime on my computer for a while now and not really used it, wouldn't it be cool to set it up to using Dark GDK like commands? Just an idea, but I might see if I can explore it. Perhaps have a 'DarkIrr.NET' project.

[edit] Based on your inspiration, I explored a little, I don't know Irrlicht too well, but it seems pretty easy to grasp, because it works differently to DBP, a few adjustments may be necessary to make it work with DBP style commands, I might have to make adjustments to the native DB commands to explore this idea.

Example:


DarkGUI.cs


Dark3D.cs


Not trying to hijack a thread, but your idea seems cool and would be neat for the DBP community. It's just inspired a potential project idea here too.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 30th Jul 2012 23:41
If anyone cares to do the searching deep down in the bowels of the forums, somebody posted a GL HACK. Don't remember the specifics but I think it was some type of replacement core.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 31st Jul 2012 00:55
When I played around with this I wanted just to try it out. I'm not replacing the core in anyway, just adding on top of it.

I'd never heard of Irrlicht Lime before today, probably because I've never used .NET but it looks just as good as the original API.

Depending on the interest and feedback about this I might just continue adding the Irrlicht API to DBP. It would probably take some time to do but may be worth it.

With Irrlicht being a completely OOP API, I'm just returning the pointers to the nodes back to DBP, which are then used in the function calls. It could also have a simple but fast interface to access internal data of textures, meshes, etc, which can then in turn be moved to and from Irrlicht and DBP. This could also lead to some dirty and dangerous coding and would depend on the programmer to be careful handling their code.

The good thing about the API which interested me when I found out about it, is it only exposes one single function in the DLL or the LIB. Everything else is hidden and accessed via the included header files.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 1st Aug 2012 04:51
I was having a headache adding some multi-threading functionality into another project and came back to this to add a few more commands from the Irrlicht API. The need for a design layout to have threads running is a must.

It now loads images and meshes from the HD into a mesh node or directly into a scene node and also allows to add meshes (instancing) to the scene.

Got some of the 2D functions working and the built in font.

Creates basic primitives, cube, sphere, cone, etc.

Now that I've got the built in font working and a few other bits I'll do a speed comparison soon between DBP's DirectX and Irrlicht's openGL. This should be easy enough as either DBP or Irr doesn't have to have automatic updating and can run nicely together. Not yet though because I'm going to bed...

This will be slow progress but you never know, I might get to the point where object meshes can be transferred between DBP and Irrlicht easy enough.

@Sepp - I spotted that post on your site... Cool... Your site is so much tidier.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 1st Aug 2012 18:28
Attached is a quick 3D benchmark result between native DBP and DarkIrrlicht.

On my system: (Advent 8117 laptop, dual core 1.73Ghz, 2Gb Ram, Intel 943GML graphics)

Native DBP - 316 FPS
DarkIrrlicht - 426 FPS



Progress on this addition will be very slow as I've other priorities.

Things to do:

Animated meshes
Materials
Light handling
Collision
etc, blah, etc

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 1st Aug 2012 18:54 Edited at: 1st Aug 2012 18:54
Here is my results..

Intel HD 3000 Graphics card on my computer.

Quad Core i5-2500K

8 Gigs Ram

Attachments

Login to view attachments
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 1st Aug 2012 18:57
Hmmm... I might open the option to allow the selection of the Irrlicht driver choices. DirectX8/9, openGL, software, etc...

Interesting results so far then...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 1st Aug 2012 19:21
I have pretty much the same setup as JackDawson and with the exception of using the HD2000 with the i5 2500 [not K] I got slight more just over 800 on 'Di' and around 1600~ as JackDawson did in DBP...

Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 1st Aug 2012 19:46
It might be that the DBPro application is using some video memory(it's still rendering those cubes) and it's affecting the DarkIrrlicht rendering sequence. Did some quick research and it appears that the HD-x000 series uses shared memory which is slower(and less available) than dedicated video memory.

I have a 2GB GTX 550Ti and I get 1200+ fps on both benchmarks.

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 1st Aug 2012 20:43
Just having to re-compile the Irrlicht library to include DX8 and DX9 then I should have some extra results for the DX Irrlicht versions.

The Irrlicht lib I have compiled is without the DX in it because I was only using the openGL renderer... Shouldn't be too long getting another test done...

Getting some interesting results so far though.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 1st Aug 2012 21:23 Edited at: 1st Aug 2012 21:27
Attached is the updated version with support now for DX9, openGL, software, Burningsvideo renderers. All available from within DBP...



Added DirectX 9 support... On my laptop the FPS difference now between native DBP 316 FPS and DarkIrrlicht DX9 382...

If anyone could test the difference I would appreciate it.

Going test out animated meshes and light support now...

EDIT: My laptop seems to run openGL faster than DX...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 1st Aug 2012 21:36 Edited at: 1st Aug 2012 21:44
ok, so I redid the test. OpenGL still shows roughly the same FPS as I previously show in my picture. But when I chose DirectX9 it shows that irrlicht is FASTER then DBP by 400 frames a second.

Remember guys.. OpenGL is SOFTWARE rendering on the older OpenGL versions which is what Irrlicht uses. The newer OpenGL versions are now using the new hardware interfacing, which irrlicht has not caught up to the newer OpenGL versions. The newer openGL versions such as 3.0+ and higher are getting just as fast as DirectX.

I love the new Hardware Tessellation that OpenGL 3.0x can do now. Irrlicht doesn't have this ability. Its an old 3D engine.

Since Lee is going to be updating DBP to DirectX 11, we will have many features that only DirectX 11 can provide. I am drooling over this. If Irrlicht was caught up to modern OpenGL then it would murder DirectX as far as portability. As it is, DirectX 11 is still windows only.

EDIT UPDATE : I am currently checking in to see if there is an override in the irrlicht engine that shows that you can use the higher OpenGL Profiles. so far, not seeing it.
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 1st Aug 2012 21:48 Edited at: 1st Aug 2012 21:49
From the Irrlicht features page:
Quote: "The Irrlicht Engine supports 6 rendering APIs, which are 5 more than most other 3D engines do:
Direct3D 8.1
Direct3D 9.0
OpenGL 1.2-3.x
The Irrlicht Engine software renderer.
The Burningsvideo Software Renderer
A null device.
"

I've dis-regarded DX8 in my build of the library because in my previous experience it's now neither use nor ornament.

Currently I am working on adding full material support and lights and animated/static meshes.

EDIT: The API will make use of the features available on your setup.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
JackDawson
12
Years of Service
User Offline
Joined: 12th Jul 2011
Location:
Posted: 1st Aug 2012 21:50
Thanks for finding that. I wonder if you can specify which OpenGL version Core Profile.
Olby
20
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 1st Aug 2012 23:52
I get roughly 820 with DBP and 780 with OpenGL. DX9 Irr gave me tremendous 960 fps.


Intel Core2Duo 2.2GHZ, 2GB, GeForce 8600M GT 1280MB, Windows Vista Ultimate SP2, PureBasic 4.61 + DarkGDK 2.0
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 2nd Aug 2012 00:00 Edited at: 3rd Aug 2012 02:42
I'm at the stage now thinking, "What do I do with this?"

Do I continue with it or do I drop it?

Yes, it more than easy to carry on with it, but there's things going through my head about taking this project further.

Is there anyone that could possibly advise me on this project?

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
Mr Bigglesworth
16
Years of Service
User Offline
Joined: 4th Mar 2008
Location:
Posted: 2nd Aug 2012 00:30
I think you should see how far this could go. With DarkBASIC being an easy lanague to learn, this could go far. Think if you turned Ogre3Dm or even CryEngine into a plugin (If it were legal )
Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 2nd Aug 2012 02:12
Quote: "Think if you turned Ogre3Dm or even CryEngine"

That would be more trouble than it's worth. Ogre3D is a lot harder to set up properly compared to Irrlicht.

Example Irrlicht code:


Example Ogre3D code(taken from my project):


Latch
17
Years of Service
User Offline
Joined: 23rd Jul 2006
Location:
Posted: 3rd Aug 2012 01:05 Edited at: 3rd Aug 2012 02:19
Quote: "I'm at the stage now thinking, "What do I do with this?"
Do I continue with it or do I drop it?
Yes, it more than easy to carry on with it, but there's things going through my head about taking this project further.
Is there anyone that could possibly advise me on this project?"

Well, if you just made the DBPro command set available for use through irrlicht, then you'd have a cross-platform DBPro. I guess that would mean a lot of work. It would mean you'd need your own way of parsing a DBPro source file and running the irrlicht commands since you wouldn't want to have to run through the DBPro compiler. I guess that wouldn't be too far from making your own compiler of sorts, except so much of the work is done by irrlicht already including the ability to change the rendering engine.

How many "out of the box" commands are there in DBPro - not including any plugins? Maybe 600 or so? If that's so, if you did 10 commands a day you could get it done in 2 months. 1 command a day, 2 years!

Enjoy your day.
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 3rd Aug 2012 02:41 Edited at: 3rd Aug 2012 02:43
@Latch - I wasn't even considering making a compiled language for this at all as I'm a C/C++ coder anyways. All I was thinking was that should I carry on testing this out and see how far I can take it for DBP. The conscience clash came when the speed differences were making a difference.

Anyways, Lights added and almost got the animated meshes sorted out. All the material settings are in place. You can now load any object from a file, md2, md3, b3d, x, obj, 3ds, etc and add them to the scene manager.

At first I thought the original cube benchmark was unfair as I hadn't added lights at that time and the cubes I was suspicious that they didn't have the same vertices count.. Now that lights have been added, I tested it out and still in DX9 mode there's a significant difference in FPS, Irrlicht DX9 is still giving a higher FPS rate by far.

The latest test, with lights and meshes loaded from disk this time, to be with DBP and DarkIrrlicht, I get 32 FPS in DBP and 41 FPS in Irrlicht... All the tests are attached to this post...

Screenshot to follow:




Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 7th Aug 2012 23:44 Edited at: 9th Aug 2012 01:57
I've re-written the core plugin library and although still a way to go yet, the main core will be ready to use shortly.

Here's a list of the functions so far:



Just adding the video driver functions to the list now which makes things a little more exciting as DarkIrrlicht will allow you to use your own 2D and 3D rendering lists stored anywhere, ie in a memblock. Here's the snippet from the core Irrlicht library:


When this piece has been added and the base SceneNode done then I'll post the updated dll with a few examples showing both engines running at the same time as well as a benchmark between the both of them.

EDIT: Updated function list with the added node controls lib...

EDIT2: Updated 'irrvid' functions. Also created the dll. Will have an example or two when I wake sometime tomorrow....

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 10th Aug 2012 18:47 Edited at: 10th Aug 2012 18:48
DarkIrrlicht - Irrlicht for Dark Basic Pro - V0.3

List of functions so far: (actually the ini file has the DBP versions of the functions, ... whoops)



Simple example code:



Version 0.3 beta attached to this post...

TO DO:

1. Add tons more Irrlicht functions
2. Transfer meshes between Irrlicht and DBP
3. err um...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
Juggernaut
12
Years of Service
User Offline
Joined: 12th Mar 2012
Location:
Posted: 12th Aug 2012 17:25
How are you creating the wrapper ?
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 12th Aug 2012 21:43
Wrappers are made by writing a DBP plug-in (this is documented in DBP itself) and writing functions that call other functions. His wrapper probably interacts with the existing DBPro window (which is returned through GlobStruct which can be passed via ReceiveCorePtr or grabbed via GetGlobPtr~ (don't remember exact function names)). There's a tutorial available on the Irrlicht website which explains how this is done.

Personally this project seems trivial to me at the moment (not a lot of functions exposed, not a lot of original functionality) as it appears to be more of a proof of concept.

Cheers,
Aaron

Juggernaut
12
Years of Service
User Offline
Joined: 12th Mar 2012
Location:
Posted: 13th Aug 2012 01:51
Thank you Aaron for dropping by and giving an insight.
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 13th Aug 2012 02:08
@Aaron Miller - This only started out as an experiment originally but since the D3D renderer from irrlicht is actually faster than DBP's I decided to slowly re-build it from scratch and group the functions. For me it will take some time to do.

If someone wants to carry on with it and take over the source then let me know. It's all in Visual Studio 2010 C++, fully commented and easy to read.

With the other project that I'm working on I can only add to this in dribs and drabs and I've hardly put any documentation together for it.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 13th Aug 2012 04:15
@WLGfx
Not knocking your efforts, and I realize it takes a bit of time to do this sort of thing. The DBP language, as is, does not provide a lot of mechanisms that are useful for the normal crowd of Irrlicht users. e.g., OOP concepts and such. While it's a neat idea to have Irrlicht in DBP, I don't think it's something people should be doing unless there's an expressed (and justifiable) demand for it. Although the D3D renderer is faster in Irrlicht I think the major pull toward Dark Basic is diminished. Therefore, the wrapper would, IMO, be more useful for another language. There are plenty of Basics out there, after all. :[/i])

That said, I think setting up a Git repository would be great. If you like, I can do this for you. (I also have VC2010 so I can get it all set up.) I wouldn't mind contributing every once in a while, but I can't say how often that would be.

Also, I urge you to look into setting up scripts to automate certain things for you. e.g., generate the resource table and keywords file automatically. (Scan header files for strings like "EXPORT <return-type> <function-name>(<parameters>;") I've done that sort of thing before and it helps productivity a lot. If you're already doing that, disregard.

@Juggernaut
Glad that helped. i]
)

Cheers,
Aaron

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 13th Aug 2012 04:30
Git repositories are something I've never before so I would need some help along with that. If you're interested in adding something to this and setting up the git thing then I'd really appreciate it. If you email me then I can email the project over to you. It currently consists of the Irrlicht source project which compiles into a static lib, the DBPro headers and lib and the DarkIrrlicht source project. Plus I'm using the Aug 2007 DirectX SDK.

After a post in the Programming forums and getting a reply from Diggsey on a subject has given me an idea for setting up auto resource string table management and an ini configuration file setup. I've never done that before today as there's never been that many exported functions to need one.

Tonight I added a little more, Animated Meshes and the Material handler and the Axis Aligned Boxes handler. I needed a break from debugging some code I've been working on for the other project.

Thanks

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 13th Aug 2012 04:59
Alright WLGfx, I've sent you an email and set up a repo. i][/i])

Cheers,
Aaron

Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 13th Aug 2012 05:11
Quote: "Alright WLGfx, I've sent you an email and set up a repo."

Link? I might just dust off Irrlicht to contribute to this project.

And if we're doing an Irrlicht wrapper, perhaps an Ogre one could be further down the road.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 13th Aug 2012 05:22
There's nothing worth noting in the repo yet, but here you go: https://github.com/AaronMiller/DarkIrrlicht

Cheers,
Aaron

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 13th Aug 2012 06:00
Just uploading the current archive to my drop box folder... Once you've setup the repo I'll just follow the instructions the best I can to suss it out...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 13th Aug 2012 06:42
@Aaron Miller - email sent with the Dropbox public link...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 13th Aug 2012 08:47
The repository is now populated. I had to update the .gitignore file to ignore some of the extra files (like *.tlog, and *.intermediate.manifest, etc). These are non-essential files.

@WLGfx
I'm just waiting for you to get a GitHub account so I can make you the admin of the repo. Let me know when you've got the account and I'll guide you through using Git.

Cheers,
Aaron

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 13th Aug 2012 13:20
Now signed up to Github (uname-WLGfx, email via the same I used)

I managed to find the project but ain't a clue now what to do, I probably have to be logged as an editor or something...

Did you manage to get it to compile okay?

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Seppuku Arts
Moderator
19
Years of Service
User Offline
Joined: 18th Aug 2004
Location: Cambridgeshire, England
Posted: 13th Aug 2012 13:58
Quote: " e.g., OOP concepts and such."


Speaking of which, bare in mind I only compiled my first ever DLL yesterday, I have wondered would it be possible to add OOP functionality through a third party DLL? Perhaps have a DLL that allows you to create and use classes in a similar manner to how we use types. Or do we lack the flexibility to do that? I'd be a neat addition to DBP and would solve that problem IMO.

I don't think an Irrlicht wrapper would attract Irrlicht users so much (because generally they're already knowledgeable with C++ or C# or even Visual Basic), but I think it may attract current DBP users. I've used Irrlicht Lime and got Irrlicht set up in VC++ 2010, but using Irrlicht in DBP seems like a groovy novelty and also, it's especially useful as it means more speed and the ability to use Open GL. Though to attract DBP users, I think it'd need to be simple enough for them to grasp the concepts - though I wouldn't through out some of Irrlicht's concepts, like its draw commands or its use of nodes (would be hard to eliminate I imagine anyway).

I would offer to help, but I am a C++ newb (intermediate at C#) but I've got my head around methods, loops, classes, structs and variables and also the basics of creating a DLL for DBP. If there was some way you think you might benefit from me helping, I can see what I can do. I am also using VC++ 2010 (but express version, I can't edit resource files, but then it's not as if I can't use notepad as a work around).

WLGfx
16
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 13th Aug 2012 14:13
@Sepp - The actual wrapper for the DarkIrrlicht project is very easy to do. And all it does is return a pointer to a class object, as you mentioned. When using that class object, such as a node from Irrlicht's engine, you pass that along with the other variables.

The other sections of Irrlicht, such as its own <array> classes, can be turned into DBP functions too. I made a start yesterday with the Axis-Aligned boxes, which can be check for simple sollisions with lines, boxes, etc. Thus adding the OO from C++.

As soon as I get the admin access to the Git code I'll start by adding the rest to the Axis Aligned boxes and updating the materials.

For example, here's just two functions that have been wrapped for DBP:



To use them in DBP it's just:



Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Seppuku Arts
Moderator
19
Years of Service
User Offline
Joined: 18th Aug 2004
Location: Cambridgeshire, England
Posted: 13th Aug 2012 15:09 Edited at: 13th Aug 2012 15:11
I see, well I'd be willing to give it a shot. I think I understand the concept of making a DLL (the point of yesterday's test), the main thing is the string tables look confusing to me, but I'm sure it wouldn't take long for me to get my head around them - after all, there is documentation in the DBP help file. If I get my head around the functions of the DLL, maybe I could write some tutorials targeted at DBP users, as there'd be new concepts to learn.

Juggernaut
12
Years of Service
User Offline
Joined: 12th Mar 2012
Location:
Posted: 13th Aug 2012 16:47 Edited at: 13th Aug 2012 16:48
Can I have a peek at it too to learn how you folks do such advanced stuff ? I may not be able to help much but still I want to learn if it does not hurt anybody.

Sorry I did not see the link is already there on the second page. Thank you for sharing.

Login to post a reply

Server time is: 2024-03-28 21:26:35
Your offset time is: 2024-03-28 21:26:35