<!DOCTYPE VVVV  SYSTEM "http://vvvv.meso.net/versions/vvvv33alpha9.0.dtd" >
   <PATCH nodename="V:\releases\vvvv_33beta9a\help\Cull (EX9.RenderState) help.v4p">
   <BOUNDS height="6660" left="1905" top="4890" type="Window" width="12015">
   </BOUNDS>
   <NODE componentmode="InABox" id="12" nodename="Renderer (EX9)">
   <BOUNDS height="0" left="8040" top="750" type="Node" width="0">
   </BOUNDS>
   <BOUNDS height="5820" left="9150" top="2925" type="Window" width="6000">
   </BOUNDS>
   <BOUNDS height="3135" left="8040" top="750" type="Box" width="3480">
   </BOUNDS>
   <PIN pinname="View Transform" visible="1">
   </PIN>
   <PIN pinname="Depth Buffer" slicecount="1" values="1.00000">
   </PIN>
   <PIN pinname="Background Color" slicecount="1" values="|0.00000,0.00000,0.00000,1.00000|">
   </PIN>
   <PIN pinname="Layers" visible="1">
   </PIN>
   <PIN pinname="Projection Transform" visible="1">
   </PIN>
   </NODE>
   <NODE id="11" nodename="LFO (Animation)">
   <BOUNDS height="0" left="6780" top="2295" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Output" visible="1">
   </PIN>
   <PIN pinname="Period" slicecount="1" values="7">
   </PIN>
   <PIN pinname="Pause" slicecount="1" values="1">
   </PIN>
   </NODE>
   <NODE id="10" nodename="Rotate (Transform)">
   <BOUNDS height="0" left="6390" top="2745" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Transform In" slicecount="1" visible="1" values="||">
   </PIN>
   <PIN pinname="Transform Out" visible="1">
   </PIN>
   <PIN pinname="Z" visible="1">
   </PIN>
   <PIN pinname="Y" visible="1">
   </PIN>
   <PIN pinname="X" slicecount="1" values="-0.11">
   </PIN>
   </NODE>
   <LINK dstnodeid="10" dstpinname="Z" linkstyle="VHV" srcnodeid="11" srcpinname="Output">
   <LINKPOINT x="6810" y="2655">
   </LINKPOINT>
   <LINKPOINT x="7005" y="2655">
   </LINKPOINT>
   </LINK>
   <LINK dstnodeid="10" dstpinname="Y" linkstyle="VHV" srcnodeid="11" srcpinname="Output">
   <LINKPOINT x="6810" y="2655">
   </LINKPOINT>
   <LINKPOINT x="6810" y="2655">
   </LINKPOINT>
   </LINK>
   <NODE hiddenwhenlocked="0" id="9" managers="" nodename="UniformScale (Transform)">
   <PIN pinname="Transform In" pintype="Input" visible="1">
   </PIN>
   <PIN pinname="XYZ" pintype="Input" slicecount="1" visible="1" values="0.47">
   </PIN>
   <PIN pinname="Transform Out" pintype="Output" visible="1">
   </PIN>
   <BOUNDS height="0" left="6390" top="3195" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Descriptive Name" pintype="Configuration" slicecount="1" values="||">
   </PIN>
   </NODE>
   <LINK dstnodeid="9" dstpinname="Transform In" linkstyle="VHV" srcnodeid="10" srcpinname="Transform Out">
   <LINKPOINT x="6540" y="3105">
   </LINKPOINT>
   <LINKPOINT x="6540" y="3105">
   </LINKPOINT>
   </LINK>
   <NODE componentmode="InABox" id="8" nodename="IOBox (String)">
   <BOUNDS height="255" left="195" top="1020" type="Node" width="840">
   </BOUNDS>
   <BOUNDS height="5175" left="195" top="1020" type="Box" width="4740">
   </BOUNDS>
   <BOUNDS height="160" left="0" top="0" type="Window" width="215">
   </BOUNDS>
   <PIN pinname="Input String" slicecount="1" visible="0" values="|In backface culling we want to remove or &quot;cull&quot; the backfaces from an object we are drawing. A backface is essentially what it sounds like; the back of something. But of what? Well, that would be the backface of what are usually referred to as polygons or facets. 3D objects are made up of polygons or facets, which are made up of vertices. One property of polygons is that they generally have a particular direction they are facing. The direction a polygon is facing is determined by its normal vector. The normal is a vector which is perpendicular to the polygon which can also be said to be a plane (as defined in mathematics.) The normal sticks out of the front of the polygon, and so, in backface culling, we only want to draw polygons that are facing us. You may be asking yourself, &quot;Why would we want to do that?&quot; Well, first of all, as with most hidden face removal techniques, it saves time. For example, with a cube, we can only see a maximum of three faces at any one time. Considering there are six faces in a cube, drawing only those three can save at least 50% of the work from the rest of your renderer. Also, this makes objects appear to be more solid. With a wire frame model, you can see right through it to the other side. But, if you look at your monitor, you can&apos;t see the back of it, right? That&apos;s the principle backface culling works on.&cr;&lf;&cr;&lf;Taken out of the Wikipedia&cr;&lf;http://en.wikipedia.org/wiki/Hidden_face_removal|">
   </PIN>
   <PIN pinname="Output String" visible="0">
   </PIN>
   <PIN pinname="Show Grid" slicecount="1" values="0">
   </PIN>
   </NODE>
   <NODE componentmode="InABox" id="7" nodename="IOBox (Enumerations)">
   <BOUNDS height="0" left="5640" top="1095" type="Node" width="0">
   </BOUNDS>
   <BOUNDS height="160" left="6420" top="5955" type="Window" width="215">
   </BOUNDS>
   <BOUNDS height="765" left="5640" top="1095" type="Box" width="1530">
   </BOUNDS>
   <PIN pinname="Output Enum" visible="1">
   </PIN>
   <PIN pinname="Style" slicecount="1" values="List">
   </PIN>
   <PIN pinname="Input Enum" slicecount="1" values="Counterclockwise">
   </PIN>
   </NODE>
   <NODE id="5" nodename="FileTexture (EX9.Texture)">
   <BOUNDS height="0" left="7020" top="3870" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Texture Out" visible="1">
   </PIN>
   <PIN pinname="Filename" slicecount="1" values="..\..\..\vvvv_33alpha7.6\bonustrack\images\wimp.jpg">
   </PIN>
   </NODE>
   <NODE id="4" nodename="DrawFixed (EX9.Effect)">
   <BOUNDS height="0" left="6075" top="4545" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Mesh" visible="1">
   </PIN>
   <PIN pinname="Render State" visible="1">
   </PIN>
   <PIN pinname="Transform" visible="1">
   </PIN>
   <PIN pinname="Ambient Color">
   </PIN>
   <PIN pinname="Diffuse Color">
   </PIN>
   <BOUNDS left="3300" top="5115" type="Box">
   </BOUNDS>
   <PIN pinname="Texture" visible="1">
   </PIN>
   <PIN pinname="Layer" visible="1">
   </PIN>
   </NODE>
   <LINK dstnodeid="4" dstpinname="Transform" linkstyle="VHV" srcnodeid="9" srcpinname="Transform Out">
   <LINKPOINT x="6420" y="4005">
   </LINKPOINT>
   <LINKPOINT x="6420" y="4005">
   </LINKPOINT>
   </LINK>
   <NODE id="3" nodename="Cull (EX9.RenderState)">
   <BOUNDS height="0" left="5235" top="1980" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Render State Out" visible="1">
   </PIN>
   <PIN pinname="Culling" visible="1">
   </PIN>
   </NODE>
   <LINK dstnodeid="3" dstpinname="Culling" srcnodeid="7" srcpinname="Output Enum">
   </LINK>
   <NODE id="2" nodename="Teapot (EX9.Geometry)">
   <BOUNDS height="0" left="5895" top="3630" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Mesh" visible="1">
   </PIN>
   </NODE>
   <LINK dstnodeid="4" dstpinname="Mesh" linkstyle="PolyLine" srcnodeid="2" srcpinname="Mesh">
   <LINKPOINT x="5925" y="4080">
   </LINKPOINT>
   <LINKPOINT x="6270" y="4080">
   </LINKPOINT>
   </LINK>
   <LINK dstnodeid="4" dstpinname="Texture" linkstyle="PolyLine" srcnodeid="5" srcpinname="Texture Out">
   <LINKPOINT x="7050" y="4365">
   </LINKPOINT>
   <LINKPOINT x="6585" y="4365">
   </LINKPOINT>
   </LINK>
   <NODE componentmode="InABox" id="1" nodename="IOBox (String)">
   <BOUNDS height="255" left="15" top="390" type="Node" width="570">
   </BOUNDS>
   <BOUNDS height="315" left="15" top="390" type="Box" width="1875">
   </BOUNDS>
   <BOUNDS height="160" left="300" top="300" type="Window" width="215">
   </BOUNDS>
   <PIN pinname="Input String" slicecount="1" visible="0" values="|enables back face culling|">
   </PIN>
   <PIN pinname="Output String" visible="0">
   </PIN>
   <PIN pinname="Show Grid" slicecount="1" values="0">
   </PIN>
   </NODE>
   <NODE componentmode="InABox" id="0" nodename="IOBox (String)">
   <BOUNDS height="270" left="15" top="15" type="Node" width="915">
   </BOUNDS>
   <BOUNDS height="390" left="15" top="15" type="Box" width="4095">
   </BOUNDS>
   <BOUNDS height="160" left="900" top="900" type="Window" width="215">
   </BOUNDS>
   <PIN pinname="Input String" slicecount="1" visible="0" values="|Cull - EX9.RenderState|">
   </PIN>
   <PIN pinname="Output String" visible="0">
   </PIN>
   <PIN pinname="Show Grid" slicecount="1" values="0">
   </PIN>
   <PIN pinname="Size" slicecount="1" values="12">
   </PIN>
   </NODE>
   <LINK dstnodeid="12" dstpinname="Layers" srcnodeid="4" srcpinname="Layer">
   <LINKPOINT x="6105" y="5130">
   </LINKPOINT>
   <LINKPOINT x="7650" y="5130">
   </LINKPOINT>
   <LINKPOINT x="7650" y="735">
   </LINKPOINT>
   </LINK>
   <NODE nodename="Perspective (Transform)" id="13">
   <BOUNDS type="Node" left="10560" top="180" width="0" height="0">
   </BOUNDS>
   <PIN pinname="Transform Out" visible="1">
   </PIN>
   </NODE>
   <LINK srcnodeid="13" srcpinname="Transform Out" dstnodeid="12" dstpinname="Projection Transform">
   </LINK>
   <NODE nodename="Translate (Transform)" id="14">
   <BOUNDS type="Node" left="9600" top="180" width="0" height="0">
   </BOUNDS>
   <PIN pinname="Transform Out" visible="1">
   </PIN>
   <PIN pinname="Z" slicecount="1" values="0.47">
   </PIN>
   </NODE>
   <LINK srcnodeid="14" srcpinname="Transform Out" dstnodeid="12" dstpinname="View Transform">
   </LINK>
   <NODE id="16" nodename="Fill (EX9.RenderState)">
   <BOUNDS height="0" left="5235" top="3615" type="Node" width="0">
   </BOUNDS>
   <PIN pinname="Render State Out" visible="1">
   </PIN>
   <PIN pinname="Draw Mode">
   </PIN>
   <PIN pinname="Render State In" visible="1">
   </PIN>
   <PIN pinname="Fill Mode" slicecount="1" values="WireFrame">
   </PIN>
   </NODE>
   <LINK dstnodeid="4" dstpinname="Render State" linkstyle="PolyLine" srcnodeid="16" srcpinname="Render State Out">
   <LINKPOINT x="5265" y="4275">
   </LINKPOINT>
   <LINKPOINT x="6105" y="4275">
   </LINKPOINT>
   </LINK>
   <LINK dstnodeid="16" dstpinname="Render State In" srcnodeid="3" srcpinname="Render State Out">
   </LINK>
   </PATCH>