15
May

Maths Surfaces Lighting

I’ve just realised something that’s been blindingly obvious all along- namely that the lighting on the Maths Surfaces shaders (all 55 of them) goes the wrong way (ie, it’s DARKER, rather than lighter nearer the position of the light-source).

This is a bit annoying, because now I’ve finally spotted it, I’ll have to fix it….

I’m not sure whether to go for just fixing the current simple shading model (as above), or to go for the whole lookup table and surface texture tiling setup, as used on the Spherical Harmonics shader.

The second option is probably best, but does require an awful lot of copying, pasting, input-publishing and patching, unfortunately.

14
May

Maths Surfaces Update

Maths surfaces updated to 1.0.3.
Now with addition blend mode (works best with darker colours).

See Box.net widget for download or get it from Memo’s site.

13
May

Blog Update

I’ve made some minor changes to the blog this morning. The most significant is that I’ve added a file-sharing widget in the right-hand sidebar. (thanks for the suggestion Dr.Goulu) I still plan to upload files to Memo’s QC archive, though.

13
May

tb xyMixPixellate

Another in a seemingly endless series of minor variations on the pixellation/glitch theme.

In this version, the image is divided into tiles of variable size. Each tile can be ‘zoomed’ until it becomes a single solid colour (giving a standard pixellation ‘mosaic’ effect). Optionally, the amount of zoom for each tile can be controlled by the luminosity of the centre pixel of each tile.

Leopard-only.

See Box.net widget at bottom of right sidebar for download.

Also now available from Memo’s site.


/*
A simple pixellation effect with mix controls
toneburst 2008
*/

kernel vec4 tb_xyMixPixellate(sampler Image, vec2 Size, vec2 Mix)
{
	vec2 xy = samplerCoord(Image);

	vec2 xyPix = floor(xy / Size) * Size;
	xyPix += 0.5 * Size;

	Mix = Mix * 2.0;
	vec2 samplePos = mix(xy,xyPix,Mix);

	// Output
	return sample(Image, samplerTransform(Image, samplePos));
}

and this is the JavaScript from the bottom panel of the CIFilter


function __image main(__image Image, __vec2 Size, __vec2 Mix) {

     // Image dimensions
      __vec2 dims = new Vec(Image.extent.width, Image.extent.height);
     // Size of cells (X and Y)
      __vec2 pixSize = new Vec(dims.x / Math.ceil(dims.x * Size.x), dims.y / Math.ceil(dims.y * Size.y));

      // Call kernel code and return image
      return tb_xyMixPixellate.apply(Image.definition, null, Image, pixSize, Mix);
}
12
May

Desaxismundi’s Velvet Shader

Desaxismundi was kind enough to let me see the code to his HLSL velvet surface shader. After a bit of fiddling around this morning, I was able to get it working in QC. Here is the result, applied to some imported 3D meshes, created with the Paul Bourke’s excellent supershape explorer application.



I’ve modified the code slightly, so it runs as two discrete functions, one in the Vertex Shader, and one in the Fragment Shader. You just have to call these functions from the main loop in the two shader programs. The VS function takes the normal as input and outputs the correct varyings to send to the FS, and the function in the Fragment Shader takes as input the various lighting parameters, and a texture input and returns the final lit colour of the fragment.

This should make it nice and easy to integrate into other shader code.

09
May

Glitched Isoray Video

Added a couple of new controls to the Blob isosurface shader to make it a bit more ‘glitchy’. They basically mess around with the 3D coordinates being sent to the the equation that creates the blobs. The effect wasn’t quite what I thought it would be, but in the right context, the way the rendering breaks up adds a whole new dimension to the shader, especially when it’s synced to music!

I’ve added some effects in VDMX (Gloom, Chromazoom), and synced lots of parameters to audio levels.

No SpaceNavigator control this time. I just had the Trigger Finger hooked up to control rotation, and scaling for some of the AA-controlled parameters (notably the glitch level).

Music is ‘Metropolis’ by Adam F. An oldie but a goodie….

09
May

Glitching The Blob

Glitched version of the Blob isosurface shader. Looking forward to trying this on my MacPro at home…




09
May

SlideTile qcFX Uploaded

Another 2D qcFx. This is one I worked on at the beginning of the year, then forgot about. It just needed a tiny bit of cleaning-up ready for release.

More info in this post.

Download from Memo’s site.

09
May

A Throwaway Distortion Effect

It’s nice to work on some 2D stuff for a change!

This one is just another distortion/mirroring effect. I can see it responding nicely to audio levels.

CIFilter, rather than GLSL.

qcFX uploaded to Memo’s archive

08
May

Something To Try

Nice tutorial on using the Lucifer AudioUnit plugin in Live to send out MIDI CCs.
He’s using Isadora for video, but the technique should be equally applicable to VDMX.




 

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

Categories

Links

Blog Stats

  • 13,521 hits