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.

Geek Culture / Anyone have DirectX ambitions?

Author
Message
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 23rd Feb 2010 17:43 Edited at: 23rd Feb 2010 20:00
I have a burning desire to wrap directX myself, its completely unrealistic to think one person could do this in any kind of realistic time-frame though.

Just wondering if anyone else has similar ambitions? I did try it once and learned alot, my C++ was very limited back then and it is still a little limited now.

Its not something I am ready to start doing but I do read up on a few things from time to time, I am commited to dosp(darkGDK open source project) at the moment but may try and get a DirectX project going in the future.

My first goal might be to simply render primitive objects with physics/collision, maybe make a small puzzle game like tetris or something.

It may be important to realise that you are not going to make Warcraft or anything like that, basic stuff first and see how it goes. It might be more of a learning process than an actual attempt to make a great engine.

Any thoughts?

David R
20
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 23rd Feb 2010 17:59 Edited at: 23rd Feb 2010 18:06
EDIT: Irrespective of what you do API wise, make sure you're confident with C/C++. If you don't know the basics, any fancy stuff on top of it will fall flat on its face


Do GL first.

Far easier to get to grips with than DX, and it's cross platform too. Once you get the gist of how GL works (and the principles of 3D rendering - drawing, transforms etc.) learning DX should be far easier

