Function2Form is a work created for The Viewer, an online magazine focused on photography and video.
“Function2Form is a work on form and shape generation from the subdivision of space and image analysis. It has no rules other than the creation/deformation of limited space. It’s a study on photography. It’s a random case of geometry generation and a study of differences for different parameters and areas. Based on randomness i would say these are unique and lost generated pieces of a kind.“
Created with a custom framework for scene generation and 3dsmax for the rendering.
Note: For the complete series, check out The Viewer #5
Sunflower was featured in the last edition of Smashing Magazine as part of the article “Beautiful Motion Graphics Created With Programming”. Sunflower is a world of light created as a runaway into the unreal. It a visualization of harmony found among two people that together, share and live no matter what the distance is between them. Happy valentine’s, Sunflower!
Since Star Wars(tm) (so i’ve read), texture-based techniques have been used to improve the detail on planar and easily curved surfaces. The one i’m talking about here is called Greebles. Apply an heightmap texture on a surface and on a per-pixel basis, geometry is generated acoording to the pixel’s intensity. By doing it you get more detailed surfaces without having to model every little part by yourself, making things more interesting, realistic and much more appealing.
To achieve this i’ve picked Vertex Texture Fetch. It allows you to access texture data on the vertex shader. Pass a texture to the vertex shader and offset the surface vertices by the pixel’s intensity. To improve the looks, bump-mapping with multiple lights have been used. Everything presented here is generated on the GPU, even the objects. Runs nicely on a Nvidia 8200M. Lots of space for improvement.
I finally took the time to play with OpenCL. I was motivated by the particle example from Rui Madeira. After speaking with him, he gave me a few other links on more examples like Memo Akten’s 1.000.000 particles running with mouse interaction on the GPU, the very NVidia’s first OpenCL application example, etc. I was intriged! So i took the day to play with OpenCL4Java and ported Rui’s example to Java running on Processing’s IDE. I’ve tested it with a Intel Quad core and i found the Rui’s sample to crash with GTX280 videocard. I didn’t gave it much thought but it might be for that for-loop in the program on the particle-particle iteration. In the other hand, Memo’s example ran easily on the gpu side. I should have made an example of mine, but it was easier to just port their examples and get things running. That was the main goal.
I have only tested this under Windows XP 64bit with ATI Stream SDK and Nvidia drivers. If you find any problem, please report.
One other thing: Memo’s example isn’t the real thing. It’s simply the CL program. So you won’t be able to get all the fuzzy million particles around. Not yet.
Installation steps:
1. Copy the library to processing’s libraries folder
2. Install ATI Stream SDK (i have packed the OpenCL.dll file, still you might have to install the whole pack). If you’re using Nvidia, install the OpenCL drivers and toolkit
3. Open the example and run it.
Winterbreathe, presented at Mainparty in Arles, France. This demo was presented in the hugescreen compo, a display of 3000m^2 on the roof of the party place. It was awesome to watch it in such conditions. awesome! awesome!
became 5th in the results. blaah