<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>