On Jan 20, 2011, at 5:44 PM, Christopher Wright wrote:

>>> It only displays the center because the GLSL Grid's size is too big -- it 
>>> should be 2 wide at most, and it looks to be 3 and a fraction.  The Width 
>>> and Height inputs control this, so you can see which patches control this 
>>> (Image Dimensions, I think)
>> 
>> But isn't that the sort of thing that Image Dimensions is supposed to be 
>> for? Even when I set it to 1 or 2 manually, the center cut behavior does not 
>> change.
> 
> I haven't looked closer, but if the grid is less than 2 across and 
> AspectRatio high, it should fit on screen unless something else is changing 
> it (perhaps its set closer to the camera or something?)

I'm not certain at this point, but as I expect to do further processing and it 
does show the entire image in the Render In Image, I stopped chasing this one. 
Thank you.

>>> Render In Image probably needs a clear patch.  If that doesn't help, please 
>>> post a sample composition that shows the problem you're encountering.
>> 
>> Well, when I add a clear patch, if I enable it, it goes black, if I then 
>> disable it, things are fine. Until I change something like the input image, 
>> etc... then I need to manually clear it to black, then disable it.
> 
> it went black because the clear patch was layer 2 -- set it to 1 (so it 
> clears first, then draws other stuff) and you should be good to go.  The 
> layer number is the number in the corner of the patch.

That did it, thanks.


> ...snip...
> In fact, the above could be even simpler:
> 
> pixelColor can go away, and the vertex shader can set gl_FrontColor to 
> glColor * texture2DRect(texture, gl_TexCoord[0].xy).  Then the fragment 
> shader is simply "gl_FragColor = gl_Color;".  no per-pixel math at all.
> 
> The way GL works is that you specify vertices (the triangle corners), and 
> various attributes at those vertices (colors, normals, texture coordinates, 
> whatever), and the pixels in the middle get in-the-middle values 
> automatically.  It's just part of the contract that when you specify those 
> per-vertex, the fragment shader gets interpolated values as it walks across 
> the triangle.  You don't need to ask it to do that, because that's what it's 
> built to do automatically.  (very anticlimactic, I know)

So - this instead? Vertex:

uniform sampler2DRect texture;

void main()
{
        //Transform vertex by modelview and projection matrices
        gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
        
        //Forward current color and texture coordinates after applying texture 
matrix
        gl_FrontColor = gl_Color * texture2DRect(texture, gl_TexCoord[0].xy);
        gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
        
}

and this Fragment:

void main()
{
        gl_FragColor = gl_Color;
}

I'll try it out and let you know. Thanks again.

Patrick


 _______________________________________________
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