<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Dear all,<br>
<br>
I need to do shadows in an GL 3.2 / glsl 1.5 environment.<br>
I was using osgShadow with LightSpacePerspectiveShadowMapCB
technique before moving to 3.2/1.5.<br>
I tried to track down the necessary actions and I think I have to
solve 3 items:<br>
1) Assigning new shaders to the technique (StandardShadowMap<br>
2) Setting <span style=" color:#000000;">setUseModelViewAndProjectionUniforms</span><span
style=" color:#000000;">(</span><span style=" color:#800000;">true</span><span
style=" color:#000000;">) and </span><span style="
color:#000000;">setUseVertexAttributeAliasing</span><span style="
color:#000000;">(true) to the state<br>
3) Find a workaround for TexGen<br>
1) is easy<br>
2) should be possible.<br>
3) Makes me some headache. <br>
osg::TexGen.apply simply says: "</span><span style="
color:#000000;"><span style=" color:#008000;">TexGen::apply(State&)</span><span
style=" color:#c0c0c0;"> </span><span style=" color:#008000;">-</span><span
style=" color:#c0c0c0;"> </span><span style=" color:#008000;">not</span><span
style=" color:#c0c0c0;"> </span><span style=" color:#008000;">supported"<br>
</span>By searching the Internet I found at </span><a class="moz-txt-link-freetext" href="http://http://docs.gl/gl3/glTexGen">http://http://docs.gl/gl3/glTexGen</a><br>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>
<p> If the texture generation function is <code class="constant">GL_EYE_LINEAR</code>,
the function </p>
<p> </p>
<div class="informalequation"><span style="color: inherit;"
class="MathJax_Preview"></span><span style=""
id="MathJax-Element-15-Frame" class="MathJax"><nobr><span
style="width: 24.161em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-105" class="math"><span
style="display: inline-block; position: relative; width:
19.789em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(1.876em, 1000em,
3.191em, -1000em); top: -2.81em; left: 0em;"><span
id="MathJax-Span-106" class="mrow"><span
id="MathJax-Span-107" class="mrow"><span
style="font-family: MathJax_Math; font-style:
italic;" id="MathJax-Span-108" class="mi">g<span
style="display: inline-block; overflow: hidden;
height: 1px; width: 0.003em;"></span></span><span
style="font-family: MathJax_Main; padding-left:
0.278em;" id="MathJax-Span-109" class="mo">=</span><span
style="padding-left: 0.278em;"
id="MathJax-Span-110" class="mrow"><span
id="MathJax-Span-111" class="mrow"><span
id="MathJax-Span-112" class="msup"><span
style="display: inline-block; position:
relative; width: 1.395em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
id="MathJax-Span-113" class="mfenced"><span
id="MathJax-Span-114" class="msub"><span
style="display: inline-block;
position: relative; width: 0.932em;
height: 0px;"><span style="position:
absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top:
-3.981em; left: 0em;"><span
style="font-family:
MathJax_Math; font-style:
italic;" id="MathJax-Span-115"
class="mi">p</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-116" class="mn">1</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 0.932em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-117" class="mo">′′</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
style="font-family: MathJax_Main;
padding-left: 0.222em;" id="MathJax-Span-118"
class="mo">×</span><span style="padding-left:
0.222em;" id="MathJax-Span-119" class="msub"><span
style="display: inline-block; position:
relative; width: 0.977em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.168em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-120" class="mi">x</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em;
left: 0.572em;"><span style="font-size:
70.7%; font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-121" class="mi">e</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span></span><span
style="font-family: MathJax_Main; padding-left:
0.222em;" id="MathJax-Span-122" class="mo">+</span><span
style="padding-left: 0.222em;"
id="MathJax-Span-123" class="mrow"><span
id="MathJax-Span-124" class="msup"><span
style="display: inline-block; position:
relative; width: 1.395em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
id="MathJax-Span-125" class="mfenced"><span
id="MathJax-Span-126" class="msub"><span
style="display: inline-block;
position: relative; width: 0.932em;
height: 0px;"><span style="position:
absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top:
-3.981em; left: 0em;"><span
style="font-family:
MathJax_Math; font-style:
italic;" id="MathJax-Span-127"
class="mi">p</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-128" class="mn">2</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 0.932em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-129" class="mo">′′</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
style="font-family: MathJax_Main;
padding-left: 0.222em;" id="MathJax-Span-130"
class="mo">×</span><span style="padding-left:
0.222em;" id="MathJax-Span-131" class="msub"><span
style="display: inline-block; position:
relative; width: 0.895em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.362em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-132" class="mi">y<span
style="display: inline-block;
overflow: hidden; height: 1px; width:
0.006em;"></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em;
left: 0.49em;"><span style="font-size:
70.7%; font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-133" class="mi">e</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span></span><span
style="font-family: MathJax_Main; padding-left:
0.222em;" id="MathJax-Span-134" class="mo">+</span><span
style="padding-left: 0.222em;"
id="MathJax-Span-135" class="mrow"><span
id="MathJax-Span-136" class="msup"><span
style="display: inline-block; position:
relative; width: 1.395em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
id="MathJax-Span-137" class="mfenced"><span
id="MathJax-Span-138" class="msub"><span
style="display: inline-block;
position: relative; width: 0.932em;
height: 0px;"><span style="position:
absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top:
-3.981em; left: 0em;"><span
style="font-family:
MathJax_Math; font-style:
italic;" id="MathJax-Span-139"
class="mi">p</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-140" class="mn">3</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 0.932em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-141" class="mo">′′</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
style="font-family: MathJax_Main;
padding-left: 0.222em;" id="MathJax-Span-142"
class="mo">×</span><span style="padding-left:
0.222em;" id="MathJax-Span-143" class="msub"><span
style="display: inline-block; position:
relative; width: 0.87em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.168em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-144" class="mi">z<span
style="display: inline-block;
overflow: hidden; height: 1px; width:
0.003em;"></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em;
left: 0.465em;"><span style="font-size:
70.7%; font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-145" class="mi">e</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span></span><span
style="font-family: MathJax_Main; padding-left:
0.222em;" id="MathJax-Span-146" class="mo">+</span><span
style="padding-left: 0.222em;"
id="MathJax-Span-147" class="mrow"><span
id="MathJax-Span-148" class="msup"><span
style="display: inline-block; position:
relative; width: 1.395em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
id="MathJax-Span-149" class="mfenced"><span
id="MathJax-Span-150" class="msub"><span
style="display: inline-block;
position: relative; width: 0.932em;
height: 0px;"><span style="position:
absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top:
-3.981em; left: 0em;"><span
style="font-family:
MathJax_Math; font-style:
italic;" id="MathJax-Span-151"
class="mi">p</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-152" class="mn">4</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 0.932em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-153" class="mo">′′</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
style="font-family: MathJax_Main;
padding-left: 0.222em;" id="MathJax-Span-154"
class="mo">×</span><span style="padding-left:
0.222em;" id="MathJax-Span-155" class="msub"><span
style="display: inline-block; position:
relative; width: 1.121em; height: 0px;"><span
style="position: absolute; clip:
rect(3.363em, 1000em, 4.168em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-156" class="mi">w</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em;
left: 0.716em;"><span style="font-size:
70.7%; font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-157" class="mi">e</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
2.81em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 1.319em;
vertical-align: -0.322em;"></span></span></nobr></span></div>
<p> </p>
<p> is used, where </p>
<p> </p>
<div class="informalequation"><span style="color: inherit;"
class="MathJax_Preview"></span><span style=""
id="MathJax-Element-16-Frame" class="MathJax"><nobr><span
style="width: 17.089em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-158" class="math"><span
style="display: inline-block; position: relative; width:
13.993em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(1.801em, 1000em,
3.236em, -1000em); top: -2.81em; left: 0em;"><span
id="MathJax-Span-159" class="mrow"><span
id="MathJax-Span-160" class="mrow"><span
id="MathJax-Span-161" class="mfenced"><span
style="" id="MathJax-Span-162" class="mo"><span
style="font-family: MathJax_Main;">(</span></span><span
id="MathJax-Span-163" class="mrow"><span
id="MathJax-Span-164" class="msup"><span
style="display: inline-block; position:
relative; width: 1.395em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
id="MathJax-Span-165" class="mfenced"><span
id="MathJax-Span-166" class="msub"><span
style="display: inline-block;
position: relative; width: 0.932em;
height: 0px;"><span style="position:
absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top:
-3.981em; left: 0em;"><span
style="font-family:
MathJax_Math; font-style:
italic;" id="MathJax-Span-167"
class="mi">p</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-168" class="mn">1</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 0.932em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-169" class="mo">′′</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
id="MathJax-Span-170" class="mo"></span><span
id="MathJax-Span-171" class="msup"><span
style="display: inline-block; position:
relative; width: 1.395em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
id="MathJax-Span-172" class="mfenced"><span
id="MathJax-Span-173" class="msub"><span
style="display: inline-block;
position: relative; width: 0.932em;
height: 0px;"><span style="position:
absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top:
-3.981em; left: 0em;"><span
style="font-family:
MathJax_Math; font-style:
italic;" id="MathJax-Span-174"
class="mi">p</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-175" class="mn">2</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 0.932em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-176" class="mo">′′</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
id="MathJax-Span-177" class="mo"></span><span
id="MathJax-Span-178" class="msup"><span
style="display: inline-block; position:
relative; width: 1.395em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
id="MathJax-Span-179" class="mfenced"><span
id="MathJax-Span-180" class="msub"><span
style="display: inline-block;
position: relative; width: 0.932em;
height: 0px;"><span style="position:
absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top:
-3.981em; left: 0em;"><span
style="font-family:
MathJax_Math; font-style:
italic;" id="MathJax-Span-181"
class="mi">p</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-182" class="mn">3</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 0.932em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-183" class="mo">′′</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
id="MathJax-Span-184" class="mo"></span><span
id="MathJax-Span-185" class="msup"><span
style="display: inline-block; position:
relative; width: 1.395em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
id="MathJax-Span-186" class="mfenced"><span
id="MathJax-Span-187" class="msub"><span
style="display: inline-block;
position: relative; width: 0.932em;
height: 0px;"><span style="position:
absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top:
-3.981em; left: 0em;"><span
style="font-family:
MathJax_Math; font-style:
italic;" id="MathJax-Span-188"
class="mi">p</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-189" class="mn">4</span><span
style="display: inline-block;
width: 0px; height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 0.932em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-190" class="mo">′′</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span></span><span
style="" id="MathJax-Span-191" class="mo"><span
style="font-family: MathJax_Main;">)</span></span></span><span
style="font-family: MathJax_Main; padding-left:
0.278em;" id="MathJax-Span-192" class="mo">=</span><span
style="padding-left: 0.278em;"
id="MathJax-Span-193" class="mrow"><span
id="MathJax-Span-194" class="mfenced"><span
style="" id="MathJax-Span-195" class="mo"><span
style="font-family: MathJax_Main;">(</span></span><span
id="MathJax-Span-196" class="mrow"><span
id="MathJax-Span-197" class="msub"><span
style="display: inline-block; position:
relative; width: 0.932em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-198" class="mi">p</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%; font-family:
MathJax_Main;" id="MathJax-Span-199"
class="mn">1</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
id="MathJax-Span-200" class="mo"></span><span
id="MathJax-Span-201" class="msub"><span
style="display: inline-block; position:
relative; width: 0.932em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-202" class="mi">p</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%; font-family:
MathJax_Main;" id="MathJax-Span-203"
class="mn">2</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
id="MathJax-Span-204" class="mo"></span><span
id="MathJax-Span-205" class="msub"><span
style="display: inline-block; position:
relative; width: 0.932em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-206" class="mi">p</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%; font-family:
MathJax_Main;" id="MathJax-Span-207"
class="mn">3</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span><span
id="MathJax-Span-208" class="mo"></span><span
id="MathJax-Span-209" class="msub"><span
style="display: inline-block; position:
relative; width: 0.932em; height: 0px;"><span
style="position: absolute; clip:
rect(3.364em, 1000em, 4.351em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;"
id="MathJax-Span-210" class="mi">p</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span><span
style="position: absolute; top:
-3.831em; left: 0.503em;"><span
style="font-size: 70.7%; font-family:
MathJax_Main;" id="MathJax-Span-211"
class="mn">4</span><span
style="display: inline-block; width:
0px; height: 3.981em;"></span></span></span></span></span><span
style="" id="MathJax-Span-212" class="mo"><span
style="font-family: MathJax_Main;">)</span></span></span><span
id="MathJax-Span-213" class="mo"></span><span
id="MathJax-Span-214" class="msup"><span
style="display: inline-block; position:
relative; width: 1.789em; height: 0px;"><span
style="position: absolute; clip:
rect(3.123em, 1000em, 4.157em, -1000em);
top: -3.981em; left: 0em;"><span
style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-215"
class="mi">M<span style="display:
inline-block; overflow: hidden; height:
1px; width: 0.081em;"></span></span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span><span
style="position: absolute; top: -4.344em;
left: 1.125em;"><span style="font-size:
70.7%; font-family: MathJax_Main;"
id="MathJax-Span-216" class="mn">-1</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
2.81em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 1.465em;
vertical-align: -0.376em;"></span></span></nobr></span></div>
<p> </p>
<p> and <span style="color: inherit;" class="MathJax_Preview"></span><span
style="" id="MathJax-Element-17-Frame" class="MathJax"><nobr><span
style="width: 1.232em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-217" class="math"><span
style="display: inline-block; position: relative; width:
0.995em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(0.378em, 1000em,
1.329em, -1000em); top: -0.995em; left: 0em;"><span
id="MathJax-Span-218" class="mrow"><span
id="MathJax-Span-219" class="msub"><span
style="display: inline-block; position: relative;
width: 0.977em; height: 0px;"><span
style="position: absolute; clip: rect(3.364em,
1000em, 4.168em, -1000em); top: -3.981em; left:
0em;"><span style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-220"
class="mi">x</span><span style="display:
inline-block; width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em; left:
0.572em;"><span style="font-size: 70.7%;
font-family: MathJax_Math; font-style:
italic;" id="MathJax-Span-221" class="mi">e</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
0.995em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.875em;
vertical-align: -0.264em;"></span></span></nobr></span>, <span
style="color: inherit;" class="MathJax_Preview"></span><span
style="" id="MathJax-Element-18-Frame" class="MathJax"><nobr><span
style="width: 1.089em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-222" class="math"><span
style="display: inline-block; position: relative; width:
0.878em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(0.378em, 1000em,
1.376em, -1000em); top: -0.995em; left: 0em;"><span
id="MathJax-Span-223" class="mrow"><span
id="MathJax-Span-224" class="msub"><span
style="display: inline-block; position: relative;
width: 0.895em; height: 0px;"><span
style="position: absolute; clip: rect(3.364em,
1000em, 4.362em, -1000em); top: -3.981em; left:
0em;"><span style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-225"
class="mi">y<span style="display:
inline-block; overflow: hidden; height: 1px;
width: 0.006em;"></span></span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em; left:
0.49em;"><span style="font-size: 70.7%;
font-family: MathJax_Math; font-style:
italic;" id="MathJax-Span-226" class="mi">e</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
0.995em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.932em;
vertical-align: -0.322em;"></span></span></nobr></span>, <span
style="color: inherit;" class="MathJax_Preview"></span><span
style="" id="MathJax-Element-19-Frame" class="MathJax"><nobr><span
style="width: 1.089em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-227" class="math"><span
style="display: inline-block; position: relative; width:
0.878em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(0.378em, 1000em,
1.329em, -1000em); top: -0.995em; left: 0em;"><span
id="MathJax-Span-228" class="mrow"><span
id="MathJax-Span-229" class="msub"><span
style="display: inline-block; position: relative;
width: 0.87em; height: 0px;"><span
style="position: absolute; clip: rect(3.364em,
1000em, 4.168em, -1000em); top: -3.981em; left:
0em;"><span style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-230"
class="mi">z<span style="display:
inline-block; overflow: hidden; height: 1px;
width: 0.003em;"></span></span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em; left:
0.465em;"><span style="font-size: 70.7%;
font-family: MathJax_Math; font-style:
italic;" id="MathJax-Span-231" class="mi">e</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
0.995em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.875em;
vertical-align: -0.264em;"></span></span></nobr></span>,
and <span style="color: inherit;" class="MathJax_Preview"></span><span
style="" id="MathJax-Element-20-Frame" class="MathJax"><nobr><span
style="width: 1.375em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-232" class="math"><span
style="display: inline-block; position: relative; width:
1.112em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(0.377em, 1000em,
1.329em, -1000em); top: -0.995em; left: 0em;"><span
id="MathJax-Span-233" class="mrow"><span
id="MathJax-Span-234" class="msub"><span
style="display: inline-block; position: relative;
width: 1.121em; height: 0px;"><span
style="position: absolute; clip: rect(3.363em,
1000em, 4.168em, -1000em); top: -3.981em; left:
0em;"><span style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-235"
class="mi">w</span><span style="display:
inline-block; width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em; left:
0.716em;"><span style="font-size: 70.7%;
font-family: MathJax_Math; font-style:
italic;" id="MathJax-Span-236" class="mi">e</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
0.995em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.876em;
vertical-align: -0.264em;"></span></span></nobr></span>
are the eye coordinates of the vertex, <span style="color:
inherit;" class="MathJax_Preview"></span><span style=""
id="MathJax-Element-21-Frame" class="MathJax"><nobr><span
style="width: 1.161em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-237" class="math"><span
style="display: inline-block; position: relative; width:
0.937em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(0.378em, 1000em,
1.365em, -1000em); top: -0.995em; left: 0em;"><span
id="MathJax-Span-238" class="mrow"><span
id="MathJax-Span-239" class="msub"><span
style="display: inline-block; position: relative;
width: 0.932em; height: 0px;"><span
style="position: absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top: -3.981em; left:
0em;"><span style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-240"
class="mi">p</span><span style="display:
inline-block; width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em; left:
0.503em;"><span style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-241" class="mn">1</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
0.995em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.919em;
vertical-align: -0.308em;"></span></span></nobr></span>, <span
style="color: inherit;" class="MathJax_Preview"></span><span
style="" id="MathJax-Element-22-Frame" class="MathJax"><nobr><span
style="width: 1.161em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-242" class="math"><span
style="display: inline-block; position: relative; width:
0.937em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(0.378em, 1000em,
1.365em, -1000em); top: -0.995em; left: 0em;"><span
id="MathJax-Span-243" class="mrow"><span
id="MathJax-Span-244" class="msub"><span
style="display: inline-block; position: relative;
width: 0.932em; height: 0px;"><span
style="position: absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top: -3.981em; left:
0em;"><span style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-245"
class="mi">p</span><span style="display:
inline-block; width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em; left:
0.503em;"><span style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-246" class="mn">2</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
0.995em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.919em;
vertical-align: -0.308em;"></span></span></nobr></span>, <span
style="color: inherit;" class="MathJax_Preview"></span><span
style="" id="MathJax-Element-23-Frame" class="MathJax"><nobr><span
style="width: 1.161em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-247" class="math"><span
style="display: inline-block; position: relative; width:
0.937em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(0.378em, 1000em,
1.365em, -1000em); top: -0.995em; left: 0em;"><span
id="MathJax-Span-248" class="mrow"><span
id="MathJax-Span-249" class="msub"><span
style="display: inline-block; position: relative;
width: 0.932em; height: 0px;"><span
style="position: absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top: -3.981em; left:
0em;"><span style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-250"
class="mi">p</span><span style="display:
inline-block; width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em; left:
0.503em;"><span style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-251" class="mn">3</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
0.995em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.919em;
vertical-align: -0.308em;"></span></span></nobr></span>,
and <span style="color: inherit;" class="MathJax_Preview"></span><span
style="" id="MathJax-Element-24-Frame" class="MathJax"><nobr><span
style="width: 1.161em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-252" class="math"><span
style="display: inline-block; position: relative; width:
0.937em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(0.378em, 1000em,
1.365em, -1000em); top: -0.995em; left: 0em;"><span
id="MathJax-Span-253" class="mrow"><span
id="MathJax-Span-254" class="msub"><span
style="display: inline-block; position: relative;
width: 0.932em; height: 0px;"><span
style="position: absolute; clip: rect(3.364em,
1000em, 4.351em, -1000em); top: -3.981em; left:
0em;"><span style="font-family: MathJax_Math;
font-style: italic;" id="MathJax-Span-255"
class="mi">p</span><span style="display:
inline-block; width: 0px; height: 3.981em;"></span></span><span
style="position: absolute; top: -3.831em; left:
0.503em;"><span style="font-size: 70.7%;
font-family: MathJax_Main;"
id="MathJax-Span-256" class="mn">4</span><span
style="display: inline-block; width: 0px;
height: 3.981em;"></span></span></span></span></span><span
style="display: inline-block; width: 0px; height:
0.995em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.919em;
vertical-align: -0.308em;"></span></span></nobr></span>
are the values supplied in <em class="parameter"><code>params</code></em>,
and <span style="color: inherit;" class="MathJax_Preview"></span><span
style="" id="MathJax-Element-25-Frame" class="MathJax"><nobr><span
style="width: 1.304em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-257" class="math"><span
style="display: inline-block; position: relative; width:
1.054em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(1.717em, 1000em,
2.752em, -1000em); top: -2.576em; left: 0em;"><span
id="MathJax-Span-258" class="mrow"><span
style="font-family: MathJax_Math; font-style:
italic;" id="MathJax-Span-259" class="mi">M<span
style="display: inline-block; overflow: hidden;
height: 1px; width: 0.081em;"></span></span></span><span
style="display: inline-block; width: 0px; height:
2.576em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.976em;
vertical-align: -0.071em;"></span></span></nobr></span> is
the modelview matrix when <code class="function">glTexGen</code>
is invoked. If <span style="color: inherit;"
class="MathJax_Preview"></span><span style=""
id="MathJax-Element-26-Frame" class="MathJax"><nobr><span
style="width: 1.304em; display: inline-block;" role="math"
overflow="scroll" id="MathJax-Span-260" class="math"><span
style="display: inline-block; position: relative; width:
1.054em; height: 0px; font-size: 122%;"><span
style="position: absolute; clip: rect(1.717em, 1000em,
2.752em, -1000em); top: -2.576em; left: 0em;"><span
id="MathJax-Span-261" class="mrow"><span
style="font-family: MathJax_Math; font-style:
italic;" id="MathJax-Span-262" class="mi">M<span
style="display: inline-block; overflow: hidden;
height: 1px; width: 0.081em;"></span></span></span><span
style="display: inline-block; width: 0px; height:
2.576em;"></span></span></span><span
style="border-left: 0em solid; display: inline-block;
overflow: hidden; width: 0px; height: 0.976em;
vertical-align: -0.071em;"></span></span></nobr></span> is
poorly conditioned or singular, texture coordinates generated by
the resulting function may be inaccurate or undefined. </p>
<p> Note that the values in <em class="parameter"><code>params</code></em>
define a reference plane in eye coordinates. The modelview matrix
that is applied to them may not be the same one in effect when the
polygon vertices are transformed. This function establishes a
field of texture coordinates that can produce dynamic contour
lines on moving objects. </p>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>
That looks like if I have the light position of the shadow casting
light and the planes somehow given in uniforms<br>
I should be able to do the necessary texture coordinate calculation
in the vertex shader.<br>
I just don't have the necessary knowledge to do it.<br>
My first question: Is it correct that the planes are constant and
not depending on camera movements?<br>
Second question: Is it correct that the above modelView matrix is
the one from the camera when shadow are created (Light view)?<br>
<br>
Does anybody has a link where I can dig further into that or is
there even a "ready to use" example implementation?<br>
<br>
Thanks for any hints.<br>
<br>
- Werner -<br>
<p> </p>
</body>
</html>