1. Jason McKesson
  2. gltut

Commits

Jason McKesson  committed decc201

Some editing.

  • Participants
  • Parent commits 457579f
  • Branches default

Comments (0)

Files changed (4)

File Documents/Basics/Tutorial 00.xml

View file
                 equivalent of a NULL pointer. Binding object 0 means to unbind the currently bound
                 object. This means that the original context state, the state that was in place
                 before the binding took place, now becomes the context state.</para>
-            <para>Due note that this is simply a model of OpenGL's <emphasis>behavior.</emphasis>
+            <para>Do note that this is simply a model of OpenGL's <emphasis>behavior.</emphasis>
                 This is most certainly <emphasis>not</emphasis> how it is actually
                 implemented.</para>
         </section>

File Documents/Basics/Tutorial 01.xml

View file
             <title>Vertex Processing and Shaders</title>
             <para>Now that we can tell OpenGL what the vertex data is, we come to the next stage of
                 the pipeline: vertex processing. This is one of two programmable stages that we will
-                cover in this tutorial, so this involve the use of a
+                cover in this tutorial, so this involves the use of a
                 <glossterm>shader.</glossterm></para>
             <para>All a shader is is a program that runs on the GPU. There are several possible
                 shader stages in the pipeline, and each has its own inputs and outputs. The purpose

File Documents/Illumination/Tutorial 08.xml

View file
     <section>
         <title>Modelling Lights</title>
         <para>Lighting is complicated. Very complicated. The interaction between a surface and a
-            light is mostly well understood in terms of the science, but there is a problem.
-            Modeling the full light/surface interaction as it is currently understood is
+            light is mostly well understood in terms of the physics. But actually doing the
+            computations for full light/surface interaction as it is currently understood is
             prohibitively expensive.</para>
         <para>As such, all lighting in any real-time application is some form of approximation of
             the real world. How accurate that approximation is generally determines how close to
             a scene that is indistinguishable from a photograph of reality.</para>
         <note>
             <title>Non-Photorealistic Rendering</title>
-            <para>There are lighting models that do not attempt to model reality. These are
-                categorized as non-photorealistic rendering (<acronym>NPR</acronym>) techniques.
+            <para>There are lighting models that do not attempt to model reality. These are, as a
+                group, called non-photorealistic rendering (<acronym>NPR</acronym>) techniques.
                 These lighting models and rendering techniques can attempt to model cartoon styles
-                (typically called <quote>cel shading</quote>), paintbrush effects, or other similar
-                things.</para>
+                (typically called <quote>cel shading</quote>), paintbrush effects, pencil-sketch, or
+                other similar things. NPR techniques including lighting models, but they also do
+                other, non-lighting things.</para>
             <para>Developing good NPR techniques is at least as difficult as developing good
                 photorealistic lighting models. For the most part, in this book, we will focus on
                 approximating photorealism.</para>
                 well and good.</para>
             <para>But polygonal models are supposed to be approximations of real, curved surfaces.
                 If one used the actual triangle's surface normal, the object would look very
-                faceted. If instead we can use </para>
+                faceted. This might be an accurate of what was actually drawn, but it reveals the
+                surface to be exactly what it is: an approximation.</para>
+            <para>Instead of using the triangle's normal, we can instead assign each vertex the
+                normal it <emphasis>would</emphasis> have on the surface it is approximating. That
+                is, while the mesh is an approximating, the normal for a vertex is the actual normal
+                for that surface. This actually works out surprisingly well.</para>
+            <para>This means that we must add to the vertex's information. In past tutorials, we
+                have had a position and sometimes a color. To that information, we add a normal. So
+                we will need a vertex shader input, a vertex attribute, that represents the
+                normal.</para>
+            <para/>
         </section>
-        <para/>
-        <para/>
     </section>
     <section>
         <title>Intensity of Light</title>

File Documents/Outline.xml

View file
                 </glossdef>
             </glossentry>
             <glossentry>
+                <glossterm>1:1 Pixel accurate texture rendering</glossterm>
+                <glossdef>
+                    <para/>
+                </glossdef>
+            </glossentry>
+            <glossentry>
                 <glossterm>Procedural Textures</glossterm>
                 <glossdef>
                     <para>How to do procedural textures, with proper filtering and so forth.</para>