Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by npr2004, posted on November 16, 2004

Image Description, by npr2004

For our graduation project (at the University of Utrecht in the Netherlands) we are working on an interactive non-photorealistic renderer. About 5000 brush strokes are used to create the image. Brush strokes are textured alpha-blended OpenGL quads. Properties of the brush strokes (like orientation, size, color) are determined by ray-tracing the scene, which is a simple 3ds model. We use KD-trees per mesh object to accelerate ray-triangle intersection tests. To rapidly find the intersections for the primary rays we render the scene in OpenGL with object ids, which are subsequently read back from the frame buffer. In this way we know for each pixel location the corresponding first hit object. Brush strokes are distributed evenly across the screen to minimize gaps and number of required strokes. On top of the standard Phong lighting model we have implemented rim shading and hue shifting. For more information visit

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

November 16, 2004, 03:01 AM



November 16, 2004, 03:31 AM

Hey that looks cool! :)

Chad Austin

November 16, 2004, 03:57 AM

That demo is amazing!

Jacco Bikker

November 16, 2004, 07:04 AM

How many rays are you casting for a typical screen?


November 16, 2004, 07:16 AM

hey thats very nice.

the performance is quite impressive given the use of ray-tracing.

I saw a similar presentation when I was in singapore on the same kind of npr, but didn't use raytracing. The output was quite similar, and was also pluggable into an augmented reality system which was very cool. However you'rs looks a heck of a lot better :) - I meantion AR because I really feel this sort of technique won't take off that much in games, but far more likly in other, younger and not quite so hard-core areas of development.

Cool :)


November 16, 2004, 10:51 AM

Incredible cool! Very impressive :)


November 16, 2004, 02:22 PM

Top stuff npr2004 keep up the good work!!!!

If any of you are into the demos( you may already know about this, but if not a couple of years ago a group called yodel released a demo that produced a similar look for Assembly2002.

You can get a copy of it by following the link below:

Joakim Hårsman

November 16, 2004, 02:22 PM

Looking good. What exactly do you use the ray tracing for? To get curvature info to orient the strokes? Or just for easy shadows?


November 17, 2004, 12:08 AM

I wonder if you could do much of the same thing by first rendering the scene using traditional hardware, and then rasterizing a bunch of paint strokes, and texturing them out of a sampled pixel color based on the center of the "dab"? That way, you could get all hardware acceleration.


November 17, 2004, 12:41 AM

The high frequency components of textures seem to alias pretty bad when the camera is located far away from them. The floor in the scene is a good example of that. If you look it from distance it looks like it's full of dark dots. Maybe using mip-mapping or sampling more than a one pixel color per stroke could help in that.

..and it indeed resembles the Yodel's demo a lot. I think they used a software rendering but the idea in the demo is the same 'hplus1104' talked about.



November 23, 2004, 03:08 AM

I tried the demo.
looks really amazing, guys !!

This thread contains 11 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.