(the problem with going into DX straight away is that you'll find it tricky to pick apart the actual rendering code from the 'janitor code' that sets up the window, sets up COM, takes care of events etc. GL, on the other hand, is extremely simple to get going, and there are even bindings for Java etc. - so you could learn GL in isolation but then apply it to a different language later, since the bindings keep the same functions etc.)

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 23rd Feb 2010 18:42
Quote: "Do GL first.

Far easier to get to grips with than DX"


What? DirectX is far, far easier IMO, thanks to an OO design.

David R
20
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 23rd Feb 2010 18:54
Quote: "What? DirectX is far, far easier IMO, thanks to an OO design."


Understanding COM is far more difficult than pushing and popping off of a stack. Also, it fits with an OOP design but if he's a newbie to C/C++ then that probably isn't a benefit (C++ when you start is effectively just going to be C going through a C++ compiler)

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 23rd Feb 2010 20:11
I suppose the DirectX-OpenGL debate is the first point in any engines creation, I would definitaly consider OpenGL, would be silly not to as its the most important decision.

I said DirectX as I am a little familiar with it, I'm not a newbie to C++ but I still have stuff to learn.

More pro's and cons of GL/DX might be good.

Jeku
Moderator
20
Years of Service
User Offline
Joined: 4th Jul 2003
Location: Vancouver, British Columbia, Canada
Posted: 23rd Feb 2010 20:23
Quote: "(the problem with going into DX straight away is that you'll find it tricky to pick apart the actual rendering code from the 'janitor code' that sets up the window, sets up COM, takes care of events etc. "


The window creation and event handling is easily separated from the rendering parts of DirectX. In my experience that particular thing wasn't a tricky aspect of DX programming in the slightest.

As you said, OpenGL works with Java as well, but is that a smart thing to recommend to someone learning C++? There's absolutely no benefit to learning Java first, if your end goal is to learn C++.


Senior Web Developer - Nokia
David R
20
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 23rd Feb 2010 20:45 Edited at: 23rd Feb 2010 20:54
Quote: "As you said, OpenGL works with Java as well, but is that a smart thing to recommend to someone learning C++? There's absolutely no benefit to learning Java first, if your end goal is to learn C++.
"


Agreed - but what I mean is that if you learn it inside of Java (say, with LWJGL) you can concentrate on understanding the 3D + the API (because the API calls are identical) and not have to grapple with the additional complexities of C++ underneath as well (so you can easily differentiate between a misunderstanding of the API, and say, some trivial error elsewhere)

And if the OP is relatively competent in C++ he should be able to just drop into Java fairly easily and experiment with GL (similar syntax and all that). I see it as sort of learning it in a 'sandbox' (Java) and then applying it to the real thing (C++).

This is assuming OP wants to actually understand the code / 3D transforms and all that, rather than just copying and pasting code

Quote: "I'm not a newbie to C++ but I still have stuff to learn."


IMO that's meaningless because there's always something left to learn

EDIT: I was just assuming you were a complete C/C++ novice but based on some of your WIP stuff and questions you obviously aren't. So just go for all-out DX on top of C++

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 23rd Feb 2010 21:46
Quote: "This is assuming OP wants to actually understand the code / 3D transforms and all that, rather than just copying and pasting code"


I done alot of copying and pasting on my last DirectX outing lol, I am planning to learn matrix math as this is where I become a little stuck last time, plus I do like maths anyway.

I would not start an engine with DirectX without someone on the team who fully understands the matrix/quaternion stuff.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 23rd Feb 2010 22:39
I've made about 10 DirectX wrappers now. Only two are actually complete and they both are ones that attach themselves to the DBPro rendering engine so they're not complete.

DirectX is a lot easier than OpenGL.

thenerd
15
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 23rd Feb 2010 23:11
Xarshi was talking about making a directx 10 wrapper dll, I don't know if he's working on it now...

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 23rd Feb 2010 23:49
@kaedroho
Would your terrain plug-in be able to plug in to any DirectX based engine?

If I ever did start an engine I would probably want to rely on some third party plug-ins, network, physics, terrain etc I think anyway.
Is this feasible?

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 23rd Feb 2010 23:55
I made a complete directx 9.0 nvidia physx, xaudio2 and windows api commands static libs. So yes it is possible you can do it. I call mine C17 static libs. They are free to use. Get them at www.jegas.com if you want.

But it took a long time, but was worth it.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 24th Feb 2010 00:21
david w - downloading now, I've actually seen this before, did Jason P from these forums work on it also?

If you done the physics you may have a solution to a problem I'm having integrating PhysX into DGDK.
If an actor is dynamic then the physics is updating its rotation and position, I use dbSetObjectWorldMatrix() to update the object but this causes issues, when you use dbGetAngleX() etc.. they have not changed, probably because I have bypassed some internal data and set the matrix directly.
What do I do?
I am trying to retrieve the actor orientation as a vector myself but you can only get the orientation matrix or quaternion directly so I'm stumped

Any advice would be welcomed, its driving me crazy, my kids have not seen me for two weeks lol.

Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 24th Feb 2010 00:29
@matty halewood
Why do you need euler angles?

Either:
- Use quaternions/matrices for all your object orientations
- Transform a unit vector by the object's matrix/quaternion. This will let you point other objects in the same direction. (Although you will lose the roll angle)
- Look at this site: http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToEuler/index.htm
It has equations for converting matrix->euler and quaternion->euler. However, they use a different rotation order from DBPro, so you will need to adjust the equations accordingly. Make sure you take into account the singularities. (These will also be at different rotations in DBPro to the ones described on that site, but the idea is the same).

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 24th Feb 2010 00:50
Quote: "Why do you need euler angles?"


If the user wants the camera to follow a dynamic actor you need the euler angles for the camera functions, dbRotateCamera() etc..

Thanks for the info, I will investigate one by one.

Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 24th Feb 2010 21:10
For cameras, look at this post: http://forum.thegamecreators.com/?m=forum_view&t=112858&b=18

It has the DBP/GDK camera structure declaration, so you can set the view matrix directly.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 24th Feb 2010 22:06
Wow Diggsey, thanks.

I will implement my own custom camera movement for dynamic actors, I just need to try and think if there are any other reasons people may need the euler angles.

I got the math for 'quaternion to euler' from that site you linked to and I'm currently implementing it, it is working for 9/10 of my dynamic actors so I still have something wrong, but this is also probably slow so the new camera idea may be a life saver, thanks.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 24th Feb 2010 23:14
Quote: "You can get a void pointer to it by getting a handle to the camera dll, and calling the function "?GetInternalData@@YAPAXH@Z""


I have never done anything like this before, how do I do this?

Satchmo
18
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 24th Feb 2010 23:22
Quote: "I have a burning desire to wrap directX myself, its completely unrealistic to think one person could do this in any kind of realistic time-frame though."


Who says so? Lee single handedly wrote DBPro after all.

Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 24th Feb 2010 23:26
Quote: "You can get a void pointer to it by getting a handle to the camera dll, and calling the function "?GetInternalData@@YAPAXH@Z"


That was for writing a plugin for DBPro. All you have to in GDK is call 'dbGetCameraInternalData'.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 25th Feb 2010 00:40 Edited at: 25th Feb 2010 00:40
@Satchmo - I said so lol, I should have said I could not do it in a realistic time frame.

@Diggsey - Done that, after reading up a bit on void pointers.
Now it seems that I may need to learn a bit of matrix math (transformations etc), is that right?
If I do, then thats not a problem as I want to learn that stuff anyway, its just that I will have to tell people my plug-in update may take a bit longer.

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 25th Feb 2010 05:05
@matty halewood -- sorry It took me a bit to get back to you. But jason helped me a bit on the xaudio lib.

I think what you need to do is get angle for physx and then you can use that to apply the rotations in dbp. I think it was something like. MyActor->getangle() or something along those lines. If you need more detailed help I can.

contact me at dwestfall10070@hotmail.com
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 25th Feb 2010 11:22
Quote: "MyActor->getangle() or something along those lines"


I wish so much that this command existed but is doesn't.

anActor->getAngularVelocity(), I haven't tried to use this as I think after a while the object may get more and more out of step with the actor.

anActor->getGlobalOrientation()
anActor->getGlobalOrientationQuat()
anActor->getGlobalPose()

All of the above return matrices or quaternions so I would need to convert to euler myself which is not straight forward to say the least. I am looking into creating my own set of functions for dynamic actors, mainly a camera function which matches the actor matrix with some sort of transformation given by the user, as at the moment dbObjectAngleX() etc.. are completely redundant for dynamic actors.

Thanks for your help, you may get an email one day soon.

kaedroho
16
Years of Service
User Offline
Joined: 21st Aug 2007
Location: Oxford,UK
Posted: 25th Feb 2010 11:30
Quote: "@kaedroho
Would your terrain plug-in be able to plug in to any DirectX based engine?"


I have planned a release which doesn't depend on the DBP/GDK engine and use it to port BlitzTerrain to other engines. That release will also be made available.

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 25th Feb 2010 15:18
I know there is an "get angle", and "set angle" command in physx. I've used it, I have to look back in my projects and see how to access it. I have an exam today so I will look when I get back from school.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 25th Feb 2010 16:11
@kaedroho - Thats great news, making my own engine is getting more and more appealing, with david w's C17 and your terrain there is some real potential there.

@david w - I would appreciate it lots if you could have a look for me, there are ways to set the angle(although should only be done when setting up the dynamic actor) but afaik you cannot retrieve a non-kinematic dynamic actors orientation easily as it is being updated by the physics, I'm praying I am wrong.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 25th Feb 2010 17:41
Quote: "Who says so? Lee single handedly wrote DBPro after all."


No, Lee & Mike wrote it..

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 26th Feb 2010 04:27 Edited at: 26th Feb 2010 04:30
Ok I looked it up in one of my old projects.

Actor->getGlobalOrientation()

and

Actor->setGlobalOrientation( NewRot)

where NewRot is NxReal, and the matrix is NxMat33
This will allow you to set the and get rotations of the x,y,z axis. You shouldn't have many problems now. Works in and out of the physx update cycle. Just be sure your getting and setting where you want.(obviously changes won't be realized until the next call to update)
Hope that helps.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 26th Feb 2010 09:21
Thanks david, but the fact that I can only get the orientation as a matrix is my problem, I need euler angles. I have been on this issue a while and have come to the conclusion that in general, getting the euler angles is not efficient and for most people is never needed as they are working with matrices for everything.

