Category: algorithms

Line Integral Convolution (LIC) – Flow Field Vizualization

  Line Integral Convolution (LIC) is basically a very fancy name for “bluring along StreamLines”. Streamlines are the pathlines of particles following e.g. a flow field. In the…

GPU Flow Field Particles – Performance Update

A couple of new improvements helped to speed things up a bit and also stabilize the simulation. In the previous version there was noticeable noise in regions of…

GPU Flow Field Particles – DevDemo

The algorithm and further details are described in my previous posting: GPU Flow Field Particles (FF/SDF, Collision, Cohesion, Obstacles)   The following are some screenshots of the DevDemo….

GPU Flow Field Particles (FF/SDF, Collision, Cohesion, Obstacles)

An experimental verlet particle system entirely on the GPU (GLSL) using Flow Fields/Distance Fields. Next to verlet integration, this includes some very efficient collision detection as well as…

Space Syntax – Realtime Global Features (Mean Distance, Visibility Integration, …)

This post is about two, respectively four, new global Space Syntax Measure I have worked on recently. Distance, Mean Distance Turns, Mean Turns (aka. Visual Step Depth, Visibility…

GPU FlowField Pathfinding

    This is take two on global distance field Pathfinding. I could improve the previous version a lot in terms of performance and quality. The technique changed…

Random Walk Pathfinding – A Global Distance Field

There are already a couple of well tested and approved pathfinding algorithms available. My current approach is a bit different and is based on my recent 2D Global…

Space Syntax – Realtime Local Features (Isovist, Axis, Radials, …)

  A while ago I experimented with 3D SpaceSyntax and efficient computation of 3D isovists and other local properties like signed distance volume voxels, etc… . It was…

3D Global Line Radiosity – Test Scenes

Two testscenes for showing the pros and cons of this technique. The application computes Global Illumination, using Global Line Radiosity Realtime Global Line Radiosity Scenes The outdoorscene (enabled…

Realtime 2D Radiosity – Comparing to 3D, Part 3

This post shows a quick comparison of my latest 2D radiosity renderer and my original 3D renderer. Both implementations are GLSL implementations of Global Line Radiosity (more or…

Realtime 2D Radiosity – Tests, Part 2

Some further improvements of quality and performance. Also SMAA (Enhanced Subpixel Morphological Antialiasing ) is now enabled by default. LiquidFun, Box2D simulation + Realtime Radiosity     Cornell…

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…

Skylight Renderer – Ambient Occlusion, Soft Shadows

  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…