22
May
08

Radial VDM, Sobel Normalmap

OK, time for some explanation:
These are meshes created using ‘Vertex Displacement Mapping’. The displacement image used to create the distorted sphere form is behind each mesh. I’ve experimented with this technique before (and been less-than-impressed by the resulting framerates), but this time I’ve tried to add lighting by using a normal map in the Fragment shader. Normal map creation is also something I’ve tried before, but this time I tried a different method of creating it, based on modified Sobel filter code Desaxismundi very kindly sent me. I’m not altogether pleased with the results, which show a lot of ’stepping’, but it’s an interesting experiment.

The first set of five snaps use simple, diffuse-only lighting. With the others, I’ve implemented the velvet lighting effect I mentioned in a previous post. Looks a bit odd on a ’spiky’ form. More crystalline than soft and velvetty, I think, but it’s still a nice look. I’ll try a version with Phong lighting too, but I want to produce a set of portable, generalised Phong lighting Vertex and Fragment shader functions that I can easily apply to other projects, rather than just hacking-together something that works for this specific case.


4 Responses to “Radial VDM, Sobel Normalmap”


  1. 1 639me July 4, 2008 at 12:37 am

    i think these look absolutely brilliant! i’d love to try displacement mapping in glsl. have you released any qtz’s yet? and the displacement images in the back, they really look good as backgrounds. brilliant idea! i think the velvet lighting works great with darker shades

  2. 2 toneburst July 4, 2008 at 8:45 am

    Hiya,

    they’re quite cool, aren’t they. A bit more interesting than the usual heightfield/landscape generation applications of the vertex displacement technique.

    In order to get VDM working, I’ve had to use a Kineme.net plugin that’s still in beta. If you’re registered there, and have checked the option to be able to see beta releases, however, you should be able to download it. It’s the OpenCV patch.

    The displacement map is generated by the Kineme Texture plugin, which can be freely downloaded from their site. If you’ve got both the plugins, give me a shout, and I’ll send you the QTZ.

    a|x

  3. 3 Hob McDougall July 10, 2008 at 11:58 pm

    That all looks very claymation!

  4. 4 toneburst July 11, 2008 at 9:11 am

    Hiya Hob,

    I hadn’t thought of that. I was thinking more oddly-symmetrical asteroids…

    I’m going to revisit this one sometime. I’m kinda waiting for the modified heightfield plugin that supports texture-mapping and lighting in a GLSL shader, though, as the GLSL VDM method is always going to fall back to software (with all the poor performance that implies).

    a|x

Leave a Reply




 

May 2008
M T W T F S S
« Apr   Jun »
 1234
567891011
12131415161718
19202122232425
262728293031  

Categories

Links

Blog Stats

  • 28,387 hits