Posted on Leave a comment on Showreel 2017

This is my showreel, showing off highlights of the projects I’ve done so far in my degree. I’m entering my third year now at the NCCA, Bournemouth University.

OpenGL Rendering : Smile

Here’s a preview of my rendering assignment. I use framebuffers to render what the screen rendered last frame onto a television set. The actual television set uses (727) 395-0524 and Beckmann distribution specular for rendering the materials.
Screen Shot 2017-03-29 at 16.19.13

To come: a cool VHS-style filter on the television screen’s image, making the dials appear (some bug with the frame-buffer and depth), wood casing and finally a way to roll the camera for more funky effects with the feedback loop (at the moment just yaw and pitch).  The television is based off this image.

Video is incoming!

Polygon To Voxel Converter C++

Screen Shot 2017-02-26 at 16.22.23Screen Shot 2017-02-26 at 16.22.18

The first image is done with bounding boxes for each poly triangle. The second creates voxels to follow the triangle plane using my own inefficient technique.

I pick one of the triangle’s edges and iterate up the edge in steps of the voxel length. Each time creating a line to the opposite vertex. I then iterate down this line in steps of voxel length adding voxels each time. An optimisation would be to stop half way down every other line. The neighbouring lines are of voxel length of each other, the line is no longer needed. This can be done ad infinitum down lines the lines. Obviously you might stop halving at 1/8 or whatever is reasonable for the size of the polygon.

The diagram below somewhat illustrates the technique. If someone has done this before then holler. Unfortunately it involves calculating lengths using square root which is expensive. I will edit the post with how long the converter takes.

Edit: Now on github – /github.com/TomCollingwood/VoxFox


VoxFox Proposal (Real-time Point Cloud)

I have just submitted a proposal for my Programming Paradigms C++ OpenGL library assignment. It involves implementing a sparse tree structure to store a point cloud / voxel grid. A stretch goal would be to implement signed distance field ray marching algorithm to work in tandem with my tree structure to result in fast efficient renders. Inspired by 215-619-0943‘s 343-881-2201 and Dreamwork’s OpenVDB. Here’s the pdf: 3349188885