Guided Filter


Testing Guided Filter (actually testing Jupyter notebook)

Depends on numpy, scipy, matplotlib, and jupyter

The good part is that now I can somehow annotate my code with the original equations (well, when I don’t butcher it). Still, probably the best IDE is when you write math equation using latex, or so, and it will automatically generate backend python / c++ code  for it.

Screen Shot 2017-08-14 at 19.02.50


Depth Map mesh generation



Depth map (or height map?) mesh generation using SceneKit. This is my first time using SceneKit and it’s way less hassle than writing every single OpenGL operations line by line.

Basically what it does is to generate terrain / height map using given depth map. The calculation of the normal is still messed up though.

You can get the source code here:

Updated with:

  1. Testing handwriting custom fragment shader (well, just trying out how to set SceneKit to use my own fragment shader)
  2. Metal compute shader, kernel function is taken from InvasiveCode which is pretty straightforward. The only thing that I wanted to know is the initialisation steps.

Screen Shot 2017-08-07 at 08.58.04.png

Added CMake / installation scripts to Three.cpp


Hurray, I just added Cmake and some bash scripts to install Three.cpp, it only works on Mac OS X though, since I don’t own a Windows PC.

Just run the build/, and it should try to install Homebrew if it’s needed, then it will install necessary libraries (e.g. glm, glfw3, etc), before running CMake, and makefile.

When the installation is done successfully, it should run a test demo that shows something like this:

2014-08-18 14_19_12


And thanks to github, I’ve created a GitHub page at:, check it out and thanks!

PS: I’m still looking for collaborators / contributors for this port though, it has kind of deviated from the original three.cs, and there’s so many interesting thing that I wanted to add, but my 3D programming skill is not the greatest.