<div dir="ltr">Erick,<div>gl_FragCoord is almost certainly not what you want (Google it). Try something like this:</div><div><br></div><div>Vertex shader:</div><div><br></div><div>uniform vec3 center;</div><div>varying float dist;</div><div>void main()<br>{</div><div>    vec4 vertex = gl_ModelViewMatrix * gl_Vertex;</div><div>    dist = length(center - vertex.xyz);</div><div>}</div><div><br></div><div>Fragment shader:</div><div><br></div><div>uniform float rad;</div><div>varying float dist;</div><div>void main()</div><div>{</div><div>    if ( rad < dist )</div><div>        discard;</div><div>    else</div><div>        gl_FragColor = ...;</div><div>}</div><div><br></div><div>    </div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">Glenn Waldron / @glennwaldron</div></div>
<br><div class="gmail_quote">On Fri, Jul 24, 2015 at 9:22 AM, Erik Hensens <span dir="ltr"><<a href="mailto:ehensens@hunter.com" target="_blank">ehensens@hunter.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks Christian. It's funny you mention that because since I'm not setting the color, the quad looks like an old television tuned to a frequency not in service, i.e. "static" or "snow". I think every time the quad is rendered each fragment's color is set to whatever value is in some uninitialized portion of memory, and each fragment changes color each time it is rendered. Quite a funny effect!<br>
<br>
I added the following line to set the color, and now it is always blue, but it's still not putting a hole in my quad, it's all there or all gone depending on whether I say if (fDist < rad) or if (fDist > rad):<br>
<br>
<br>
Code:<br>
<span class=""><br>
// The fragment shader program source code<br>
std::string szFragSource(<br>
"uniform vec3 center;\n"<br>
"uniform float rad;\n"<br>
"void main()\n"<br>
"{\n"<br>
"float fDistX = gl_FragCoord.x - center.x;\n"<br>
"float fDistY = gl_FragCoord.y - center.y;\n"<br>
"float fDistZ = gl_FragCoord.z - center.z;\n"<br>
"float fDist = sqrt(fDistX * fDistX + fDistY * fDistY + fDistZ * fDistZ);\n"<br>
</span>"gl_FragColor = vec4(0.0,0.0,1.0,1.0);\n"<br>
<span class="">"if (fDist < rad) discard;\n"<br>
"}\n"<br>
);<br>
<br>
<br>
<br>
<br>
</span>Any other ideas about why my code doesn't achieve what I want? For example, am I using gl_FragCoord correctly? Are there other errors in my frag source?<br>
<br>
Thanks again!<br>
<span class=""><br>
<br>
cbuchner1 wrote:<br>
> I believe your fragment shader is not setting the output fragment color at all, which is a minimum requirement for a fragment shader to work.<br>
><br>
><br>
> Christian<br>
><br>
><br>
><br>
</span><span class="">> 2015-07-23 23:59 GMT+02:00 Erik Hensens < ()>:<br>
><br>
> > Sorry for the triplicate post, I received an error message on trying to post until I removed the quotes...<br>
> ><br>
> > ------------------<br>
> > Read this topic online here:<br>
</span>> > <a href="http://forum.openscenegraph.org/viewtopic.php?p=64458#64458" rel="noreferrer" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=64458#64458</a> (<a href="http://forum.openscenegraph.org/viewtopic.php?p=64458#64458" rel="noreferrer" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=64458#64458</a>)<br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > osg-users mailing list<br>
> >  ()<br>
> > <a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a> (<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a>)<br>
> ><br>
> ><br>
> ><br>
><br>
><br>
>  ------------------<br>
> Post generated by Mail2Forum<br>
<span class=""><br>
<br>
------------------<br>
Read this topic online here:<br>
</span><a href="http://forum.openscenegraph.org/viewtopic.php?p=64467#64467" rel="noreferrer" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=64467#64467</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
</div></div></blockquote></div><br></div>