SuperShaper is a tool based on the superformula (a mathematical formula, dicovered by Johan Gielis, to describe many shapes existing in nature) to create detailed 3D shapes. OpenCL 1.0 is used to implement the superformula while OpenGL 3.2 has been chosen for the 3D rendering.
Main features:
- Very fast
- Create endless amounts of different 3D shapes
- Generate random shapes
- Store your favourite shapes for later
- Toroidal or Spherical volumetric transformation
- Take screen shots
- Export the mesh to 3ds file
- Shader based rendering with reflection and different per pixel lighting models
- Put your own image on the shape
- Animate the parameters
- Morph between shapes
I quickly tested the export feature. SuperShaper can export the 3D shape to 3ds Max mesh format (*.3ds). I loaded the exported mesh in a simple GeeXLab scene:
Sounds good!
On my testbed with an single graphics card (a GTX 5×0…), SuperShaper has worked fine. But on my dev station with an ASUS Radeon HD 6950 (primary card) + GeForce GT 240 (second card, OpenCL 1.0 is ok according to GPU Caps Viewer) I got the following error message:
Only NVIDIA OpenCL plateform is installed, and maybe this is the source of the error. A little bug that will be quickly fixed in the next iteration of SuperShaper I think!
More information and download: The SuperShaper.
Hey, but you could have done it directly in GeeXLab! I know you can 🙂
Well, HD4670 OCL 1.0 compatible with Cat APP 10.12 and I see just a mess in 3D View no matter what settings I use. That’s weird. Broken OGL 3.2 support?
@Dr Goulu: Maybe… if I’m not wrong, I should have a supershape article somewhere on my hdd. I will publish as soon as I find it!
@Promilus: maybe a problem with the OpenCL and your HD 4670? From what I know, the OpenCL support for HD 4000 is far from perfect.
A shader based plain old vertex/pixel shader version can be found at
http://machinesdontcare.wordpress.com/2008/11/06/superformula-shader-no-lighting/
No OpenCL needed.
@Joakim Dahl: thanks for the link!
No OpenCL needed to render the same graphics, perhaps… but I imagine that being able to compute the geometry and then have access to the mesh in a normal way could be pretty useful…
Actually, probably no OpenCL *needed* anyway, you could render into a texture in some slightly arcane way probably… but still, it seems OpenCL can be useful if not essential.