Cartesian Creatures
The last weekend i played with a vertex shader functionnality who allow me to use the color data from a texture , to interact with the vertex position of the mesh . This technic is call texture lookup , it´s working with vertexshader 3.0 but only on nvidia card …
This is very interesting and allow fast morphing between highresolution mesh .
In this different screenshoot , i start from a grid , i aply to the vertex position the parametric equation of a sphere and give to the lengts of the sphere the channel r of the texture , the texture input for the texture lookup is a directx renderer so my mesh evolve in the time since the renderer is animated , in adition to the vertex transformation, i add a pixelcolorisation with a second renderer ,creating the color texture. I would like to add later on bumpmapping and reflection effect but i need to find a way to compute the normal .
the effect is performant and allow me morphing and fast vertex transformation with a grid compose of 160000 vertices , it´s a new way for generating mesh , since you can use the 4 channel (rgb + alpha) of a texture to store data ,data who can be use to do anything in the vertexshader.
It´s a quite performant and interesting way to generate shape…
A first version of the shader is avaible here (without cartesian transformation )
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()

excuse me….. is it a broken link???
your stuff is great!!
If you speak about the zip file with the shader it work for me !?
oh man, i wish i had a nvidia card to see this live in action. any way to make it work for ati cards too ? what’s the reason that ati cards don’t like this kind of stuff ?
wow, wonderful
thanks guys
@ u7angel http://vvvv.org/tiki-view_forum_thread.php?forumId=10&comments_parentId=13668
Computing the normal should be quite easy. You have a texture map that is an heightfield. You can compute the derivative of this heightfield: dx@pixel(x,y)=pixel(x,y)-pixel(x+1,y) and the same for dy. Now you got a normal for each pixel of the texturemap (the z coord of the normal is easy z^2=x^2+y^2), and you can use it as a displacement of the normal at the sphere vertex (beware of the space you’re working on). And if you precompute the map normals then what you have is simply a normalmap, and this is not surprising after all
hey thanks Angelo , the normal maps work quite good but the problem is that the map doesn´t fit with the mesh…
It works for simple mesh , but as sonn as the mesh is getting more complex , the normal are getting unprecise and doesn´t fit with the mesh anymore … i don´t really understand why
omg this is amazing, visual appeal with mathematics?!
i thought it was out there somewhere and here it is wow..
what and how do you do this?? i am really, reaaaallly interested!
thanks
[…] I saw a few of these images a while back on fffffound and couldn’t get enough. They’re by an artist called Sanch (David Dessens) in a study he calls, Cartesian Creatures. So rad. Reading more about this guy now - cross-linked from Generator.X. Evidently he uses a software called vvvv, a by meso.net. Looking into that now… […]
Hi Sanch,
Great stuff! Was anxious to download the shader from the link above but it goes to ARTK+Tracker.zip?? Mistake?
Thanks!
Hi,
this is really impressive stuff.
I’ve been trying to do something similar in GLSL, using a program called Quartz Composer on the Mac. I’ve got somewhere near
(see screenshots at http:machinesdontcare.wordpress.com ),
but I’m having a few problems with the mesh ending up with big holes in it. I’ve also found it impossible to create symmetrical distortions, even though I’ve mirrored the displacement map textureso that the edges are identical.
Do you mind if I ask what equation you’re using to turn the mesh into a sphere? I think my problem is that the mesh is being distorted into a sphere in the wrong way…
Sorry to bug you,
alx
[…] post info By toneburst Categories: GLSL and Quartz Composer Tags: GLSL, Heightmap, Normal Maps, Quartz Composer 3.0, Vertex Displacement Mapping Inspired by Angelo Pesce’s comment here, I decided this morning I’d have a go at generating a Normal Map from a live video input, using a CIFilter patch. The code is surprisingly simple. […]
Please note:
the code in the post above is specific to Apple’s Quartz Composer software and is written in a language that is a subset of GLSL, so may not be of interest to HLSL shader coders.
Or it may…
alx
Holy moly, I really like those objects. Love the way you’ve got multiple colours going on!
Just wondering, Sanch; did you ever manage to generate reliable normals for lighting this one?
I’ve been working on something similar. I’ve managed to create a tangent-space normal map from the heightmap/displacement image, as Angelo Pesce suggests above, but I’m not sure how to use this for lighting the distorted mesh.
Any tips?
alx
http://machinesdontcare.wordpress.com
starts with a black screen for me
got a nvidia card and a working isight,
but somehow it doesnt detect any marker ids
can somebody help a noob out plz?
greetings thyo
Think blues, country, funk, jazz, reggae, rock here. ,
sorry, I think the link is hitting the artk+tracker.zip file on vvvv. Any chance of a repost. Love to have a play in any case, awesome stuff!!!
Yes, point me to the tracker.
If you can re.up the shader, i was pleased to play with it.
Maybe can I try it to port it to FFGL.