My problem stems from the fact that I'm using dark basic so if I want to do something like this:



I cant, because I have no way of getting the euler angles.
Thanks for your time though, I will post back if I find a solution, writing my own camera class may be the way to go.

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 26th Feb 2010 15:53 Edited at: 26th Feb 2010 16:02
Cant you just convert the data in the matrix into euler angles?

http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToEuler/

http://www.gamedev.net/community/forums/topic.asp?topic_id=409758

I would actually like to figure this out myself. I dont use the euler angles, but it would be handy. Let me know if you make any progress.
david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 26th Feb 2010 16:41
TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 26th Feb 2010 17:05
Quote: "I have a burning desire to wrap directX myself, its completely unrealistic to think one person could do this in any kind of realistic time-frame though."
I too considered wrapping DX awhile back, but, I really want to move from the game/engine systems development into the game content/game development after DOSP. Once one starts working with DX directly, the need for a wrapper may become obsolete.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 26th Feb 2010 17:39
Thanks for the links david, I actually used that first site to come up with this:



Its not optimized as I am not going to use it, it kind of works, it acts a bit strange around the poles, would be ideal to just get a one off orientation but to use it in every loop to update another object would not work around the poles, you get some flipping.

That gem looks like it could be a real gem, but I am trying another route at the moment, basically, getting euler angles from a rotation matrix is not usually done as it is slow, so once you have a matrix system you really need to stick to matrices and only set the rotation with euler angles.

