member since July 23, 2010
profile picture

portfolio of
edward Porten

Procedural Planetary Fly By

Large extension of previous sketch where planets are procedural textured. By using cubemaps the procedural textures are cached. Also using ray marching to add hills and and hieght values. Click on scenes to select them. Pauses are due to cubemap caching.

3D Fractal Explorer

After reading a great series of articles on 3D fractals , I knocked up this viewer. It uses fractals mentioned in the articles and some new ones.

Press space to bring up list of scenes, and click on any. Demo mode cycles through the scenes.
Use WASD keys and mouse to explore them and zoom on the nearly infinite detail.
Use 'f' to toggle flashlight.
If you get a great location press 'm' key and copy the output line to camerashots.txt file, ( or send it in a comment below)

Point Rendering

Since playing around with pifs, I found point rendering interesting and also fast. I found that processing can actually render a lot of points. I found this article and liked the look. Using low discrepancy point set instead of random allows for a similar look with a lot lower cost. Using a gaussian blur improved the look a lot. Also I was able to get fuzzy reflections and motion blur by messing around with the points. Press any key to change things up a bit. Also press space to run in demo mode. Uses peasy cam to move around.

Parallel Iterated Function System

This is the result of looking into Iterated function systems. I found that after running it on multiple processors I could update it in realtime. Also since it's point based I could add motion blur and out of focus effects. I've combined that with hand held camera movements to try and get a realistic feel. Use the mouse to move around and press a key to move to next fractal. Lower cores uses a smaller screen area.

Real-time Volume Effects

spruced up version of previous volume renderer. ( )

Can do most effects in real-time. (2 core machines will have a smaller viewport)
Click on the effect to view it, ( my favorites are the flame and fireballs )
space for hi-quality image
Click on DEMO for demo mode
drag mouse to zoom and rotate
music in demo by Hamstercake (

Bezier Boogie

I was looking into Bezier patches and ended up having some fun with it. Press 'S' to toggle sound on/off.

Real-Time Path Tracing Obj Viewer

Loads a series of obj models ( based from ahmet.kizilay obj loader)
and renders then using path tracing.
Path tracer uses progressive spatial caching to get real-time
update and views of model.
'+' go to next model.
Drag mouse to view around scene
Drag and hold shift to zoom/ pan
Drag and hold control to resize area light
Drag and hold alt to move area light.
'D' toggle direct lighting.
'R' toggle reflection
'C' show spatial caching
'S' change model colors

Sphere Flake Tracer

Inspired by sun flow, arnold and iray renderers, this is a path tracer with progressive refinement and a procedural sphereflake model with procedural texturing. It should have decent image in about 20 secs, but the longer you leave it the better it gets. Uses frameless rendering to allow for moving about pathtraced scene in real-time
+/- goes to different scenes. ( currently 8 scenes)
Use mouse to look around, hold shift and drag mouse to zoom in/out.
D - toggles off direct lighting
B - toggles bounce lighting ( currently 2 bounce always)
A - toggles hemisphere sky lighti

Hair Ball

Draws a hairy character which can have his hair styled.
Controls : Click on him to make him jump
Drag mouse horizontally to change hair length
Drag mouse vertically to change stiffness
Shift Drag mouse horizontally to root width
Shift Drag mouse vertically to tip width
Control Drag mouse to cut hair.
0-7 preset hair styles
Hold C and drag mouse to shave hair
Press L to switch off the lights.
Press S to enable super sampling( on by default on quad core machines)
any other key shows his friends

Planet Rendering

Based on Ken Musgraves work on planet rendering. Does ray tracing based rendering of planets in our solar system.

Click on icon to select scene, then drag mouse to look around, drag and hold shift to zoom in and pan. ( to go back to selection screen, click on icon in top corner)

Volume rendering space stuff

Using volume rendering techniques to render out space like nebula ( crab nebula is pretty close) and other fun stuff. Click the mouse to go to the next image. Volume rendering is slow though, faster version now uses multi-cores.

Terrain Ray Marching

ray marching technique for procedural hieght field rendering based heavily on with extra optimizations from 'procedural texturing and modeling' book.

Click to select scene, then click on icon in top corner to return to selection scene.
use mouse to look around
cursor keys to move about
Click and drag the sun to change day time and lighting.
'h' for High quality mode ( 5X supersampling)
'C' to add clouds.
's' to save info for current view and scene.
'r' to randomize scene

Sea snakes with steering

This is a test implementation of steering behaviours from open steer ( ). Click the mouse to add a prey. Drag the mouse to create a predator. Hold down the mouse button to make the predators self destruct.

Undersea creature

Creates a creature using noise. Click mouse to add tentacle, move mouse left to move faster and move up to grow larger.

Revolution Editor

Editor for creating surfaces of revolution. Needs controlP5 for UI controls. Outputs a text file containing curves points. Used to create models and test features for revolutionary demo.


This is results of looking into surfaces of revolution. They combine a lot of the benefits of subdivision surfaces but are a lot simpler to work with.

3D Fractals

Performs animation on 3D recursive fractals. Uses distance based depth selection so many can be rendered at the same time.

Animated Parametric L System

Uses parametric l system to generate multiple different trees. Blends in parameter space for transitions. L system from Can display grid of 144 trees using lods and branch culling. Also can switch on smoothing to see detailed branches.

Keys :
A - toggles displaying all trees.
S - uses smooth rendering mode.
C - culls small branches.
L - use low lod on medium size branches.
+ /- - increase number of trees
H - show help
followed by


Share Share Subscribe to sketches