Category: algorithms

Realtime 2D Radiosity – Global Illumination for 2D Scenes

This post is about a new algorithm I have been working on to compute Global Illumination in realtime for 2D scenes. The Algorithm is based on the idea…

Processing Skylight Renderer

  The Skylight Renderer is a new Module for the PixelFlow Library (https://github.com/diwi/PixelFlow). It can be applied onto any existing Processing Sketch (P3D) with only a few extra…

Processing Library – PixelFlow

PixelFlow is a new Processing Library i’ve been working on lately. Its focus is on physics simulation, computergraphics and computervision, GLSL, basically things I am interested in. Current…

Realtime Global Line Radiosity

This post is about my new radiosity based global illumination renderer.   Global Line Radiosity First, there are a few different names in use for more or less…

Distance Transform

  Distance Transform   This post is about a short comparison of 3 similar distance transform algorithms. CDT – Chamfer Distance Transform DRA – Dead Reckoning Algorithm DDT…

Triangle Texture Atlas

Texture Atlas To store unique information per triangle, e.g. lightmaps, you may need to create a texture atlas. This is my first attempt to create one by myself….

Convex Hull 3D – Quickhull Algorithm

    Quickhull Algorithm A fast and quite simple algorithm to create a convex hull of a huge number of 3d points is the quickhull algorithm. Here’s an…

Space Partitioning: Kd-Tree [2] – using WebGL

  Kd-Tree Nearest Neighbor Search – WebGL Shader This post will be second part of my kd-tree research. I’m going to discuss the the kd-tree nearest neighbor search…

Space Partitioning: Kd-Tree

    Kd-Tree Another test on space-partitioning, using a Kd-Tree for fast nearest-neighbor-search (NNS). the building of the tree is done in a view lines of code: a…

Space Partitioning: Octree vs. BVH

Spatial Data Structures To reduce the ray-object intersection tests for raytracing a spatial data structure is needed. I started with an octree first, because it seemed to be…