I noticed that even when dark basic uses free rotation commands(dbTurnRight), the get rotation commans no longer function as normal, in other words they no longer return euler angles, so if dark basic commands can nerf the 'get rotation' commands then so can I. I will work on my own functions to match the camera(or object) orientation to an object using matrices.


@Techlord - I would also like to make a few games with S3GE before I move on but I will always have one eye on maybe using a lighter wrapper(C17) or doing my own in the future. Putting in networking, physics etc.. from the start may result in a faster engine. I worry sometimes that once we put detailed models, physics, shadows, networking and effects into a game using S3GE it may just be too slow due to DarkGDK limitations, but thats what drives me to make the physics as efficient as possible.

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 27th Feb 2010 09:26
Quote: "I would also like to make a few games with S3GE before I move on but I will always have one eye on maybe using a lighter wrapper(C17) or doing my own in the future. Putting in networking, physics etc.. from the start may result in a faster engine. I worry sometimes that once we put detailed models, physics, shadows, networking and effects into a game using S3GE it may just be too slow due to DarkGDK limitations, but thats what drives me to make the physics as efficient as possible."


We are putting networking, physics etc.. from the start of S3GE. We already have the libs in place. Its just takes lots of planning, organization, and time to implement and integrate them. We are making progress and the development speed will increase as the engine features are added.

Thats the beauty in using DGDK/C++. If it cannot handle what we throw at it, we can swap out its wrappers with our own. However, I have complete confidence that DGDK can handle the job. Its been developed by a Team of Professionals with indepth knowledge on DirectX and experience in C++.

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 27th Feb 2010 10:04
Im not exactly sure what s3ge is, but DGDK hmm.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 27th Feb 2010 13:58
Quote: "Thats the beauty in using DGDK/C++. If it cannot handle what we throw at it, we can swap out its wrappers with our own. However, I have complete confidence that DGDK can handle the job. Its been developed by a Team of Professionals with indepth knowledge on DirectX and experience in C++."


I think you are right that certain DGDK functionality can be re-wrapped ourselves but I'm not sure to what extent this is possible, I mean, is everything re-wrappable?

I also have no doubt that the dbPro team are professional and have wrote a brilliant wrapper, but they will have made design choices to make dbPro really easy to use as a basic language, I'm thinking they will have made sacrifices in performance to get this ease of use system in place.

As DGDK is essentially dbPro for C++, then for someone who is well versed in C++ and wants to make a state of the art game then DGDK may be a little self-defeating as they wont need this basic interface and the limitations that may exist because of it.

I actually have no idea if there are major limitations in DGDK, I am just going off things I have read in these forums. Davids comment above is a good example.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 27th Feb 2010 16:06
Quote: "For cameras, look at this post: http://forum.thegamecreators.com/?m=forum_view&t=112858&b=18

It has the DBP/GDK camera structure declaration, so you can set the view matrix directly."


@Diggsey

O.K, I have this:


So I have access to the camera structure but I'm not sure how to set the view matrix myself, I dont think I will need help building the matrix but I just need to know how to set it once I have it.
I try this:


But this does not seem to do anything, there are alot of variables I don't know how to use, bOverride etc.. not sure if I need to use a combination of these variables, anyway, hopefully you have done it yourself and you could show me how you set the view matrix yourself.
Thanks.

Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 27th Feb 2010 16:20
Set 'bOverride' to true, and set 'matOverride' to the matrix containing the transform.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 27th Feb 2010 16:58 Edited at: 27th Feb 2010 17:15
Thanks Diggsey, I'm trying that but I'm still doing something wrong, here is my code:



I run this at the start of every loop.

I pulled this off the internet so I only half understand it but the important thing is that it is not affecting my camera in any way, I know I have the pointer to the right camera as I have been able to change its position directly:



But this is the only way I have been able to affect the camera so far.


EDIT updated code but still does not work.

Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 27th Feb 2010 17:58
D3DXMatrixRotationYawPitchRoll

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 27th Feb 2010 22:15
Sorry to keep coming back, I do try different things for hours on end before I resort to coming back for help.

I have changed the code that builds the matrix, I don't know if its right but thats not my concern right now, it just seems that changing the matOverride variable does not do anything, also bOverride is already true before I do anything which I find strange.




Any insight would be great.

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 28th Feb 2010 00:45 Edited at: 28th Feb 2010 00:48
Ok I'm kinda lost here. What are you trying to do exactly? I've been assuming your using GDK with Nvidia Physx, but sometimes it seems like your using some other wrapper with GDK.

I think your trying to make GDK/DBP's camera be controlled by PhysX, but for some reason your unable to make it happen.

I've never tried to get my PhysX lib to work with GDK but I don't see any real reason why it shouldn't. What I am trying to say is I have no experience trying to make a lib or .dll work with GDK/DBP. I do however I do have a very good understanding how physx and directx work.

I can say for a fact that I would never have made C17 with Phsyx if GDK and DarkPhysX were up to the task. Period. I have been working on C17 since it was posted, and have since added many new commands and features. I can and will add anything that is a reasonable request to the system. If there is a bug I will fix it. I will not just sit there while I have known bugs, and not do anything/little about them. I won't suggest a work around to solve the problem, I will solve the problem.

If you are serious about making a large in-depth game you cannot use gdk or dbp. If you want to make small games, or tech demo's then dbp is the way to go. Every tool has its place. DBP/GDK are the same system. A limitation in DBP transfers directly into GDK. DBP/GDK are excellent rapid application/idea test platforms. They however are not well suited to lage scale or complex game development.
(note: I never said they couldn't make a large scale game.)(how many headaches do you want when trying to work around a problem or a memory leak that is unfixable?)
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 28th Feb 2010 00:57 Edited at: 28th Feb 2010 00:58
hmm, it appears that this functionality is broken for cameras if that doesn't work. Try setting the free flight view matrix instead. You also need to set a boolean variable to tell it to use the free flight rotation matrix (If I remember correctly it should be fairly obvious which ones to set)

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 28th Feb 2010 01:28 Edited at: 28th Feb 2010 01:36
@david w - I am integrating PhysX into DarkGDK, as you know the physics updates your dynamic non-kinematic actors, so I just use dbSetObjectWorldMatrix() to update the rendered objects directly, this by-passes some internal data so all the position and rotation data stays the same, sometimes this may not matter, but it means that dbObjectAngleX(), dbObjectAngleY(), dbObjectAngleZ() dont update, so try and set your camera to follow an object controlled by the physics and you can't do it without getting the euler angles from the physX actor matrix or controlling the camera yourself with matrices which is where I am now.

I am writing it as a stand alone plug-in, but it is mainly being developed for Techlords open source game engine, I too am weary about DGDK capabilities but on the other hand we are developing the tools and plug-ins that should push DGDK further than anyone has so far, I hope.


@Diggsey - Gonna try that now, thanks.

Edit:
If I try the free flight matrix, everything changes colour and the screen does not refresh, I get to see all the frames from the past and present at once lol, anyway at least something is happening, I will have a play with it tomorrow.

TechLord
21
Years of Service
User Offline
Joined: 19th Dec 2002
Location: TheGameDevStore.com
Posted: 2nd Mar 2010 12:33
Quote: "If you are serious about making a large in-depth game you cannot use gdk or dbp. If you want to make small games, or tech demo's then dbp is the way to go."


I disagree with the above statement because the limitations in DBP do not exist in DGDK. An example of this would be the lack of array support for DBP's user define types. The workaround for this feature alone creates an enormous amount of work in DBP. I'm weilding unimaginable power and freedom in C++, that's impossible in DBP.

Quote: "I am writing it as a stand alone plug-in, but it is mainly being developed for Techlords open source game engine, I too am weary about DGDK capabilities but on the other hand we are developing the tools and plug-ins that should push DGDK further than anyone has so far, I hope."


I would say that we're using DGDK as the primary DX Rendering Wrapper, but, we arent limited to it (after all its C++). We have already extended the Super 3D Game Engine feature set beyond that of DGDK with the integration of several free C++ Libs LUA, Box2D, Physx, Others.

Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 2nd Mar 2010 14:48
Quote: "I would say that we're using DGDK as the primary DX Rendering Wrapper, but, we arent limited to it (after all its C++). We have already extended the Super 3D Game Engine feature set beyond that of DGDK with the integration of several free C++ Libs LUA, Box2D, Physx, Others."


I am having real issues because of DGDK simple interface, there is no official access to the matrices of objects, camera's etc.
If we are not that dependent on DGDK, is it possible that we could change the renderer to something else? trying to reverse engineer the wrapper is taking a long time.

That said, there is a possibility that once I overcome these difficulties it may be plane sailing from then on, with any luck

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 2nd Mar 2010 15:10 Edited at: 2nd Mar 2010 15:14
@TechLord, while I can agree with you about the UDT + Arrays, and other things that C++ takes over, such as variable handling and file access. I still stand by my previous statement that DGDK is DBP, and as such most of the major issues (bugs\memory leaks\pure speed, etc.) are still present and you simply can't avoid them or even work around them. It is true that DGDK can be faster than DBP. It is also true that even with DGDK you simply can't overcome many of the limitations DBP places on you.

@matty halewood, I really am glad to see you putting this much effort into your project. I am only saying these things so you have as much information as possible. I don't want you to be like me and spend years learning, working around problems, going from DBP to DGDK, and finally realizing you keep hitting the same brick walls or discovering new ones that you never considered existed. Then you check the forums and find that it was obscurly posted and ignored 4 years back, and its been following DBP/GDK ever since. Good Luck.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 2nd Mar 2010 17:09
Great news for me(and S3GE), Pauli, who is also writing a physics plug-in
Pauli's physics plug-in
has provided me with a function to convert quaternions to euler, I did already have a couple of functions off the web that were supposed to do that but I could not get them to work.

I can draw a line under that one for now, right, anyone have directX ambitions?

david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 2nd Mar 2010 17:30
Would you be willing to post the code for the quaternions to euler.
Jeku
Moderator
20
Years of Service
User Offline
Joined: 4th Jul 2003
Location: Vancouver, British Columbia, Canada
Posted: 2nd Mar 2010 18:37
Is it worth loading in an entire physics library just for some math functions? Disregard my comment if you're using the physics library already.


Senior Web Developer - Nokia

Login to post a reply

Server time is: 2024-05-17 09:45:52
Your offset time is: 2024-05-17 09:45:52