Mac OS X 10.5 (Leopard)
This is a composition that shows how to use the gl_FrontFacing built in variable.
The demo uses that built in variable to show how one can texture an object differently on the front and rear sides.
Release Type: Production
Changes since Art-Net Tools 1.5
Release Type: Production
Changes since NetworkTools 1.2
This shader is something I've wanted to do for a long time; a gpu-accelerated voronoi type image filter.
This uses the concept I was thinking of here (http://kineme.net/forum/Programming/StencilbufferinQC#comment-25903) . As I was making it, I realized it would be interesting to also have a mode where the randomness of the grid was controlled by luminosity, so there are a couple of modes for that.
Parameters: -distFormula: This changes the distance formula used for the voronoi computation from linear to "manhattan".
-lightMode: This changes the shader from a flat look, to a simple gradient "lighting" look, to a more complex "lighting" look with adjustable normals, and finally a normal output of the complex look.
-displaceMode: This controls whether the grid noise is triggered by brightness, darkness, or it's a constant value.
-displaceAmt: This controls how much each cell is displaced. With the luminosity displace modes, it's a multiplier, with the constant mode, it's constant.
-density: This controls the density of the voronoi grid.
-uvOffset and Zoom: I've added this because of the nature of the worley algorithm, cells at the top and side can sometimes be right where the texture repeats. A little zoom in and recenter solves this.
-normAdj/normAdjA/B/C - This is only active with the last two lighting modes. This changes the shape of the voronoi facets.
Enjoy. Please give credit if you use it, and also note that it's MIT licensed. The sample composition uses GL Tools, because it renders to a Quad, but if you don't have it installed, just use a Billboard/Sprite/whatever.
Here is a simple BPM counter, which outputs a value according to any hit input. The counter reinitalize after few seconds, and keeps in memory the last saved value. The reinitialization time can be changed.
Please keep me in touch if you make any useful improvements to this patch. Thanks!
The moonlit sea...kinda!
Updated to the version in the rendered video...and then tidied it up some more. Using a Blur with mask technique from GT to do a fake depth of field effect.
A classic "metaballs" setup in core image, with some simple lighting.
This is a pacman animation, working in core image.
This is a translation of Paulo Falcao's "blobs" glsl shader, to core image.
Nothing super fancy, but a raytracer working in core image.
I'd been thinking about doing this for awhile, from being interested in the way core image always has a dedicated image output without having to render to screen/texture to do something with the result.
It's a little bit of a pain because of typically used functions and working styles not being supported, but it works if you stay within the boundaries. It seems a little slower than GLSL. Less substantial/2D oriented fragment shaders tend to perform better when transferred, seemingly.