My blog, where I post my original research, and any interesting techniques I come across. My aim is to help others learn these interesting and useful things as well by providing them with explanations based on first principles (minimal pre-required knowledge) and working, simple source code. I also find that by writing up and teaching these ideas and techniques, that I learn them more thoroughly in the process.

A PBR implementation in webgl that has tweakable parameters and debug views to help understand what PBR is all about and how it works.

Explore the mandelbrot set, specify colors, and share your discoveries with your friends. Click on the link above to enter, or click on any of the images below to follow their "Mandelinks". Created with HTML5, uses web workers javascript multithreading.

I have a real time ray tracing game engine that I've been working on that I've used to release a game on google Native Client with. The engine is all software rendered (CPUs only), it's multithreaded, and takes advantage of some high speed raytracing techniques I came up with to help achieve real time rendering without GPU acceleration. Click the link below to check it out (requires google chrome browser version 16 or higher).

Play MoriRT Snake

2d Quadratic

2d Cubic

2d Trigonometric

1d Quadratic

1d Cubic

1d Trigonometric

2d Quadratic Rational

2d Cubic Rational

2d Trigonometric Rational

1d Quadratic Rational

1d Cubic Rational

1d Trigonometric Rational

1d Lagrange Interpolation

2d Lagrange Interpolation

1d Cubic Hermite Interpolation

2d Cubic Hermite Interpolation

Analytical Surfaces Evaluated by the GPU Texture Sampler

Analytical Volumes Evaluated by the GPU Texture Sampler

Bezier Triangles

Least Squares Curve Fitting

Least Squares Surface Fitting

Bias and Gain

Generate Blue Noise Random Numbers

1D Point Set Frequencies

2D Point Set Frequencies

1D Point Set Frequencies (Cosine Transform)

2D Point Set Frequencies (Cosine Transform)

2d Visualization

3d Visualization

Recognize handwritten digits with 95% accuracy

Finite Impulse Response Filtering

Infinite Impulse Response Filtering

Gaussian Kernel Calculator

A versatile music and sound effect generation / manipulation tool.

Music I've created and/or played - using real instruments, professional software, and software I wrote.