Project 3D - Devlog 5





Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Aug 14, 2012

New in this update: more amazing terrain, new graphics, and a render mode. This is the last progress video of Project 3D.

~~~~ What is this? ~~~~
This is not Mine Blocks 3, but it definitely serves as good practice for programming in a 3D environment. Mine Blocks 3 will be a lot different :) This particular project was to experiment with my raytracing abilities.
I coded the 3D raycaster engine from scratch (without even knowing that it was an actual rendering technique, haha). It was originally coded in AS3, however it was then ported to Java. I would like to thank my friend GhostID for helping me port it to Slick2D rather than just plain Java. It seems to have helped a lot. Unfortunately though, due to my render method, it's not as practical as it looks. *Typically* raytracing is used as rendering, not real time gaming.

~~~~ Why is the quality so low? ~~~~
Raycasting requires each pixel to act like a ray and test collisions in a 3D data structure. More pixels = more rays = more collision detection. The CPU simply cannot handle this much data (especially with how unoptimized my code probably is).
As you see later in the video, I stop the camera and let it sweep-render a few times, making the image a lot more clear. It is going as fast as it can. Clearly the speed is not optimal for real time gaming haha!

~~~~ What's next? ~~~~
Again, this is the last progress video of Project 3D. I learned a lot in the process, and I'm super proud of myself for getting as far as I did... but it'll soon be time to move on to bigger and better things. I hope to continue learning C++ and build a proper 3D engine capable of being much more amazing!

NGB Dubstep - The Dubstep Experience

  • Category

  • License

    • Standard YouTube License


When autoplay is enabled, a suggested video will automatically play next.

Up Next

Sign in to add this to Watch Later

Add to