explosiveduck / ed2d

Explosive Duck 2D
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Integrate 3d support and rename to EDGE. #10

Open mdsitton opened 9 years ago

mdsitton commented 9 years ago

This would mainly be a porting effort from our old 3D python engine in some cases. But other stuff like physics would need to be updated for the changes.

Off my head these are things that would need to be added: Model Loaders (obj, md2, etc) Extension of collision detection to work for 3D objects. Extension of the math lib? Audio engine changes to support 3D positional audio (future) CSG changes and fixes to support 3d. Physics changes.

Would be more work, but i think it would be worth it.

AlexMarinescu commented 9 years ago

Collision detection, CSG support 3D by default if anything in order for us to use CSG right now we have to render 3D objects (we can get away with the depth because is only orthographic). GJK supports 2D and 3D, so will EPA right off the bat. Physics will be a bit more involved in 3D case than 2D case.

Some things that need to happen as well is, add kd tree for 3D instead of quad trees (we will still need these though).

And for math lib, vector and matrix are updated on this version instead of old one but some stuff still need to be ported over.

Also we still need to look at the following:

mdsitton commented 9 years ago

Alright i'm starting off with merging the two code bases windowing/context/event code. Possibly the opengl binding as well.

mdsitton commented 9 years ago

I plan on keeping the SDL2 backend for fallback purposes. But i do want to integrate the native win32 backend, and the X11 backend(and finish it). Later on i could try to work out a native osx backend, but not now.

mdsitton commented 9 years ago

Issue #19 is related.

AlexMarinescu commented 8 years ago

So basically materials class is done, works except textures support is still WIP. Camera works, the math library is tested and works well, vector might need a overhaul but that's not priority right now. 3D support works, CSG is natively 3D, in fact we should stop using CSG for 2D objects and look into clipping, makes more sense and would be tons faster for that. Defined a new internal mesh data storage called fmvnig (Face Material Vertex UV Normal Indices Group) since it will make things a lot easier to work with. And will probably act as the grounds for our own 3D file format. Issue #19 talks more about the rest of stuff that needs fixing.