CulDeVu Home Portfolio Resume



Hello there!

My name is Daniel Taylor. My pastimes include trying to sample as many interesting programming projects I can get my hands on, specifically in the field of Computer Graphics. I'm currently a student at George Mason University, pursuing my Bachelor's in Computer Science.



If you are looking to hire, all you have to do is show a passing interest! My portfolio and resume are available, but I'd love to make a more customized one for your company!


Tools for Photosensitive Epilepsy I: Flashing

In 2009 engineers from the University of Wisconsin released a piece of software called PEAT. This software has been used in medicine since as a tool to diagnose patients with photosensitive epilepsy. This is a disease where strobing lights cause seizures, and it currently has no cure. Things that trigger it include lightning, flashing sirens, flickering lights, and other similar strobe effects. Other triggers that seem unrelated, but are also very cyclic in nature, include rapidly changing images, and even certain stationary stripes and checkerboard patterns. This particular form of epilepsy affects roughly 1 in every 10,000 people, and...



Microfacet Importance Sampling: For Dummies

Despite how important of a topic good importance sampling is in the area of global illumination, it’s usually left out of all common-English conversations and tutorials about path tracing (with the exception of the Lambertian case, which is a good introduction to importance sampling). If you want to get into microfacet importance sampling, multiple importance sampling, or even, God forbid, Metropolis light transport, you’re on your own. And, probably for a good reason. At some point in a path tracing project, you WILL have to butt heads with the math. And believe me, the head that the math rears is...



Mathematics of Origami: Flat Folding

So. Back at this.

First things first. You can safely disregard most everything I said last post. All of that was very observation-based, and is actually incorrect in almost every way. Which might seem strange, cause most of it made sense. For clarity and completeness, though, here’s a list of why everything last post was wrong:

  1. The idea that a fold is a collection of fold segments in order starts falling apart after you do certain folds, like petal folds. The idea that you can keep track of where they are and which way they’re going would be way...



Origami and the Associated Maths

So this is going to be another one of those write-it-out-so-that-I-can-better-understand-it sort of things. Just a heads up. This IS a journal, after all, and functions as advertisement second.

So. Origami and mathematics. We know that the two are related because, if you fold a piece of paper the same way twice, you’ll get two of the same shape, so there’s rules governing it. And some smart people have tried figuring out those rules. There’s a bunch of them, but they all fall short for what I’m wanting to do. So here it goes:

Together with research in 1992, and...



Fluid dynamics update

I’m not really going to talk about much math-y stuff this time. I’ve covered too much ground since my last entry to be able to remember all the pitfalls I ran into. So this time I’m only really going to be talking about the general algorithm, how I deal with the pitfalls of the marker particle method, and the ongoing translation to CUDA. And probably share some of my Mario Maker levels. I’m addicted to stars :(

So! Let’s do this!

Sorry for the video being kinda shaky. OBS is having a hard time...



Factored BRDF Representation

It’s been quite a while.

So I’ve been working on life/jobs/family/etc the past couple months. A couple weeks ago, however, I decided to implement a type of arbitrary BRDF sampling based on factoring large matrices, found here: http://gfx.cs.princeton.edu/proj/brdf/brdf.pdf

The idea is to convert the BRDF into a series of matrix representations in such a way that

\[ f_r(\omega_i, \omega_o)(w_i \cdot \textbf{n}) \approx \sum_{l=1}^{L}{ F_l(\omega_o) u_l(\theta_h) v_l(\phi_h) } \]

, where \( F_l \), \( u_l \), and \( vl \) are massive matrices that depend on outgoing direction, half angle azimuth, and half angle zenith about surface normal, respectively. Now...



Planetary Biomes

Not many images or videos this time around, unfortunately. It’s mostly about updates about what I’m up to and what I’m working on.

So, first off, the non-euclidean stretchy game thingy. Turns out that some people in my art class had taken an interest in it when I was working on it in class, and they offered to help offload some of the content generation, like making art, animations, level design, etc. This is actually exactly what I need in order to continue working on it, so you’ll be seeing some gosh-darn pretty images in the future, after finals are...



HBR: Human Based Rendering

Heyy all!

So the graphics professor at school here was talking to me and he was like “you know what would be a cool idea?” Turns out, it WAS a cool idea.

So! I present to you:

HBR: Human Based Rendering (the photon mapping of the next generation)

The general idea is to either get the user that’s looking at a screen to plot the photons themselves, or somehow crowd-source rendering an environment by manually tracing out light paths.

It’s a novel technique, you see. Instead of you offloading the work to the GPU, the GPU is offloading the...


Copyright © 2009 Daniel Taylor