Hi Patrick,

you can use a "GLSL Grid"- patch to generate the a vertices grid. In the vertex 
code you can read in the pixel color from your image and put them into a 
varying vec4 variable. that gets interpolated by hardware for each pixel 
calculated by the fragment shader. Do you have an example composition where we 
can see what the result should look like?

best,

Achim Breidenbach
Boinx Software

On 19.01.2011, at 21:14, Patrick Sheffield wrote:

> 
> Is there a way in Quartz Composer to draw a (right) triangle of size X that 
> is Gouraud or Smooth shaded between the 3 specified corner values. Actually, 
> I will want to draw an entire "sheet" of them, but I'll start with just one.
> 
> I can do so with a CI Kernel program, but it involves a silly amount of math 
> interpolating the coloration between the vertices, especially when I am sure 
> this can be done in hardware...
> 
> As an FYI, here's the CI Kernel code - feeding it an image with the RGB 
> values pre-plugged at size intervals. It's not efficient to be doing 4 
> texture reads for each pixel, then interpolating to determine the color...
> 
> Any thoughts? thanks,
> 
> Patrick
> 
> kernel vec4 triangle(sampler image, float size)
> {
> vec2 uv = samplerCoord(image);
> vec2 auv = floor(uv/size) * size;
> vec2 duv = auv + size;
> vec2 buv = vec2(duv.x,auv.y);
> vec2 cuv = vec2(auv.x,duv.y);
> 
> vec2 s = mod(uv, size);
> 
> vec3 a = sample(image, auv).rgb;
> vec3 b = sample(image, buv).rgb;
> vec3 c = sample(image, cuv).rgb;
> vec3 d = sample(image, duv).rgb;
> 
> vec3 pix = (s.x + s.y) < size ?
>    mix(mix(a, b, s.x/(size-s.y)), c, s.y/size)
>  : 
>    mix(b, mix(c, d, (s.x-(size-s.y))/(size-(size-s.y))), s.y/size);
> 
> return vec4(pix,1.0);
> 
> }
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/quartzcomposer-dev/achim%40boinx.com
> 
> This email sent to ac...@boinx.com

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to