I live (kind of), and so does my 3D Renderer!
Previously: “Man takes on more than he can handle and is too stupid to realize”!
Now: Yikes. I’m really slow with updating this place, but better to keep it like that and have meaningful posts. I doubt you want to hear about what I ate.
Hear that? That’s the sound of your jaw hitting the floor. Maybe not, but I’m proud of it regardless. I did the work of three people alone so it took a bit longer than expected. Took a break from it to focus on my Linear Algebra 2 during the spring. But I finished it up during the summer and presented it to my teacher. While the code is a bit of a mess I am still proud of it for being my first renderer. The features are as follows (Beyond the standard WASD-camera, textures and Phong Shading):
- Deferred Rendering
- OBJ Importer
- Morph Based vertex animation
- Normal Mapping
- Shadow Mapping (This was torture to make and it looks a bit bad but for a first attempt it is good enough)
- Back face culling using the geometry shader. (I know OpenGL features back face culling but if we wanted it we had to make it ourselves, which wasn’t too hard.)
- Gaussian Blur post process filter
Like I said, the code side is a bit messy but it was purely for learning. Now I can take what I’ve learnt and try and apply it using a proper design pattern.
I also had a bunch of exams this week, including a rather boring Operating System exam and a Game Physics exam. The latter being worth mentioning since we also had to put it into practice. We made 2D bullet physics which featured gravity (surprise), drag, penetration depending on bullet caliber, material, density and material of the surface the bullet struck and of course, thickness.
The simulation took care of whether a bullet penetrates, ricochets or gets stuck in the wall. It isn’t visually impressive but here is a small recording: Link
We randomize the angle at which the bullet exits the wall when it penetrates, it isn’t perfect but the underlying physics are all accurate. At least according to what we were taught in the course.
And finally, I’m working on a small Unreal 4 project with a friend of mine, but it is too early to show anything off yet. Work had to stop for a bit due to exams but now that this hellish exam week is over and done with I hope to return to it. Apart from that and school work I’m thinking of trying to make my own proper OpenGL renderer, but at the same time I’m not sure there is enough time since we have a new OpenGL course starting next week that focuses on WebGL. Plenty of OpenGL goodness regardless of what I end up doing, but it would be nice to have a small pet project that will (hopefully) be much better compared to my first attempt.
Anyways, that’s all for now!