32DGE engine

OK so ive set a few goals for this project.
1: Fully develop a functioning 3d rendering that allows for quads and triangles to be rendered along with support for textures.
2: Integrate a fully functional maths api containing complex algorithms for handling line rendering , areas of complex shapes and other things that may be useful.
3: Support immediate and buffer based rendering techniques.
4: support 2d and 3d states allowing switching between both states without any hastle
5: Implement large amounts of optimisation to give the most performance.
6: Include advanced face culling algorithms to lower the amount of objects that need to be rendered.

  • Things below here are most likely going to happen very late in the development
    7: a dynamic lighting api and system.
    8: 3d & 2d animation api
    9: Advanced input support.

If there is anything you guys would think would be great then post them below!

TEXTURES ARE FINALLY ADDED!

Great! Looking forward to more updates. Keep on the good work.

Thanks the code I have needs massive optimisation now that I know how it works im going to rewrite it entirely.

so I’ve just done a few performance tests. The code is now optimised a little bit more there is a lot that can still be done however currently 256*256 textured 32 by 32 squares runs at 10 fps which is about 250000 squares or 500000 triangles.

Well, it seems your engine runs just a little slower than immediate mode in OpenGL! Good job :wink:

Still tonnes of optimisation to go. Also just to note ive fixed the anomolies turns out I was having to input the vertex coordinates of the objects on the screen as ints not doubles.

I am going to give out a demo of the code that renders 256 * 256 squares controls are WASD to move around Shift to go up and SPACE to go down use the arrow keys to rotate the camera around.

Download the demo just here. https://drive.google.com/file/d/0B48ywWBymi3OWmpVOXNMdHZLWms/edit?usp=sharing

Just to note this current version does not support removing squares that are behind the camera so its a bit of an issue just havent been able to implement it.

Managed to improve performance a lot by reducing the number of trig calls by about 99%

I love seeing a good-ol’ Pseudo-3D engine nowadays. I’m developing one right now myself! (But in Python!)

Wonderful Work!

  • Jev

Whenever I see the thread title pop up on the unread topics list I get excited at the idea of a 32D graphics engine :’(

Anyway, this looks quite cool, and even though it’s never going to be worth using when we have OpenGL, it’s an awesome way to learn more about what OpenGL is actually doing.

I’ll have to try making one of these myself some time.

well actually, with future gpu access I will be able to make this hardware accelerated. for now though it is just an experiment as I would like to know the math.

I find it to be quite neat when you’re making classic-styled games. I find it silly to remake something like Doom or Wolfenstein 3D with OpenGL.

To me, remaking something like Doom in OpenGL is like recreating Super Mario Bros. in Unreal Engine 3, it just doesn’t feel right.

I guess that’s just me though. I like having the fun of optimizing something with little resources.

  • Jev

The problem im having with this is the “entising” features such as face culling of opengl. To perform face culling especially on the CPU requires lots of floating point math and for loops , my overused enemy. All development is halted until I have a lot of spare time on my hands however will be making a similar engine in LWJGL just because I cannot see a point in continuing this project until I can be be sure my time investment will be aided by gpu accessibility. Time for youtube tutorials!

I’m guessing Project Sumatra will be of use to you, I know I’m excited, been waiting for that kind of thing for a while.

Maybe the project will reboot sooner than I though :slight_smile: