ÿþ<?xml version="1.0" encoding="UTF-16" standalone="no"?> <fxstudio_project fileversion="3" buildversion="1.7.202.1100" originalpath="F:\devrel\SDK\MEDIA\projects\softStencilShadow.fxproj"><system_settings><searchpaths><texture><path name="E:\sw\devrel\SDK\MEDIA\projects\"/><path name="F:\devrel\SDK\MEDIA\projects\"/><path name="F:\Playpen\fx_projects\"/><path name="F:\Playpen\MayaProjects\Bits\export\"/></texture><shader><path name="E:\sw\devrel\SDK\MEDIA\projects\"/><path name="F:\devrel\SDK\MEDIA\projects\"/><path name="F:\Playpen\fx_projects\"/><path name="F:\Playpen\MayaProjects\Bits\export\"/></shader><model><path name="E:\sw\devrel\SDK\MEDIA\projects\"/><path name="F:\devrel\SDK\MEDIA\projects\"/><path name="F:\Playpen\fx_projects\"/><path name="F:\Playpen\MayaProjects\Bits\export\"/></model></searchpaths></system_settings><scene objectid="1" sceneticks="100"><parameterlist objectid="2"><connectionparameter objectid="3" name="World" semantic="WORLD" type="5" rows="4" columns="4" handle="65077624" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.320243e-036,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="View" semantic="VIEW" type="5" rows="4" columns="4" handle="3531648" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="4.945586e-039,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="-1.440270e-001,-5.464319e-001,-8.250262e-001,0.000000e+000,-1.117587e-007,8.337187e-001,-5.521892e-001,0.000000e+000,9.895737e-001,-7.953006e-002,-1.200781e-001,0.000000e+000,1.019099e+000,-3.264211e+000,1.006888e+001,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Projection" semantic="PROJECTION" type="5" rows="4" columns="4" handle="3531064" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.321590e-036,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.275299e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.191754e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.003922e+000,1.000000e+000,0.000000e+000,0.000000e+000,-1.214001e-001,0.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Scene Center" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="65053056" animated="0" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="-2.967933e+000, 4.718793e+000, -3.444806e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Scene Extents" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="65055136" animated="0" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="1.417737e+001, 4.865985e+000, 1.417737e+001"/></keys></connectionparameter><connectionparameter objectid="3" name="Screen Size" semantic="UNKNOWN" type="2" rows="0" columns="0" handle="3525776" animated="0" numkeys="1" defaulttype="float2" defaultvalue="2.560000e+002, 2.560000e+002"><keys><key num="0" value="4.850000e+002, 5.190000e+002"/></keys></connectionparameter><connectionparameter objectid="3" name="Show Lights" semantic="UNKNOWN" type="4" rows="0" columns="0" handle="65114568" animated="0" numkeys="1" defaulttype="bool" defaultvalue="1"><keys><key num="0" value="1"/></keys></connectionparameter><connectionparameter objectid="3" name="Show Cameras" semantic="UNKNOWN" type="4" rows="0" columns="0" handle="3538656" animated="0" numkeys="1" defaulttype="bool" defaultvalue="1"><keys><key num="0" value="1"/></keys></connectionparameter><connectionparameter objectid="3" name="Show Text" semantic="UNKNOWN" type="4" rows="0" columns="0" handle="65054744" animated="0" numkeys="1" defaulttype="bool" defaultvalue="1"><keys><key num="0" value="1"/></keys></connectionparameter></parameterlist><material objectid="4" name="softStencilShadow" handle="191" effect="F:\devrel\SDK\MEDIA\HLSL\softStencilShadow.fx"><parameterlist objectid="2"><connectionparameter objectid="3" name="QuadTexOffset" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="87247704" animated="0" numkeys="1" defaulttype="float" defaultvalue="5.000000e-001"><keys><key num="0" value="5.000000e-001"/></keys><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/></connectionparameter><connectionparameter objectid="3" name="QuadScreenSize" semantic="VIEWPORTPIXELSIZE" type="2" rows="0" columns="0" handle="87291264" animated="0" numkeys="1" defaulttype="float2" defaultvalue="0.000000e+000, 0.000000e+000"><keys><key num="0" value="6.400000e+001, 6.400000e+001"/></keys><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/></connectionparameter><connectionparameter objectid="3" name="Script" semantic="STANDARDSGLOBAL" type="3" rows="0" columns="0" handle="87467424" animated="0" numkeys="1" defaulttype="float" defaultvalue="8.000000e-001"><keys><key num="0" value="8.000000e-001"/></keys><annotation nametype="9" valuetype="9" name="SCRIPT" value="Technique=main;"/><annotation nametype="9" valuetype="9" name="SCRIPTCLASS" value="SCENE"/><annotation nametype="9" valuetype="9" name="SCRIPTORDER" value="STANDARD"/><annotation nametype="9" valuetype="9" name="SCRIPTOUTPUT" value="COLOR"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/></connectionparameter><connectionparameter objectid="3" name="ClearColor" semantic="UNKNOWN" type="0" rows="0" columns="0" handle="99534824" animated="0" numkeys="1" defaulttype="float4" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000"/></keys><annotation nametype="9" valuetype="9" name="UINAME" value="background"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/></connectionparameter><connectionparameter objectid="3" name="White" semantic="UNKNOWN" type="0" rows="0" columns="0" handle="100078736" animated="0" numkeys="1" defaulttype="float4" defaultvalue="1.000000e+000, 1.000000e+000, 1.000000e+000, 0.000000e+000"><keys><key num="0" value="1.000000e+000, 1.000000e+000, 1.000000e+000, 0.000000e+000"/></keys><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/></connectionparameter><connectionparameter objectid="3" name="ClearDepth" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="99900152" animated="0" numkeys="1" defaulttype="float" defaultvalue="1.000000e+000"><keys><key num="0" value="1.000000e+000"/></keys><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/></connectionparameter><connectionparameter objectid="3" name="WhiteMap" semantic="RENDERCOLORTARGET" type="6" rows="0" columns="0" handle="87184168" animated="0" numkeys="1" defaulttype="texture" defaultvalue=""><keys><key num="0" value=""/></keys><annotation nametype="9" valuetype="9" name="FORMAT" value="A8B8G8R8"/><annotation nametype="9" valuetype="8" name="MIPLEVELS" value="1"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/><annotation nametype="9" valuetype="2" name="VIEWPORTRATIO" value="1.000000e+000, 1.000000e+000"/></connectionparameter><connectionparameter objectid="3" name="WhiteSampler" semantic="UNKNOWN" type="12" rows="0" columns="0" handle="87385128" animated="0" numkeys="1" defaulttype="sampler" defaultvalue="UNKNOWN"><keys><key num="0" value="UNKNOWN"/></keys></connectionparameter><connectionparameter objectid="3" name="SceneMap" semantic="RENDERCOLORTARGET" type="6" rows="0" columns="0" handle="99588960" animated="0" numkeys="1" defaulttype="texture" defaultvalue=""><keys><key num="0" value=""/></keys><annotation nametype="9" valuetype="9" name="FORMAT" value="A8B8G8R8"/><annotation nametype="9" valuetype="8" name="MIPLEVELS" value="1"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/><annotation nametype="9" valuetype="2" name="VIEWPORTRATIO" value="1.000000e+000, 1.000000e+000"/></connectionparameter><connectionparameter objectid="3" name="SceneSampler" semantic="UNKNOWN" type="12" rows="0" columns="0" handle="99357648" animated="0" numkeys="1" defaulttype="sampler" defaultvalue="UNKNOWN"><keys><key num="0" value="UNKNOWN"/></keys></connectionparameter><connectionparameter objectid="3" name="BlurMap" semantic="RENDERCOLORTARGET" type="6" rows="0" columns="0" handle="87129864" animated="0" numkeys="1" defaulttype="texture" defaultvalue=""><keys><key num="0" value=""/></keys><annotation nametype="9" valuetype="9" name="FORMAT" value="A8B8G8R8"/><annotation nametype="9" valuetype="8" name="MIPLEVELS" value="1"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/><annotation nametype="9" valuetype="2" name="VIEWPORTRATIO" value="1.000000e+000, 1.000000e+000"/></connectionparameter><connectionparameter objectid="3" name="BlurSampler" semantic="UNKNOWN" type="12" rows="0" columns="0" handle="102753512" animated="0" numkeys="1" defaulttype="sampler" defaultvalue="UNKNOWN"><keys><key num="0" value="UNKNOWN"/></keys></connectionparameter><connectionparameter objectid="3" name="GrayDepthMap" semantic="RENDERCOLORTARGET" type="6" rows="0" columns="0" handle="99152560" animated="0" numkeys="1" defaulttype="texture" defaultvalue=""><keys><key num="0" value=""/></keys><annotation nametype="9" valuetype="9" name="FORMAT" value="A8B8G8R8"/><annotation nametype="9" valuetype="8" name="MIPLEVELS" value="1"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/><annotation nametype="9" valuetype="2" name="VIEWPORTRATIO" value="1.000000e+000, 1.000000e+000"/></connectionparameter><connectionparameter objectid="3" name="GrayDepthSampler" semantic="UNKNOWN" type="12" rows="0" columns="0" handle="87387304" animated="0" numkeys="1" defaulttype="sampler" defaultvalue="UNKNOWN"><keys><key num="0" value="UNKNOWN"/></keys></connectionparameter><connectionparameter objectid="3" name="DepthMap" semantic="RENDERDEPTHSTENCILTARGET" type="6" rows="0" columns="0" handle="99308272" animated="0" numkeys="1" defaulttype="texture" defaultvalue=""><keys><key num="0" value=""/></keys><annotation nametype="9" valuetype="9" name="FORMAT" value="D24S8"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/><annotation nametype="9" valuetype="2" name="VIEWPORTRATIO" value="1.000000e+000, 1.000000e+000"/></connectionparameter><connectionparameter objectid="3" name="WorldViewProj" semantic="WORLDVIEWPROJECTION" type="5" rows="4" columns="4" handle="87490032" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,"><keys><key num="0" value="1.732051e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.732051e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.012658e+000,1.000000e+000,0.000000e+000,0.000000e+000,2.481013e+000,2.500000e+000,"/></keys><annotation nametype="9" valuetype="9" name="UIWIDGET" value="NONE"/></connectionparameter><connectionparameter objectid="3" name="SurfColor" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="99481376" animated="0" numkeys="1" defaulttype="float3" defaultvalue="1.000000e+000, 9.000000e-001, 8.000000e-001"><keys><key num="0" value="1.000000e+000, 9.000000e-001, 8.000000e-001"/></keys><annotation nametype="9" valuetype="9" name="UINAME" value="Surface"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="COLOR"/></connectionparameter><connectionparameter objectid="3" name="AmbiColor" semantic="UNKNOWN" type="0" rows="0" columns="0" handle="99390376" animated="0" numkeys="1" defaulttype="float4" defaultvalue="1.000000e-001, 1.000000e-001, 2.000000e-001, 0.000000e+000"><keys><key num="0" value="1.137255e-001, 1.137255e-001, 2.352941e-001, 0.000000e+000"/></keys><annotation nametype="9" valuetype="9" name="UINAME" value="Ambient"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="COLOR"/></connectionparameter><connectionparameter objectid="3" name="LightPos" semantic="POSITION" type="0" rows="0" columns="0" handle="99329296" animated="0" numkeys="1" defaulttype="float4" defaultvalue="1.000000e+002, 1.000000e+002, 1.000000e+002, 0.000000e+000"><keys><key num="0" value="1.000000e+002, 1.000000e+002, 1.000000e+002, 0.000000e+000"/></keys><annotation nametype="9" valuetype="9" name="OBJECT" value="POINTLIGHT"/><annotation nametype="9" valuetype="9" name="SPACE" value="WORLD"/><calculator objectid="5" name="Point Light : POSITION"><nvcalculator_load objectid="6" scenehandle="68" paramname="Object Position" regdest="1" constantvalue="UNKNOWN" constanttype="2147483647" constantrows="0" constantcolumns="0"/><nvcalculator_load objectid="6" scenehandle="72" paramname="Current Transform" regdest="2" constantvalue="UNKNOWN" constanttype="2147483647" constantrows="0" constantcolumns="0"/><nvcalculator_mul objectid="7" regdest="3" reg1="1" reg2="2" op="0"/><nvcalculator_mov objectid="8" type="0" rows="0" columns="0" regdest="0" regsource="3"/></calculator></connectionparameter><connectionparameter objectid="3" name="GeomInset" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="87069280" animated="0" numkeys="1" defaulttype="float" defaultvalue="3.000000e-003"><keys><key num="0" value="3.000000e-003"/></keys><annotation nametype="9" valuetype="3" name="UIMAX" value="2.000000e-002"/><annotation nametype="9" valuetype="3" name="UIMIN" value="0.000000e+000"/><annotation nametype="9" valuetype="9" name="UINAME" value="Geometric Inset"/><annotation nametype="9" valuetype="3" name="UISTEP" value="1.000000e-003"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="SLIDER"/></connectionparameter><connectionparameter objectid="3" name="ShadowExtrudeDist" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="98988864" animated="0" numkeys="1" defaulttype="float" defaultvalue="1.000000e+002"><keys><key num="0" value="1.000000e+002"/></keys><annotation nametype="9" valuetype="3" name="UIMAX" value="1.000000e+002"/><annotation nametype="9" valuetype="3" name="UIMIN" value="1.000000e+000"/><annotation nametype="9" valuetype="9" name="UINAME" value="Shadow Volume Extrusion Distance"/><annotation nametype="9" valuetype="3" name="UISTEP" value="1.000000e-001"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="SLIDER"/></connectionparameter><connectionparameter objectid="3" name="Dens" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="99004632" animated="0" numkeys="1" defaulttype="float" defaultvalue="5.000000e-001"><keys><key num="0" value="4.880000e-001"/></keys><annotation nametype="9" valuetype="3" name="UIMAX" value="1.000000e+000"/><annotation nametype="9" valuetype="3" name="UIMIN" value="0.000000e+000"/><annotation nametype="9" valuetype="9" name="UINAME" value="Shadow Density"/><annotation nametype="9" valuetype="3" name="UISTEP" value="1.000000e-003"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="SLIDER"/></connectionparameter><connectionparameter objectid="3" name="DThresh" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="87411408" animated="0" numkeys="1" defaulttype="float" defaultvalue="2.000000e-001"><keys><key num="0" value="1.290000e-001"/></keys><annotation nametype="9" valuetype="3" name="UIMAX" value="3.000000e-001"/><annotation nametype="9" valuetype="3" name="UIMIN" value="0.000000e+000"/><annotation nametype="9" valuetype="9" name="UINAME" value="Depth Threshhold"/><annotation nametype="9" valuetype="3" name="UISTEP" value="1.000000e-003"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="SLIDER"/></connectionparameter><connectionparameter objectid="3" name="Near" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="87066496" animated="0" numkeys="1" defaulttype="float" defaultvalue="2.000000e-001"><keys><key num="0" value="1.000000e+000"/></keys><annotation nametype="9" valuetype="3" name="UIMAX" value="1.000000e+001"/><annotation nametype="9" valuetype="3" name="UIMIN" value="1.000000e+000"/><annotation nametype="9" valuetype="9" name="UINAME" value="Depth Near"/><annotation nametype="9" valuetype="3" name="UISTEP" value="1.000000e-001"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="SLIDER"/></connectionparameter><connectionparameter objectid="3" name="Far" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="87468848" animated="0" numkeys="1" defaulttype="float" defaultvalue="2.000000e+001"><keys><key num="0" value="1.770000e+001"/></keys><annotation nametype="9" valuetype="3" name="UIMAX" value="2.000000e+001"/><annotation nametype="9" valuetype="3" name="UIMIN" value="2.000000e+000"/><annotation nametype="9" valuetype="9" name="UINAME" value="Depth Far"/><annotation nametype="9" valuetype="3" name="UISTEP" value="1.000000e-001"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="SLIDER"/></connectionparameter><connectionparameter objectid="3" name="Blur" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="99318376" animated="0" numkeys="1" defaulttype="float" defaultvalue="1.500000e+000"><keys><key num="0" value="3.500000e+000"/></keys><annotation nametype="9" valuetype="3" name="UIMAX" value="4.000000e+000"/><annotation nametype="9" valuetype="3" name="UIMIN" value="1.000000e+000"/><annotation nametype="9" valuetype="9" name="UINAME" value="Blur Width (in Pixels)"/><annotation nametype="9" valuetype="3" name="UISTEP" value="1.000000e-001"/><annotation nametype="9" valuetype="9" name="UIWIDGET" value="SLIDER"/></connectionparameter></parameterlist><ScriptParams nametype="9" valuetype="9" name="UIWIDGET" value="SLIDER"><parameterlist objectid="2"/></ScriptParams></material><node objectid="9" name="Obj_Mesh" materialoverride="0" handle="66" worldskin="0"><mesh objectid="10" name=""><parameterlist objectid="2"/><geopipebundle objectid="11"><nvgeostream objectid="12" dataelements="381" usageindex="0"><![CDATA[WkbavwAAAACBdmBAAAAAAAAAAACBdmBAAAAAAAAAAED5oANAAACAvwAAAED5oANAAAAAAAAAAACBdmBAWkbaPwAAAACBdmBAAACAPwAAAED5oANAAAAAAAAAAED5oANAAACAvwAAAED5oANAAAAAAAAAAED5oANAAAAAAAAAgED5oANAAACAvwAAgED5oANAAAAAAAAAAED8talAAACAPwAAAED8talAAACAPwAAgED8talAAAAAAAAAgED8talAAACAvwAAgED5oANAAAAAAAAAgED5oANAAAAAAAAAwED5oANAAACAvwAAwED5oANAAAAAAAAAgED5oANAAACAPwAAgED5oANAAACAPwAAwED5oANAAAAAAAAAwED5oANAAACAvwAAwED5oANAAAAAAAAAwED5oANAAAAAAOyNB0EIHQBAAACAv+yNB0EIHQBAAAAAAAAAwED5oANAAACAPwAAwED5oANAAACAP+yNB0EIHQBAAAAAAOyNB0EIHQBAAACAv+yNB0EIHQBAAAAAAOyNB0EIHQBAAAAAAKSEAkFb0So/AACAv6SEAkFb0So/AAAAAOyNB0EIHQBAAACAP+yNB0EIHQBAAACAP6SEAkFb0So/AAAAAKSEAkFb0So/AACAv6SEAkFb0So/AAAAAKSEAkFb0So/AAAAALj2+kBb0Sq/AACAv7j2+kBb0Sq/AAAAAKSEAkFb0So/AACAP6SEAkFb0So/AACAP7j2+kBb0Sq/AAAAALj2+kBb0Sq/AACAv7j2+kBb0Sq/AAAAALj2+kBb0Sq/AAAAACjk8EAIHQDAAACAvyjk8EAIHQDAAAAAALj2+kBb0Sq/AACAP7j2+kBb0Sq/AACAPyjk8EAIHQDAAAAAACjk8EAIHQDAAACAvyjk8EAIHQDAAAAAACjk8EAIHQDAAAAAAAAAwED5oAPAAACAvwAAwED5oAPAAAAAACjk8EAIHQDAAACAPyjk8EAIHQDAAACAPwAAwED5oAPAAAAAAAAAwED5oAPAAACAvwAAwEB3rI3AAAAAAAAAwEB3rI3AAAAAAAAAgEB3rI3AAACAvwAAgEB3rI3AAAAAAAAAwED5oAPAAACAPwAAwED5oAPAAACAPwAAgED5oAPAAAAAAAAAgED5oAPAAACAvwAAgED5oAPAAAAAAAAAAED5oAPAAACAvwAAAED5oAPAAAAAAAAAgED5oAPAAACAPwAAgED5oAPAAACAPwAAAED5oAPAAAAAAAAAAED5oAPAAACAvwAAAED5oAPAAAAAAAAAAED5oAPAAAAAAAAAAACBdmDAWkbavwAAAACBdmDAAAAAAAAAAED5oAPAAACAPwAAAED5oAPAWkbaPwAAAACBdmDAAAAAAAAAAACBdmDAWkbavwAAAACBdmDAAAAAAAAAAACBdmDAAAAAAAAAAABZpJW/WkbavwAAAABZpJW/AAAAAAAAAACBdmDAWkbaPwAAAACBdmDAWkbaPwAAAABZpJW/AAAAAAAAAABZpJW/WkbavwAAAABZpJW/AAAAAAAAAABZpJW/AAAAAAAAAABZpJU/WkbavwAAAABZpJU/AAAAAAAAAABZpJW/WkbaPwAAAABZpJW/WkbaPwAAAABZpJU/AAAAAAAAAABZpJU/WkbavwAAAABZpJU/AAAAAAAAAABZpJU/AAAAAAAAAACBdmBAWkbavwAAAACBdmBAAAAAAAAAAABZpJU/WkbaPwAAAABZpJU/WkbaPwAAAACBdmBAAAAAAAAAAACBdmBAWkbaPwAAAABZpJW/WkbaPwAAAACBdmDAAACAPwAAAED5oAPAAACAPwAAAEBSgS+/WkbaPwAAAABZpJU/WkbaPwAAAABZpJW/AACAPwAAAEBSgS+/AACAPwAAAEBSgS8/WkbaPwAAAACBdmBAWkbaPwAAAABZpJU/AACAPwAAAEBSgS8/AACAPwAAAED5oANAAACAPwAAAEBSgS+/AACAPwAAAED5oAPAAACAPwAAgED5oAPAAACAPwAAgEBSgS+/AACAPwAAAEBSgS8/AACAPwAAAEBSgS+/AACAPwAAgEBSgS+/AACAPwAAgEBSgS8/AACAPwAAAED5oANAAACAPwAAAEBSgS8/AACAPwAAgEBSgS8/AACAPwAAgED5oANAAACAPwAAgEBSgS+/AACAPwAAgED5oAPAAACAPwAAwED5oAPAAACAPwAAwEBSgS+/SIxsQAAAgEBSgS8/SIxsQAAAgEBSgS+/SIxsQAAAwEBSgS+/SIxsQAAAwEBSgS8/AACAPwAAgED5oANAAACAPwAAgEBSgS8/AACAPwAAwEBSgS8/AACAPwAAwED5oANAAACAPwAAwEBSgS+/AACAPwAAwED5oAPAAACAPyjk8EAIHQDAAACAP7j2+kBb0Sq/AACAPwAAwEBSgS+/AACAP7j2+kBb0Sq/AACAP6SEAkFb0So/AACAPwAAwED5oANAAACAPwAAwEBSgS8/AACAP6SEAkFb0So/AACAP+yNB0EIHQBAWkbavwAAAACBdmDAWkbavwAAAABZpJW/AACAvwAAAEBSgS+/AACAvwAAAED5oAPAWkbavwAAAABZpJW/WkbavwAAAABZpJU/AACAvwAAAEBSgS8/AACAvwAAAEBSgS+/WkbavwAAAABZpJU/WkbavwAAAACBdmBAAACAvwAAAED5oANAAACAvwAAAEBSgS8/AACAvwAAAED5oAPAAACAvwAAAEBSgS+/AACAvwAAgEBSgS+/AACAvwAAgED5oAPAfWyqwAAAAEBSgS+/fWyqwAAAAEBSgS8/fWyqwAAAgEBSgS8/fWyqwAAAgEBSgS+/AACAvwAAAEBSgS8/AACAvwAAAED5oANAAACAvwAAgED5oANAAACAvwAAgEBSgS8/AACAvwAAgED5oAPAAACAvwAAgEBSgS+/AACAvwAAwEBSgS+/AACAvwAAwED5oAPAAACAvwAAgEBSgS+/AACAvwAAwEBSgS8/AACAvwAAwEBSgS+/AACAvwAAgEBSgS8/AACAvwAAgED5oANAAACAvwAAwED5oANAAACAvwAAwEBSgS8/AACAvwAAwED5oAPAAACAvwAAwEBSgS+/AACAv7j2+kBb0Sq/AACAvyjk8EAIHQDAAACAvwAAwEBSgS+/AACAvwAAwEBSgS8/AACAv6SEAkFb0So/AACAv7j2+kBb0Sq/AACAvwAAwEBSgS8/AACAvwAAwED5oANAAACAv+yNB0EIHQBAAACAv6SEAkFb0So/AACAPwAAgEBSgS8/AACAPwAAgEBSgS+/SIxsQAAAgEBSgS+/SIxsQAAAgEBSgS8/AACAPwAAgEBSgS+/AACAPwAAwEBSgS+/SIxsQAAAwEBSgS+/SIxsQAAAgEBSgS+/AACAPwAAwEBSgS+/AACAPwAAwEBSgS8/SIxsQAAAwEBSgS8/SIxsQAAAwEBSgS+/AACAPwAAwEBSgS8/AACAPwAAgEBSgS8/SIxsQAAAgEBSgS8/SIxsQAAAwEBSgS8/AACAvwAAAEBSgS+/AACAvwAAAEBSgS8/fWyqwAAAAEBSgS8/fWyqwAAAAEBSgS+/AACAvwAAAEBSgS8/AACAvwAAgEBSgS8/fWyqwAAAgEBSgS8/fWyqwAAAAEBSgS8/AACAvwAAgEBSgS8/AACAvwAAgEBSgS+/fWyqwAAAgEBSgS+/fWyqwAAAgEBSgS8/AACAvwAAgEBSgS+/AACAvwAAAEBSgS+/fWyqwAAAAEBSgS+/fWyqwAAAgEBSgS+/AACAvwAAwED5oAPAAAAAAAAAwED5oAPAAAAAAAAAwEB3rI3AAACAvwAAwEB3rI3AAAAAAAAAwED5oAPAAAAAAAAAgED5oAPAAAAAAAAAgEB3rI3AAAAAAAAAwEB3rI3AAAAAAAAAgED5oAPAAACAvwAAgED5oAPAAACAvwAAgEB3rI3AAAAAAAAAgEB3rI3AAACAvwAAgED5oAPAAACAvwAAwED5oAPAAACAvwAAwEB3rI3AAACAvwAAgEB3rI3AAAAAAAAAAED5oANAAACAPwAAAED5oANAAACAPwAAAED8talAAAAAAAAAAED8talAAACAPwAAAED5oANAAACAPwAAgED5oANAAACAPwAAgED8talAAACAPwAAAED8talAAACAPwAAgED5oANAAAAAAAAAgED5oANAAAAAAAAAgED8talAAACAPwAAgED8talAAAAAAAAAgED5oANAAAAAAAAAAED5oANAAAAAAAAAAED8talAAAAAAAAAgED8talAWkbavwAAAACBdmDAWkbavwAAAACBdmDAAACAPwAAAED5oANAAACAPwAAAED5oANAAACAPwAAgED8talAAACAPwAAgED5oANAAACAPwAAgED8talAWkbaPwAAAABZpJW/WkbaPwAAAABZpJW/AACAP+yNB0EIHQBAAACAP+yNB0EIHQBAAACAP6SEAkFb0So/AACAPwAAgED5oAPAAACAPwAAgED5oANAAACAvwAAAED5oAPAAACAvwAAAED5oAPAAAAAAAAAgED8talAAAAAAAAAAED8talAAAAAAAAAAED5oANAAAAAAAAAgED5oANAAACAP7j2+kBb0Sq/AACAvwAAgED5oAPAAACAPwAAgED5oAPAfWyqwAAAAEBSgS8/AACAvwAAAEBSgS8/AACAvwAAAEBSgS8/fWyqwAAAAEBSgS8/AACAPwAAwEBSgS+/WkbavwAAAACBdmBAAACAvwAAAEBSgS+/fWyqwAAAAEBSgS+/fWyqwAAAAEBSgS+/AACAvwAAAEBSgS+/AACAvwAAgEB3rI3AAACAvwAAgED5oAPAAACAvwAAgED5oAPAAACAvwAAgEB3rI3ASIxsQAAAwEBSgS+/AACAPwAAwEBSgS+/SIxsQAAAwEBSgS+/AAAAAAAAAACBdmBAAAAAAAAAAABZpJU/AAAAAAAAAACBdmBAAACAPyjk8EAIHQDAAACAPwAAwED5oANAAACAPwAAwEBSgS8/AACAPwAAwED5oANAAAAAAAAAAACBdmDAAACAv6SEAkFb0So/AACAvwAAwEBSgS8/AACAv6SEAkFb0So/AACAvwAAwED5oAPAAAAAAAAAgED5oAPAfWyqwAAAgEBSgS+/AACAvwAAgEBSgS+/AACAvwAAgEBSgS+/fWyqwAAAgEBSgS+/AAAAAOyNB0EIHQBAAAAAAOyNB0EIHQBAAACAPwAAAEBSgS8/AACAvwAAwED5oAPAAAAAAAAAgEB3rI3AWkbaPwAAAACBdmDAAAAAAAAAAABZpJW/WkbavwAAAABZpJW/AACAvwAAgED5oANAAACAvwAAwEB3rI3AWkbavwAAAACBdmBAWkbavwAAAABZpJU/AACAPwAAAED5oAPAAACAPwAAgEBSgS8/SIxsQAAAgEBSgS8/SIxsQAAAgEBSgS8/AACAPwAAgEBSgS8/SIxsQAAAgEBSgS+/AAAAACjk8EAIHQDAAAAAAKSEAkFb0So/AACAvyjk8EAIHQDAfWyqwAAAgEBSgS8/SIxsQAAAwEBSgS8/AACAPwAAwEBSgS8/SIxsQAAAwEBSgS8/AACAvwAAAED5oANAAAAAAAAAwED5oANAAACAv7j2+kBb0Sq/AACAPwAAAEBSgS+/WkbaPwAAAABZpJU/WkbaPwAAAACBdmBAAAAAAAAAgED8talAAAAAAAAAgED5oANAfWyqwAAAgEBSgS8/AACAvwAAgEBSgS8/AACAvwAAgEBSgS8/AAAAAAAAwEB3rI3AAACAv+yNB0EIHQBAAACAPwAAAED8talAAACAvwAAwEBSgS+/AACAvwAAgED5oANAAACAvwAAgEBSgS8/AAAAAAAAAED5oAPAAACAPwAAwED5oAPASIxsQAAAgEBSgS+/AACAPwAAgEBSgS+/AAAAALj2+kBb0Sq/AAAAAAAAgED5oAPAAAAAAAAAgED5oAPAAAAAAAAAAACBdmDAWkbavwAAAABZpJU/AACAvwAAwED5oANAAAAAAAAAwED5oAPAAACAvwAAwED5oAPAAAAAAAAAwED5oAPA]]></nvgeostream><nvgeostream objectid="13" dataelements="381" usageindex="0"><![CDATA[AAAAAMdMFj/rO08/AAAAAMdMFj/rO08/AAAAAHl20T6vmGk/AAAAAHEDnj7tgHM/AAAAAMdMFj/rO08/AAAAAMdMFj/rO08/AAAAAMdMFj/rO08/AAAAAHl20T6vmGk/AAAAAHEDnj7tgHM/AAAAAHl20T6vmGk/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAACL6NTzw+38/AAAAACL6NTzw+38/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAACL6NTzw+38/AAAAACL6NTzw+38/AAAAACL6NTzw+38/AAAAACL6NTzw+38/AAAAAAr4tTzQ738/AAAAAAr4tTzQ738/AAAAACL6NTzw+38/AAAAACL6NTzw+38/AAAAAAr4tTzQ738/AAAAAAr4tTzQ738/AAAAALspeT+dE2u+AAAAALspeT+dE2u+AAAAALspeT9ZE2u+AAAAALspeT9ZE2u+AAAAALspeT+dE2u+AAAAALspeT+dE2u+AAAAALspeT9ZE2u+AAAAALspeT9ZE2u+AAAAALspeT9ZE2u+AAAAALspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAALspeT9ZE2u+AAAAALspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAgLspeT9ZE2u+AAAAAD0pEz2q1X+/AAAAAD0pEz2q1X+/AAAAAGA/xDwx7X+/AAAAAD0pEz2q1X+/AAAAAD0pEz2q1X+/AAAAAD0pEz2q1X+/AAAAAIgvkzxz9X+/AAAAAGA/xDwx7X+/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAGA/xDwx7X+/AAAAAIgvkzxz9X+/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAHEDnj7tgHO/AAAAAHEDnj7tgHO/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAHEDnj7tgHO/AAAAAHEDnj7tgHO/AAAAAHEDnj7tgHO/AAAAAHEDnj7tgHO/AAAAAMdMFj/rO0+/AAAAAMdMFj/rO0+/AAAAAHEDnj7tgHO/AAAAAHEDnj7tgHO/AAAAAMdMFj/rO0+/AAAAAMdMFj/rO0+/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAwm1xP9RFqj4AAAAAwm1xP9RFqj4AAAAArFR8P7G/LD4AAAAArFR8P7G/LD4AAAAAwm1xP9RFqj4AAAAAwm1xP9RFqj4AAAAArFR8P7G/LD4AAAAArFR8P7G/LD4AAAAAwm1xP9RFqj4AAAAAwm1xP9RFqj4AAAAArFR8P7G/LD4AAAAAjWF+Pyf15T0AAAAArFR8P7G/LD4AAAAArFR8P7G/LD4AAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAArFR8P7G/LD4AAAAArFR8P7G/LD4AAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAjWF+Pyf15T0AAAAArFR8P7G/LD4AAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAIAAAAAAAACAPwAAAIAAAAAAAACAPwAAAIAAAAAAAACAPwAAAIAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAIAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAIAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAIAAAAAAwm1xv9RFqj4AAAAAwm1xv9RFqj4AAAAAFHZ5vyf1ZT4AAAAArFR8v7G/LD4AAAAAwm1xv9RFqj4AAAAAwm1xv9RFqj4AAAAAFHZ5vyf1ZT4AAAAAFHZ5vyf1ZT4AAAAAwm1xv9RFqj4AAAAAwm1xv9RFqj4AAAAArFR8v7G/LD4AAAAAFHZ5vyf1ZT4AAAAArFR8v7G/LD4AAAAAFHZ5vyf1ZT4AAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAAAAAACAvwAAAIAAAAAAAACAvwAAAIAAAAAAAACAvwAAAIAAAAAAFHZ5vyf1ZT4AAAAArFR8v7G/LD4AAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAAAAAACAvwAAAIAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAAAAAACAvwAAAIAAAAAAAACAvwAAAIAAAAAAAACAvwAAAIAAAAAAAACAvwAAAIAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAjWF+Pyf15T0AAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgL8AAAAAwm1xv9RFqj4AAAAAjWF+Pyf15T0AAAAAjWF+Pyf15T0AAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAwm1xP9RFqj4AAAAAwm1xP9RFqj4AAAAAAAAAALspeT+dE2u+AACAPwAAAIAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAArFR8v7G/LD4AAAAArFR8v7G/LD4AAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgD8AAAAAwm1xv9RFqj4AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAACAPwAAAAAAAAAAAACAPwAAAIAAAAAAAACAPwAAAAAAAAAAAACAPwAAAIAAAAAAAAAAAAAAgL8AAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAIAAAAAAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAALspeT+dE2u+AAAAALspeT+dE2u+rFR8P7G/LD4AAAAAAACAvwAAAIAAAAAAAAAAAAAAgL8AAAAAwm1xP9RFqj4AAAAAAAAAAAAAgL8AAAAAwm1xv9RFqj4AAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgL8AAAAAwm1xv9RFqj4AAAAArFR8P7G/LD4AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAD0pEz2q1X+/AAAAALspeT9ZE2u+AACAvwAAAIAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/rFR8v7G/LD4AAAAAAAAAACL6NTzw+38/AACAvwAAAIAAAAAArFR8P7G/LD4AAAAAwm1xP9RFqj4AAAAAwm1xP9RFqj4AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAIAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAHEDnj7tgHO/AACAPwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIC/AAAAgLspeT9ZE2u+AACAPwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAwm1xv9RFqj4AAAAAAACAvwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAA]]></nvgeostream><nvgeostream objectid="14" dataelements="381" usageindex="0"><![CDATA[AAAAAAAAAAARAAAAAAAAPwAAAAARAAAAAAAAPwAAgD4RAAAAAAAAAAAAgD4RAAAAAAAAPwAAAAARAAAAAACAPwAAAAARAAAAAACAPwAAgD4RAAAAAAAAPwAAgD4RAAAAAAAAAAAAgD4RAAAAAAAAPwAAgD4RAAAAAAAAPwAAAD8RAAAAAAAAAAAAAD8RAAAAAAAAPwAAgD4RAAAAAACAPwAAgD4RAAAAAACAPwAAAD8RAAAAAAAAPwAAAD8RAAAAAAAAAAAAAD8RAAAAAAAAPwAAAD8RAAAAAAAAPwAAQD8RAAAAAAAAAAAAQD8RAAAAAAAAPwAAAD8RAAAAAACAPwAAAD8RAAAAAACAPwAAQD8RAAAAAAAAPwAAQD8RAAAAAAAAAAAAQD8RAAAAAAAAPwAAQD8RAAAAAAAAPwAAgD8RAAAAAAAAAAAAgD8RAAAAAAAAPwAAQD8RAAAAAACAPwAAQD8RAAAAAACAPwAAgD8RAAAAAAAAPwAAgD8RAAAAAAAAAAAAgD8RAAAAAAAAPwAAgD8RAAAAAAAAP6iqqj8RAAAAAAAAAKiqqj8RAAAAAAAAPwAAgD8RAAAAAACAPwAAgD8RAAAAAACAP6iqqj8RAAAAAAAAP6iqqj8RAAAAAAAAAKiqqj8RAAAAAAAAP6iqqj8RAAAAAAAAP1hV1T8RAAAAAAAAAFhV1T8RAAAAAAAAP6iqqj8RAAAAAACAP6iqqj8RAAAAAACAP1hV1T8RAAAAAAAAP1hV1T8RAAAAAAAAAFhV1T8RAAAAAAAAP1hV1T8RAAAAAAAAPwAAAEARAAAAAAAAAAAAAEARAAAAAAAAP1hV1T8RAAAAAACAP1hV1T8RAAAAAACAPwAAAEARAAAAAAAAPwAAAEARAAAAAAAAAAAAAEARAAAAAAAAPwAAAEARAAAAAAAAPwAAEEARAAAAAAAAAAAAEEARAAAAAAAAPwAAAEARAAAAAACAPwAAAEARAAAAAACAPwAAEEARAAAAAAAAPwAAEEARAAAAAAAAAAAAEEARAAAAAAAAPwAAEEARAAAAAAAAPwAAIEARAAAAAAAAAAAAIEARAAAAAAAAPwAAEEARAAAAAACAPwAAEEARAAAAAACAPwAAIEARAAAAAAAAPwAAIEARAAAAAAAAAAAAIEARAAAAAAAAPwAAMEARAAAAAAAAAAAAMEARAAAAAAAAPwAAIEARAAAAAACAPwAAIEARAAAAAACAPwAAMEARAAAAAAAAPwAAMEARAAAAAAAAAAAAMEARAAAAAAAAPwAAMEARAAAAAAAAPwAAQEARAAAAAAAAAAAAQEARAAAAAAAAPwAAMEARAAAAAACAPwAAMEARAAAAAACAPwAAQEARAAAAAAAAPwAAQEARAAAAAAAAAAAAQEARAAAAAAAAPwAAQEARAAAAAAAAP1RVVUARAAAAAAAAAFRVVUARAAAAAAAAPwAAQEARAAAAAACAPwAAQEARAAAAAACAP1RVVUARAAAAAAAAP1RVVUARAAAAAAAAAFRVVUARAAAAAAAAP1RVVUARAAAAAAAAP6yqakARAAAAAAAAAKyqakARAAAAAAAAP1RVVUARAAAAAACAP1RVVUARAAAAAACAP6yqakARAAAAAAAAP6yqakARAAAAAAAAAKyqakARAAAAAAAAP6yqakARAAAAAAAAPwAAgEARAAAAAAAAAAAAgEARAAAAAAAAP6yqakARAAAAAACAP6yqakARAAAAAACAPwAAgEARAAAAAAAAPwAAgEARAAAAWFXVPwAAAAARAAAAAAAAQAAAAAARAAAAAAAAQAAAgD4RAAAAWFXVPwAAgD4RAAAAqKqqPwAAAAARAAAAWFXVPwAAAAARAAAAWFXVPwAAgD4RAAAAqKqqPwAAgD4RAAAAAACAPwAAAAARAAAAqKqqPwAAAAARAAAAqKqqPwAAgD4RAAAAAACAPwAAgD4RAAAAWFXVPwAAgD4RAAAAAAAAQAAAgD4RAAAAAAAAQAAAAD8RAAAAWFXVPwAAAD8RAAAAqKqqPwAAgD4RAAAAWFXVPwAAgD4RAAAAWFXVPwAAAD8RAAAAqKqqPwAAAD8RAAAAAACAPwAAgD4RAAAAqKqqPwAAgD4RAAAAqKqqPwAAAD8RAAAAAACAPwAAAD8RAAAAWFXVPwAAAD8RAAAAAAAAQAAAAD8RAAAAAAAAQAAAQD8RAAAAWFXVPwAAQD8RAAAAqKqqPwAAAD8RAAAAWFXVPwAAAD8RAAAAWFXVPwAAQD8RAAAAqKqqPwAAQD8RAAAAAACAPwAAAD8RAAAAqKqqPwAAAD8RAAAAqKqqPwAAQD8RAAAAAACAPwAAQD8RAAAAWFXVPwAAQD8RAAAAAAAAQAAAQD8RAAAAAAAAQAAAgD8RAAAAWFXVPwAAgD8RAAAAWFXVPwAAQD8RAAAAWFXVPwAAgD8RAAAAqKqqPwAAgD8RAAAAAACAPwAAQD8RAAAAqKqqPwAAQD8RAAAAqKqqPwAAgD8RAAAAAACAPwAAgD8RAAAAAACAvwAAAAARAAAAsKoqvwAAAAARAAAAsKoqvwAAgD4RAAAAAACAvwAAgD4RAAAAsKoqvwAAAAARAAAAn6qqvgAAAAARAAAAn6qqvgAAgD4RAAAAsKoqvwAAgD4RAAAAn6qqvgAAAAARAAAAAAAAAAAAAAARAAAAAAAAAAAAgD4RAAAAn6qqvgAAgD4RAAAAAACAvwAAgD4RAAAAsKoqvwAAgD4RAAAAsKoqvwAAAD8RAAAAAACAvwAAAD8RAAAAsKoqvwAAgD4RAAAAn6qqvgAAgD4RAAAAn6qqvgAAAD8RAAAAsKoqvwAAAD8RAAAAn6qqvgAAgD4RAAAAAAAAAAAAgD4RAAAAAAAAAAAAAD8RAAAAn6qqvgAAAD8RAAAAAACAvwAAAD8RAAAAsKoqvwAAAD8RAAAAsKoqvwAAQD8RAAAAAACAvwAAQD8RAAAAsKoqvwAAAD8RAAAAn6qqvgAAQD8RAAAAsKoqvwAAQD8RAAAAn6qqvgAAAD8RAAAAAAAAAAAAAD8RAAAAAAAAAAAAQD8RAAAAn6qqvgAAQD8RAAAAAACAvwAAQD8RAAAAsKoqvwAAQD8RAAAAsKoqvwAAgD8RAAAAAACAvwAAgD8RAAAAsKoqvwAAQD8RAAAAn6qqvgAAQD8RAAAAn6qqvgAAgD8RAAAAsKoqvwAAgD8RAAAAn6qqvgAAQD8RAAAAAAAAAAAAQD8RAAAAAAAAAAAAgD8RAAAAn6qqvgAAgD8RAAAAqKqqPwAAAD8RAAAAWFXVPwAAAD8RAAAAWFXVPwAAAD8RAAAAqKqqPwAAAD8RAAAAWFXVPwAAAD8RAAAAWFXVPwAAQD8RAAAAWFXVPwAAQD8RAAAAWFXVPwAAAD8RAAAAWFXVPwAAQD8RAAAAqKqqPwAAQD8RAAAAqKqqPwAAQD8RAAAAWFXVPwAAQD8RAAAAqKqqPwAAQD8RAAAAqKqqPwAAAD8RAAAAqKqqPwAAAD8RAAAAqKqqPwAAQD8RAAAAsKoqvwAAgD4RAAAAn6qqvgAAgD4RAAAAn6qqvgAAgD4RAAAAsKoqvwAAgD4RAAAAn6qqvgAAgD4RAAAAn6qqvgAAAD8RAAAAn6qqvgAAAD8RAAAAn6qqvgAAgD4RAAAAn6qqvgAAAD8RAAAAsKoqvwAAAD8RAAAAsKoqvwAAAD8RAAAAn6qqvgAAAD8RAAAAsKoqvwAAAD8RAAAAsKoqvwAAgD4RAAAAsKoqvwAAgD4RAAAAsKoqvwAAAD8RAAAAAAAAAAAAEEARAAAAAAAAPwAAEEARAAAAAAAAPwAAEEARAAAAAAAAAAAAEEARAAAAAAAAPwAAEEARAAAAAAAAPwAAIEARAAAAAAAAPwAAIEARAAAAAAAAPwAAEEARAAAAAAAAPwAAIEARAAAAAAAAAAAAIEARAAAAAAAAAAAAIEARAAAAAAAAPwAAIEARAAAAAAAAAAAAIEARAAAAAAAAAAAAEEARAAAAAAAAAAAAEEARAAAAAAAAAAAAIEARAAAAAAAAPwAAgD4RAAAAAACAPwAAgD4RAAAAAACAPwAAgD4RAAAAAAAAPwAAgD4RAAAAAACAPwAAgD4RAAAAAACAPwAAAD8RAAAAAACAPwAAAD8RAAAAAACAPwAAgD4RAAAAAACAPwAAAD8RAAAAAAAAPwAAAD8RAAAAAAAAPwAAAD8RAAAAAACAPwAAAD8RAAAAAAAAPwAAAD8RAAAAAAAAPwAAgD4RAAAAAAAAPwAAgD4RAAAAAAAAPwAAAD8RAAAAAAAAAAAAQEARAAAAAACAvwAAAAARAAAAAACAPwAAgD4RAAAAAACAPwAAgD4RAAAAAACAPwAAAD8RAAAAAACAPwAAAD8RAAAAAACAPwAAAD8RAAAAWFXVPwAAAAARAAAAWFXVPwAAAAARAAAAAACAPwAAgD8RAAAAAACAPwAAgD8RAAAAqKqqPwAAgD8RAAAAAAAAQAAAAD8RAAAAAACAPwAAAD8RAAAAAACAvwAAgD4RAAAAAACAvwAAgD4RAAAAAAAAPwAAAD8RAAAAAAAAPwAAgD4RAAAAAAAAPwAAgD4RAAAAAAAAPwAAAD8RAAAAWFXVPwAAgD8RAAAAAACAvwAAAD8RAAAAAAAAQAAAAD8RAAAAn6qqvgAAgD4RAAAAn6qqvgAAgD4RAAAAn6qqvgAAgD4RAAAAn6qqvgAAgD4RAAAAWFXVPwAAQD8RAAAAAAAAAAAAAAARAAAAsKoqvwAAgD4RAAAAsKoqvwAAgD4RAAAAsKoqvwAAgD4RAAAAsKoqvwAAgD4RAAAAAAAAAAAAIEARAAAAAAAAAAAAIEARAAAAAAAAAAAAIEARAAAAAAAAAAAAIEARAAAAWFXVPwAAQD8RAAAAWFXVPwAAQD8RAAAAWFXVPwAAQD8RAAAAAAAAPwAAgEARAAAAAAAAP6yqakARAAAAAAAAPwAAgEARAAAAAAAAQAAAgD8RAAAAAACAPwAAQD8RAAAAqKqqPwAAQD8RAAAAAACAPwAAQD8RAAAAAAAAPwAAQEARAAAAn6qqvgAAgD8RAAAAn6qqvgAAQD8RAAAAn6qqvgAAgD8RAAAAAACAvwAAQD8RAAAAAAAAPwAAIEARAAAAsKoqvwAAAD8RAAAAsKoqvwAAAD8RAAAAsKoqvwAAAD8RAAAAsKoqvwAAAD8RAAAAAAAAPwAAgD8RAAAAAAAAPwAAgD8RAAAAqKqqPwAAgD4RAAAAAAAAAAAAEEARAAAAAAAAPwAAIEARAAAAAAAAQAAAAAARAAAAAAAAP1RVVUARAAAAsKoqvwAAAAARAAAAAAAAAAAAAD8RAAAAAAAAAAAAEEARAAAAAAAAAAAAgEARAAAAn6qqvgAAAAARAAAAAAAAQAAAgD4RAAAAqKqqPwAAAD8RAAAAqKqqPwAAAD8RAAAAqKqqPwAAAD8RAAAAqKqqPwAAAD8RAAAAWFXVPwAAAD8RAAAAAAAAPwAAAEARAAAAAAAAP6iqqj8RAAAAAACAvwAAgD8RAAAAn6qqvgAAAD8RAAAAqKqqPwAAQD8RAAAAqKqqPwAAQD8RAAAAqKqqPwAAQD8RAAAAAAAAAAAAgD4RAAAAAAAAPwAAQD8RAAAAsKoqvwAAgD8RAAAAWFXVPwAAgD4RAAAAqKqqPwAAAAARAAAAAACAPwAAAAARAAAAAAAAPwAAAD8RAAAAAAAAPwAAAD8RAAAAn6qqvgAAAD8RAAAAn6qqvgAAAD8RAAAAn6qqvgAAAD8RAAAAAAAAPwAAEEARAAAAAAAAAAAAgD8RAAAAAACAPwAAgD4RAAAAsKoqvwAAQD8RAAAAAAAAAAAAAD8RAAAAn6qqvgAAAD8RAAAAAAAAPwAAMEARAAAAAAAAQAAAQD8RAAAAWFXVPwAAAD8RAAAAWFXVPwAAAD8RAAAAAAAAP1hV1T8RAAAAAAAAPwAAIEARAAAAAAAAPwAAIEARAAAAAAAAPwAAQEARAAAAn6qqvgAAAAARAAAAAAAAAAAAQD8RAAAAAAAAPwAAEEARAAAAAAAAAAAAEEARAAAAAAAAPwAAEEARAAAA]]></nvgeostream><nvgeostream objectid="15"><primitive objectid="16"><indexset objectid="17"><indices usage="0" usageindex="0" numindices="1224"><![CDATA[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]]></indices></indexset><attributes objectid="18"><attribute type="0" size="1632"><![CDATA[////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////]]></attribute></attributes></primitive></nvgeostream></geopipebundle></mesh><meshmender objectid="19" name=""><parameterlist objectid="2"/></meshmender></node><node objectid="20" name="Default Scene Camera" handle="67" target="4294967295" defaultcamera="1" activecamera="1"><parameterlist objectid="2"><connectionparameter objectid="3" name="Focal Length" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="87424400" animated="0" numkeys="1" defaulttype="float" defaultvalue="1.000000e+000"><keys><key num="0" value="8.522365e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Field of View" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="87240992" animated="0" numkeys="1" defaulttype="float" defaultvalue="8.000000e+001"><keys><key num="0" value="8.000000e+001"/></keys></connectionparameter><connectionparameter objectid="3" name="Depth Range" semantic="UNKNOWN" type="2" rows="0" columns="0" handle="87141648" animated="0" numkeys="1" defaulttype="float2" defaultvalue="0.000000e+000, 1.000000e+000"><keys><key num="0" value="1.209258e-001, 3.095701e+001"/></keys></connectionparameter><connectionparameter objectid="3" name="Look Direction" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="87279848" animated="0" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 1.000000e+000"><keys><key num="0" value="-8.250263e-001, -5.521892e-001, -1.200781e-001"/></keys></connectionparameter><connectionparameter objectid="3" name="Up Direction" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="137688824" animated="0" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 1.000000e+000, 0.000000e+000"><keys><key num="0" value="-5.464320e-001, 8.337188e-001, -7.953006e-002"/></keys></connectionparameter><connectionparameter objectid="3" name="Lookat Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="87255024" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="-1.440270e-001,-5.464319e-001,-8.250262e-001,0.000000e+000,-1.117587e-007,8.337187e-001,-5.521892e-001,0.000000e+000,9.895737e-001,-7.953006e-002,-1.200781e-001,0.000000e+000,1.019099e+000,-3.264211e+000,1.006888e+001,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Camera Position" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="87106976" animated="0" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, -1.000000e+000"><keys><key num="0" value="6.670197e+000, 8.281361e+000, -5.902445e-002"/></keys></connectionparameter></parameterlist></node><node objectid="21" name="Point Light" handle="68" type="1"><parameterlist objectid="2"><connectionparameter objectid="3" name="Diffuse" semantic="DIFFUSE" type="0" rows="0" columns="0" handle="87311664" animated="1" numkeys="1" defaulttype="float4" defaultvalue="1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000"><keys><key num="0" value="1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Specular" semantic="SPECULAR" type="0" rows="0" columns="0" handle="99273944" animated="1" numkeys="1" defaulttype="float4" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="2.000000e-001, 2.000000e-001, 2.000000e-001, 2.000000e-001"/></keys></connectionparameter><connectionparameter objectid="3" name="Ambient" semantic="AMBIENT" type="0" rows="0" columns="0" handle="99197032" animated="1" numkeys="1" defaulttype="float4" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="1.500000e-001, 1.500000e-001, 1.500000e-001, 1.500000e-001"/></keys></connectionparameter><connectionparameter objectid="3" name="Exponent" semantic="SPECULARPOWER" type="3" rows="0" columns="0" handle="137723712" animated="1" numkeys="1" defaulttype="float" defaultvalue="1.000000e+000"><keys><key num="0" value="3.000000e+001"/></keys></connectionparameter><connectionparameter objectid="3" name="Object Position" semantic="POSITION" type="1" rows="0" columns="0" handle="87067736" animated="0" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="0.000000e+000, 0.000000e+000, 0.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Range" semantic="LIGHTRANGE" type="3" rows="0" columns="0" handle="87179720" animated="1" numkeys="1" defaulttype="float" defaultvalue="1.000000e+000"><keys><key num="0" value="0.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Attenuation" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="87203848" animated="1" numkeys="1" defaulttype="float3" defaultvalue="1.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="1.000000e+000, 0.000000e+000, 0.000000e+000"/></keys></connectionparameter></parameterlist></node><node objectid="9" name="PlaneXZ" materialoverride="0" handle="69" worldskin="0"><plane objectid="22" name=""><parameterlist objectid="2"><connectionparameter objectid="3" name="Width" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="99276440" animated="0" numkeys="1" defaulttype="float" defaultvalue="1.750000e+000"><keys><key num="0" value="1.750000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Height" semantic="UNKNOWN" type="3" rows="0" columns="0" handle="87288712" animated="0" numkeys="1" defaulttype="float" defaultvalue="1.750000e+000"><keys><key num="0" value="1.750000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Columns" semantic="UNKNOWN" type="7" rows="0" columns="0" handle="87428464" animated="0" numkeys="1" defaulttype="dword" defaultvalue="50"><keys><key num="0" value="50"/></keys></connectionparameter><connectionparameter objectid="3" name="Rows" semantic="UNKNOWN" type="7" rows="0" columns="0" handle="138607472" animated="0" numkeys="1" defaulttype="dword" defaultvalue="50"><keys><key num="0" value="50"/></keys></connectionparameter></parameterlist></plane><texgen objectid="23" name=""><parameterlist objectid="2"><connectionparameter objectid="3" name="Coord Set" semantic="UNKNOWN" type="7" rows="0" columns="0" handle="99340632" animated="0" numkeys="1" defaulttype="dword" defaultvalue="0"><keys><key num="0" value="0"/></keys></connectionparameter></parameterlist></texgen><meshmender objectid="19" name=""><parameterlist objectid="2"/></meshmender></node><nvtransformlink objectid="24" parent="0" handle="65" name="Root Transform" animated="1" separable="0"><nodes/><parameterlist objectid="2"><connectionparameter objectid="3" name="Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="87249352" animated="1" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Reference Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="87229064" animated="1" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Rotation" semantic="UNKNOWN" type="25" rows="0" columns="0" handle="99584440" animated="1" numkeys="1" defaulttype="quat" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000, 1.000000e+000"><keys><key num="0" value="0.000000e+000, 0.000000e+000, 0.000000e+000, 1.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Translation" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="99228144" animated="1" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="0.000000e+000, 0.000000e+000, 0.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Scale" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="139620760" animated="1" numkeys="1" defaulttype="float3" defaultvalue="1.000000e+000, 1.000000e+000, 1.000000e+000"><keys><key num="0" value="1.000000e+000, 1.000000e+000, 1.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Current Transform" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="87228688" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter></parameterlist><nvtransformlink objectid="24" parent="65" handle="70" name="obj_frame" animated="1" separable="1"><nodes><node handle="66"/></nodes><parameterlist objectid="2"><connectionparameter objectid="3" name="Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="87238440" animated="1" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Reference Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="102313120" animated="1" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Rotation" semantic="UNKNOWN" type="25" rows="0" columns="0" handle="87437336" animated="1" numkeys="1" defaulttype="quat" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000, 1.000000e+000"><keys><key num="0" value="0.000000e+000, 0.000000e+000, 0.000000e+000, 1.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Translation" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="101426584" animated="1" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="0.000000e+000, 0.000000e+000, 0.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Scale" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="100809424" animated="1" numkeys="1" defaulttype="float3" defaultvalue="1.000000e+000, 1.000000e+000, 1.000000e+000"><keys><key num="0" value="1.000000e+000, 1.000000e+000, 1.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Current Transform" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="138606944" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter></parameterlist></nvtransformlink><nvtransformlink objectid="24" parent="65" handle="71" name="Default Camera Transform" animated="0" separable="1"><nodes><node handle="67"/></nodes><parameterlist objectid="2"><connectionparameter objectid="3" name="Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="99371928" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Reference Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="85421440" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Rotation" semantic="UNKNOWN" type="25" rows="0" columns="0" handle="99364432" animated="0" numkeys="1" defaulttype="quat" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000, 1.000000e+000"><keys><key num="0" value="-1.886347e-001, 7.241933e-001, -2.180769e-001, -6.264212e-001"/></keys></connectionparameter><connectionparameter objectid="3" name="Translation" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="99331192" animated="0" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="6.670197e+000, 8.281361e+000, -5.902445e-002"/></keys></connectionparameter><connectionparameter objectid="3" name="Scale" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="87302384" animated="0" numkeys="1" defaulttype="float3" defaultvalue="1.000000e+000, 1.000000e+000, 1.000000e+000"><keys><key num="0" value="1.000000e+000, 1.000000e+000, 1.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Current Transform" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="87293304" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="-1.440270e-001,-1.192093e-007,9.895738e-001,0.000000e+000,-5.464320e-001,8.337188e-001,-7.953006e-002,0.000000e+000,-8.250263e-001,-5.521892e-001,-1.200781e-001,0.000000e+000,6.670197e+000,8.281361e+000,-5.902445e-002,1.000000e+000,"/></keys></connectionparameter></parameterlist></nvtransformlink><nvtransformlink objectid="24" parent="65" handle="72" name="light transform_2" animated="1" separable="1"><nodes><node handle="68"/></nodes><parameterlist objectid="2"><connectionparameter objectid="3" name="Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="87408000" animated="1" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Reference Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="99242488" animated="1" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Rotation" semantic="UNKNOWN" type="25" rows="0" columns="0" handle="99564920" animated="1" numkeys="1" defaulttype="quat" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000, 1.000000e+000"><keys><key num="0" value="4.991877e-001, -1.646918e-001, 0.000000e+000, 8.506986e-001"/></keys></connectionparameter><connectionparameter objectid="3" name="Translation" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="99397456" animated="1" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="4.212595e+000, 9.498713e+000, 3.294899e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Scale" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="99410360" animated="1" numkeys="1" defaulttype="float3" defaultvalue="1.000000e+000, 1.000000e+000, 1.000000e+000"><keys><key num="0" value="1.117117e+000, 1.117117e+000, 1.117117e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Current Transform" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="87045872" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.056517e+000,-1.836811e-001,3.130231e-001,0.000000e+000,-1.836811e-001,5.603719e-001,9.487860e-001,0.000000e+000,-3.130231e-001,-9.487860e-001,4.997719e-001,0.000000e+000,4.212595e+000,9.498713e+000,3.294899e+000,1.000000e+000,"/></keys></connectionparameter></parameterlist></nvtransformlink><nvtransformlink objectid="24" parent="65" handle="73" name="Object Transform" animated="1" separable="1"><nodes><node handle="69"/></nodes><parameterlist objectid="2"><connectionparameter objectid="3" name="Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="137711392" animated="1" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Reference Matrix" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="99259904" animated="1" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"/></keys></connectionparameter><connectionparameter objectid="3" name="Rotation" semantic="UNKNOWN" type="25" rows="0" columns="0" handle="99353768" animated="1" numkeys="1" defaulttype="quat" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000, 1.000000e+000"><keys><key num="0" value="0.000000e+000, 0.000000e+000, 0.000000e+000, 1.000000e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Translation" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="99408848" animated="1" numkeys="1" defaulttype="float3" defaultvalue="0.000000e+000, 0.000000e+000, 0.000000e+000"><keys><key num="0" value="-2.967937e+000, -1.471919e-001, -3.444810e+000"/></keys></connectionparameter><connectionparameter objectid="3" name="Scale" semantic="UNKNOWN" type="1" rows="0" columns="0" handle="87051736" animated="1" numkeys="1" defaulttype="float3" defaultvalue="1.000000e+000, 1.000000e+000, 1.000000e+000"><keys><key num="0" value="1.620271e+001, 1.620271e+001, 1.620271e+001"/></keys></connectionparameter><connectionparameter objectid="3" name="Current Transform" semantic="UNKNOWN" type="5" rows="4" columns="4" handle="137715928" animated="0" numkeys="1" defaulttype="float4x4" defaultvalue="1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.000000e+000,"><keys><key num="0" value="1.620271e+001,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.620271e+001,0.000000e+000,0.000000e+000,0.000000e+000,0.000000e+000,1.620271e+001,0.000000e+000,-2.967937e+000,-1.471919e-001,-3.444810e+000,1.000000e+000,"/></keys></connectionparameter></parameterlist></nvtransformlink></nvtransformlink><scenematerials scenematerial="191"/></scene><objects><object objectid="10" objectguid="162952798_10233_20391_190_157_243_248_162_252_177_187" objectname="NVGeoPipeObject_Mesh Object" progid="nvsys.NVGeoPipeObject_Mesh.1"/><object objectid="12" objectguid="658808481_10380_18213_151_67_164_241_60_187_34_27" objectname="NVGeoStream_Position Object" progid="nvsys.NVGeoStream_Position.1"/><object objectid="5" objectguid="687344697_14784_17624_175_112_25_78_110_206_178_195" objectname="NVCalculator Object" progid="nvsys.NVCalculator.1"/><object objectid="3" objectguid="1178903711_54835_17816_162_225_77_133_92_204_97_107" objectname="NVConnectionParameter Object" progid="nvsys.NVConnectionParameter.1"/><object objectid="9" objectguid="1335965045_63750_16786_166_174_116_14_177_170_26_82" objectname="NVGeoPipe Object" progid="nvsys.NVGeoPipe.1"/><object objectid="1" objectguid="1394174672_42515_16399_189_63_62_31_182_9_209_60" objectname="NVScene Object" progid="nvsys.NVScene.1"/><object objectid="4" objectguid="1401340335_59252_17807_172_96_248_52_119_74_181_173" objectname="NVMaterial Object" progid="nvsys.NVMaterial.1"/><object objectid="11" objectguid="1638754405_523_18817_162_143_95_186_217_193_125_148" objectname="NVGeoPipeBundle Object" progid="nvsys.NVGeoPipeBundle.1"/><object objectid="20" objectguid="1675712286_15683_20022_149_108_42_250_122_123_231_64" objectname="NVCamera Object" progid="nvsys.NVCamera.1"/><object objectid="8" objectguid="1755565597_56309_18722_149_152_96_3_18_125_126_123" objectname="NVCalculator_Assign Object" progid="nvsys.NVCalculator_Assign.1"/><object objectid="14" objectguid="2061074294_18011_16941_166_42_159_24_76_48_116_192" objectname="NVGeoStream_TexCoord Object" progid="nvsys.NVGeoStream_TexCoord.1"/><object objectid="24" objectguid="2342579002_10168_19906_178_150_26_144_17_106_220_182" objectname="NVTransformLink Object" progid="nvsys.NVTransformLink.1"/><object objectid="19" objectguid="2516468428_38854_16959_155_101_192_176_42_10_71_202" objectname="NVGeoPipeObject_MeshMender Object" progid="nvsys.NVGeoPipeObject_MeshMender.1"/><object objectid="15" objectguid="2898306558_58886_17259_152_16_103_161_164_23_180_175" objectname="NVGeoStream_Primitives Object" progid="nvsys.NVGeoStream_Primitives.1"/><object objectid="22" objectguid="3086621292_36320_17872_166_144_232_189_60_91_123_131" objectname="NVGeoPipeObject_PlaneXZ Object" progid="nvsys.NVGeoPipeObject_PlaneXZ.1"/><object objectid="17" objectguid="3095096276_40668_19071_158_4_96_72_178_165_117_235" objectname="NVIndexSet Object" progid="nvsys.NVIndexSet.1"/><object objectid="6" objectguid="3098681227_22869_16810_191_237_249_13_61_143_28_123" objectname="NVCalculator_Load Object" progid="nvsys.NVCalculator_Load.1"/><object objectid="21" objectguid="3220590291_58699_18805_154_8_29_13_205_177_47_217" objectname="NVLight_Point Object" progid="nvsys.NVLight_Point.1"/><object objectid="2" objectguid="3275223899_28196_19999_162_153_111_232_35_119_165_23" objectname="NVParameterList Object" progid="nvsys.NVParameterList.1"/><object objectid="18" objectguid="3604142169_60816_17805_176_220_110_41_222_151_171_95" objectname="NVPrimitiveAttributes Object" progid="nvsys.NVPrimitiveAttributes.1"/><object objectid="16" objectguid="3718288079_1142_20134_178_153_28_237_112_255_41_202" objectname="NVTriangles Object" progid="nvsys.NVTriangles.1"/><object objectid="23" objectguid="4057994036_6371_17546_152_57_13_140_51_98_219_190" objectname="NVGeoPipeObject_TexGen Object" progid="nvsys.NVGeoPipeObject_TexGen.1"/><object objectid="13" objectguid="4088192929_19711_18550_172_31_87_8_171_210_117_52" objectname="NVGeoStream_Normal Object" progid="nvsys.NVGeoStream_Normal.1"/><object objectid="7" objectguid="4162726501_8958_17137_170_77_131_38_3_90_246_20" objectname="NVCalculator_Mul Object" progid="nvsys.NVCalculator_Mul.1"/></objects><media_objects><effect path="F:\devrel\SDK\MEDIA\HLSL\softStencilShadow.fx"><![CDATA[/*********************************************************************NVMH4**** File: $Id: //sw/devrel/SDK/MEDIA/HLSL/softStencilShadow.fx#3 $ Copyright NVIDIA Corporation 2004-2005 TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Comments: Stencil Volume Shadowing Uses the vertex shader to do the projection of the shadow volume. See splitModelEdges.pl for required geometric pre-processing of .obj files. Write shadow to a texture, then blur it in screen space. DON'T blur shadows that are very far from the current pixel in depth. Mult lit and shadow texels to get final result. ******************************************************************************/ #include <include\\Quad.fxh> float Script : STANDARDSGLOBAL < string UIWidget = "none"; string ScriptClass = "scene"; string ScriptOrder = "standard"; string ScriptOutput = "color"; string Script = "Technique=main;"; > = 0.8; float4 ClearColor < string UIWidget = "none"; // "color"; string UIName = "background"; > = {0,0,0,0.0}; float4 White < string UIWidget = "none"; > = {1,1,1,0.0}; float ClearDepth <string UIWidget = "none";> = 1.0; DECLARE_QUAD_TEX(WhiteMap,WhiteSampler,"A8B8G8R8") DECLARE_QUAD_TEX(SceneMap,SceneSampler,"A8B8G8R8") DECLARE_QUAD_TEX(BlurMap,BlurSampler,"A8B8G8R8") DECLARE_QUAD_TEX(GrayDepthMap,GrayDepthSampler,"A8B8G8R8") DECLARE_QUAD_DEPTH_BUFFER(DepthMap,"D24S8") /********* tweakables ********************/ float4x4 WorldViewProj : WorldViewProjection < string UIWidget="None"; >; float3 SurfColor < string UIWidget = "color"; string UIName = "Surface"; > = {1,.9,.8}; float4 AmbiColor < string UIWidget = "color"; string UIName = "Ambient"; > = {.1,.1,.2,0.0}; float4 LightPos : Position < string Object = "PointLight"; string Space = "World"; > = {100.0f, 100.0f, 100.0f, 0.0f}; float GeomInset < string UIWidget = "slider"; float UIMin = 0; float UIMax = 0.02; float UIStep = 0.001; string UIName = "Geometric Inset"; > = 0.003; float ShadowExtrudeDist < string UIName = "Shadow Volume Extrusion Distance"; string UIWidget = "slider"; float UIMin = 1.0; float UIMax = 100.0; float UIStep = 0.1; > = 100.0f; float Dens < string UIName = "Shadow Density"; string UIWidget = "slider"; float UIMin = 0.0; float UIMax = 1.0; float UIStep = 0.001; > = 0.5f; float DThresh < string UIName = "Depth Threshhold"; string UIWidget = "slider"; float UIMin = 0.0; float UIMax = 0.3; float UIStep = 0.001; > = 0.2f; float Near < string UIName = "Depth Near"; string UIWidget = "slider"; float UIMin = 1.0; float UIMax = 10.0; float UIStep = 0.1; > = 0.2f; float Far < string UIName = "Depth Far"; string UIWidget = "slider"; float UIMin = 2.0; float UIMax = 20.0; float UIStep = 0.1; > = 20.0f; float Blur < string UIName = "Blur Width (in Pixels)"; string UIWidget = "slider"; float UIMin = 1.0; float UIMax = 4.0; float UIStep = 0.1; > = 1.5f; /************ structs and connections *****************************/ struct appdata { float4 Position : POSITION; float2 UV : TEXCOORD0; float3 Normal : NORMAL; }; /* data passed from vertex shader to pixel shader */ struct SimpleVertexColorOutput { float4 HPosition : POSITION; float4 diffCol : COLOR0; }; /*********** vertex shader ******/ SimpleVertexColorOutput extrudeVS( appdata IN) { SimpleVertexColorOutput OUT; // Create normalized vector from vertex to light float4 Lvec = normalize( IN.Position - LightPos ); // N dot L to decide if point should be moved away // from the light to extrude the volume float ldn = dot( -Lvec.xyz, IN.Normal.xyz ); ////////////////////////////////////////////////////////// // Inset the position along the normal vector direction // This moves the shadow volume points inside the model // slightly to minimize poping of shadowed areas as // each facet comes in and out of shadow. float4 inset_pos = float4(((IN.Position.xyz - (IN.Normal * GeomInset)).xyz),IN.Position.w); // scale the vector from light to vertex float4 extrusion_vec = Lvec * ShadowExtrudeDist; // if ldn < 0 then the vertex faces away from the light, so // move it. It will be moved along the direction from // light to vertex to extrude the shadow volume. // Consts_0512 = { 0.0f, 0.5f, 1.0f, 2.0f }; // So this does toggle = N dot L < 0 ? 1.0 : 0.0 float toggle = (float) (ldn < 0.0); // Move the back-facing shadow volume points float4 new_position = extrusion_vec*toggle + inset_pos; OUT.HPosition = mul( new_position, WorldViewProj); //////////////////////////////////////////////////////// OUT.diffCol = float4(IN.UV.xy,0,1); // OUT.TexCoord0 = IN.TexCoord0.xyyy; return( OUT ); } SimpleVertexColorOutput backingVS(appdata IN) { SimpleVertexColorOutput OUT; OUT.HPosition = mul(IN.Position, WorldViewProj); OUT.diffCol = AmbiColor; return( OUT ); } SimpleVertexColorOutput simpleVS( appdata IN) { SimpleVertexColorOutput OUT; float4 Lvec = normalize( IN.Position - LightPos ); float ldn = abs(dot(-Lvec.xyz, IN.Normal.xyz )); OUT.HPosition = mul( IN.Position, WorldViewProj ); OUT.diffCol = AmbiColor + float4((ldn*SurfColor),1); return( OUT ); } SimpleVertexColorOutput whiteVS( appdata IN) { SimpleVertexColorOutput OUT; float4 Lvec = normalize( IN.Position - LightPos ); float ldn = abs(dot(-Lvec.xyz, IN.Normal.xyz )); OUT.HPosition = mul( IN.Position, WorldViewProj ); OUT.diffCol = float4(1,1,1,1); return( OUT ); } SimpleVertexColorOutput deepGrayVS( appdata IN) { SimpleVertexColorOutput OUT; float4 Lvec = normalize( IN.Position - LightPos ); float ldn = abs(dot(-Lvec.xyz, IN.Normal.xyz )); float4 Ph = mul( IN.Position, WorldViewProj ); OUT.HPosition = Ph; float d = (Ph.z-Near)/(Far-Near); d = 1.0 - (DThresh + (1.0-DThresh)*abs(d)); OUT.diffCol = d.xxxx; return(OUT); } /// Blur //////////////////////////////////////// // // This is a very simple blur, four extra samples, one in each cardinal direction // struct BlurVertexOutput { QUAD_REAL4 Position : POSITION; QUAD_REAL2 NU : TEXCOORD0; QUAD_REAL2 CC : TEXCOORD1; QUAD_REAL2 PU : TEXCOORD2; QUAD_REAL2 NV : TEXCOORD3; QUAD_REAL2 PV : TEXCOORD4; }; BlurVertexOutput DepthBlurVS( QUAD_REAL3 Position : POSITION, QUAD_REAL3 TexCoord : TEXCOORD0 ) { BlurVertexOutput OUT=(BlurVertexOutput)0; QUAD_REAL2 center; OUT.Position = QUAD_REAL4(Position, 1); QUAD_REAL2 texelSize = QUAD_REAL2((1.0/QuadScreenSize.x),(1.0/QuadScreenSize.y)); QUAD_REAL2 blurSize = Blur * texelSize; // the NO_TEXEL_OFFSET macro is part of "Quad.fxh" #ifdef NO_TEXEL_OFFSET center = TexCoord.xy; #else /* NO_TEXEL_OFFSET */ QUAD_REAL2 off = QuadTexOffset * texelSize; QUAD_REAL2(QuadTexOffset/(QuadScreenSize.x),QuadTexOffset/(QuadScreenSize.y)); center = QUAD_REAL2(TexCoord.xy+off); #endif /* NO_TEXEL_OFFSET */ OUT.CC = center; OUT.NU = QUAD_REAL2(center.x-blurSize.x,center.y); OUT.PU = QUAD_REAL2(center.x+blurSize.x,center.y); OUT.NV = QUAD_REAL2(center.x,center.y-blurSize.y); OUT.PV = QUAD_REAL2(center.x,center.y+blurSize.y); return OUT; } // blur, but only if the beighboring pixels have about the same depth // (and thus are part of the same geometric entity) -- otherwise leave the // edge sharp QUAD_REAL4 DepthBlurPS(BlurVertexOutput IN) : COLOR { QUAD_REAL dcc = tex2D(GrayDepthSampler, IN.CC).x; QUAD_REAL scc = tex2D(WhiteSampler, IN.CC).x; QUAD_REAL dnu = tex2D(GrayDepthSampler, IN.NU).x; QUAD_REAL snu = tex2D(WhiteSampler, IN.NU).x; QUAD_REAL dpu = tex2D(GrayDepthSampler, IN.PU).x; QUAD_REAL spu = tex2D(WhiteSampler, IN.PU).x; QUAD_REAL dnv = tex2D(GrayDepthSampler, IN.NV).x; QUAD_REAL snv = tex2D(WhiteSampler, IN.NV).x; QUAD_REAL dpv = tex2D(GrayDepthSampler, IN.PV).x; QUAD_REAL spv = tex2D(WhiteSampler, IN.PV).x; float ac = 1.0; float as = scc; if ((dnu!=0)&&(abs(dnu-dcc)) < DThresh) { as += snu; ac += 1.0; } if ((dpu!=0)&&(abs(dpu-dcc)) < DThresh) { as += spu; ac += 1.0; } if ((dnv!=0)&&(abs(dnv-dcc)) < DThresh) { as += snv; ac += 1.0; } if ((dpv!=0)&&(abs(dpv-dcc)) < DThresh) { as += spv; ac += 1.0; } as = as / ac; as = 1.0 - (Dens*(1.0-as)); return float4(as.xxxx); } ///// final-output pixel mixer ////// QUAD_REAL4 shadowMixPS(QuadVertexOutput IN) : COLOR { QUAD_REAL4 scene = tex2D(SceneSampler, IN.UV); QUAD_REAL4 shad = tex2D(BlurSampler, IN.UV); return (shad*scene); } /*************** techniques *******************/ technique main < string Script = "Pass=DepthToGrayMap;" "Pass=ColorSceneToMap;" "Pass=StencilZPass;" "Pass=StencilBackPass;" "Pass=StencilFrontPass;" "Pass=DrawStencilShadowOnWhite;" "Pass=ScreenSpaceShadowBlur;" "Pass=FinalComposite;"; > { pass DepthToGrayMap < string Script = "RenderColorTarget0=GrayDepthMap;" "RenderDepthStencilTarget=DepthMap;" "ClearSetColor=ClearColor;" "ClearSetDepth=ClearDepth;" "Clear=Color;" "Clear=Depth;" "Draw=geometry;"; > { VertexShader = compile vs_1_0 deepGrayVS(); ZEnable = true; ZWriteEnable = true; CullMode = None; StencilEnable = false; } pass ColorSceneToMap < string Script = "RenderColorTarget0=SceneMap;" "RenderDepthStencilTarget=DepthMap;" "ClearSetColor=ClearColor;" "ClearSetDepth=ClearDepth;" "Clear=Color;" "Clear=Depth;" "Draw=geometry;"; > { VertexShader = compile vs_1_0 simpleVS(); ZEnable = true; ZWriteEnable = true; CullMode = None; StencilEnable = false; } pass StencilZPass < string Script = "RenderColorTarget0=WhiteMap;" "RenderDepthStencilTarget=DepthMap;" "ClearSetColor=ClearColor;" "ClearSetDepth=ClearDepth;" "Clear=Color;" "Clear=Stencil;" "Clear=Depth;" // no clear "Draw=geometry;"; > { VertexShader = compile vs_1_0 backingVS(); ZEnable = true; ZWriteEnable = true; CullMode = None; StencilEnable = false; } pass StencilBackPass < string Script = "RenderColorTarget0=WhiteMap;" "RenderDepthStencilTarget=DepthMap;" // no clear "Draw=geometry;"; > { VertexShader = compile vs_1_1 extrudeVS(); ZEnable = true; ZWriteEnable = true; ZFunc = lessequal; CullMode = CW; StencilEnable = True; StencilPass = Keep; StencilFail = Keep; StencilZFail = IncrSat; StencilFunc = Always; ColorWriteEnable = 0; } pass StencilFrontPass < string Script = "RenderColorTarget0=WhiteMap;" "RenderDepthStencilTarget=DepthMap;" // no clear "Draw=geometry;"; > { VertexShader = compile vs_1_1 extrudeVS(); ZEnable = true; ZWriteEnable = true; ZFunc = lessequal; CullMode = CCW; // TwoSidedStencilMode = false; // needed? StencilEnable = True; StencilPass = Keep; StencilFail = Keep; StencilZFail = DecrSat; StencilFunc = Always; ColorWriteEnable = 0; } pass DrawStencilShadowOnWhite < string Script = "RenderColorTarget0=WhiteMap;" "RenderDepthStencilTarget=DepthMap;" "ClearSetColor=ClearColor;" "Clear=Color;" "Draw=geometry;"; > { VertexShader = compile vs_1_1 whiteVS(); ZEnable = true; ZWriteEnable = true; ZFunc = lessequal; CullMode = None; StencilEnable = True; StencilPass = Keep; StencilZFail = Keep; StencilFail = Keep; StencilRef = 0; StencilFunc = Equal; } pass ScreenSpaceShadowBlur < string Script = "RenderColorTarget0=BlurMap;" "RenderDepthStencilTarget=DepthMap;" "ClearSetColor=ClearColor;" "ClearSetDepth=ClearDepth;" "Clear=Color;" "Clear=Depth;" "Draw=buffer;"; > { VertexShader = compile vs_1_1 DepthBlurVS(); ZEnable = false; CullMode = None; StencilEnable = false; AlphaBlendEnable = false; PixelShader = compile ps_2_a DepthBlurPS(); } pass FinalComposite < string Script = "RenderColorTarget0=;" "RenderDepthStencilTarget=;" "ClearSetColor=ClearColor;" "ClearSetDepth=ClearDepth;" "Clear=Color;" "Clear=Depth;" "Draw=buffer;"; > { VertexShader = compile vs_1_1 ScreenQuadVS(); ZEnable = false; // ZWriteEnable = true; CullMode = None; StencilEnable = false; AlphaBlendEnable = false; PixelShader = compile ps_2_a shadowMixPS(); } } /********************************** eof ***/ ]]></effect><effect path="f:\devrel\sdk\media\hlsl\include\\quad.fxh"><![CDATA[/*********************************************************************NVMH3**** File: $Id: //sw/devrel/SDK/MEDIA/HLSL/include/Quad.fxh#1 $ Copyright NVIDIA Corporation 2004 TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Comments: Header file with lots of useful macros, types, and functions for use with textures and render-to-texture-buffer effects in DirectX. Example Macro Usages: Texture-declaration Macros: FILE_TEXTURE_2D(SurfTexture,SurfSampler,"myfile.dds") // simple 2D wrap texture FILE_TEXTURE_2D_MODAL(SpotTexture,SpotSampler,"myfile.dds",CLAMP) // user-defined addr mode RenderTarget Texture-declaration Macros: DECLARE_QUAD_TEX(ObjTexture,ObjSampler,"A8R8G8B8") DECLARE_QUAD_DEPTH_BUFFER(DepthTexture,"D24S8") DECLARE_SIZED_QUAD_TEX(GlowTexture,GlowSampler,"A8R8G8B8",0.5) // scaled versions of above DECLARE_SIZED_QUAD_DEPTH_BUFFER(DepthTexture,"D24S8",0.5) DECLARE_SIZED_TEX(BlahMap,BlahSampler,"R32F",128,1) // address mode is "clamp" DECLARE_SQUARE_QUAD_TEX(ShadTexture,ShadObjSampler,"A16R16G16B16F",512) // for shadows etc DECLARE_SQUARE_QUAD_DEPTH_BUFFER(ShadDepth,"D24S8",512) Data types used in shaders: QUAD_REAL & QUAD_REAL# -- defaults to HALF but you can define QUAD_REAL float before #including "Quad.fxh" either by explicitly declaring all the QUAD_REAL types yourself, or #define-ing the symbol QUAD_FLOAT Flags (define before #including "Quad.fxh"): TWEAKABLE_TEXEL_OFFSET // shows in paramter panel NO_TEXEL_OFFSET // disables Structure: QuadVertexOutput -- used by shaders, defines simple connection for "Draw=buffer" VS and PS Shader Functions for "Draw=buffer" passes: QuadVertexOutput ScreenQuadVS(): standard vertex shader for screen-aligned quads QUAD_REAL4 TexQuadPS(QuadVertexOutput IN,uniform sampler2D InputSampler) pass this pixel shader a sampler -- will draw it to the screen QUAD_REAL4 TexQuadBiasPS(QuadVertexOutput IN,uniform sampler2D InputSampler,QUAD_REAL TBias) Same as above, but uses tex2Dbias() Utility Functions for Texture-Based Lookup Tables: QUAD_REAL scale_lookup(QUAD_REAL Value,const QUAD_REAL TableSize) QUAD_REAL2 scale_lookup(QUAD_REAL2 Value,const QUAD_REAL TableSize) QUAD_REAL3 scale_lookup(QUAD_REAL3 Value,const QUAD_REAL TableSize) Other Utility Functions: QUAD_REAL4 premultiply(QUAD_REAL4 C) QUAD_REAL4 unpremultiply(QUAD_REAL4 C) // uses macro value NV_ALPHA_EPSILON Global Variables: QUAD_REAL QuadTexOffset // reconciles difference between pixel and texel centers QUAD_REAL2 QuadScreenSize // VIEWPORTPIXELSIZE, contains dimensions of render window ******************************************************************************/ #ifndef _QUAD_FXH #define _QUAD_FXH // Numeric types we are likely to encounter.... // Redefine these before including "Quad.fxh" if you want // to use a type other than "half" for these data or just // define the symbol QUAD_FLOAT to use "floats" #ifndef QUAD_REAL #ifdef QUAD_FLOAT #define QUAD_REAL float #define QUAD_REAL2 float2 #define QUAD_REAL3 float3 #define QUAD_REAL4 float4 #define QUAD_REAL3x3 float3x3 #define QUAD_REAL4x3 float4x3 #define QUAD_REAL3x4 float3x4 #define QUAD_REAL4x4 float4x4 #else /* ! QUAD_FLOAT */ #define QUAD_REAL half #define QUAD_REAL2 half2 #define QUAD_REAL3 half3 #define QUAD_REAL4 half4 #define QUAD_REAL3x3 half3x3 #define QUAD_REAL4x3 half4x3 #define QUAD_REAL3x4 half3x4 #define QUAD_REAL4x4 half4x4 #endif /* ! QUAD_FLOAT */ #endif /* ! QUAD_REAL */ /////////////////////////////////////////////////////////////////////// /// Texture-Declaration Macros //////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // // Modal 2D File Textures // // example usage: FILE_TEXTURE_2D_MODAL(GlowMap,GlowSampler,"myfile.dds",CLAMP) // #define FILE_TEXTURE_2D_MODAL(TexName,SampName,Filename,AddrMode) texture TexName < \ string ResourceName = (Filename); \ string ResourceType = "2D"; \ >; \ sampler SampName = sampler_state { \ texture = <TexName>; \ AddressU = AddrMode; \ AddressV = AddrMode; \ MipFilter = LINEAR; \ MinFilter = LINEAR; \ MagFilter = LINEAR; \ }; // // Simple 2D File Textures // // example usage: FILE_TEXTURE_2D(GlowMap,GlowSampler,"myfile.dds") // #define FILE_TEXTURE_2D(TextureName,SamplerName,Diskfile) FILE_TEXTURE_2D_MODAL(TextureName,SamplerName,(Diskfile),WRAP) // // Use this variation of DECLARE_QUAD_TEX() if you want a *scaled* render target // // example usage: DECLARE_SIZED_QUAD_TEX(GlowMap,GlowSampler,"A8R8G8B8",1.0) #define DECLARE_SIZED_QUAD_TEX(TexName,SampName,PixFmt,Multiple) texture TexName : RENDERCOLORTARGET < \ float2 ViewPortRatio = {Multiple,Multiple}; \ int MipLevels = 1; \ string Format = PixFmt ; \ string UIWidget = "None"; \ >; \ sampler SampName = sampler_state { \ texture = <TexName>; \ AddressU = CLAMP; \ AddressV = CLAMP; \ MipFilter = POINT; \ MinFilter = LINEAR; \ MagFilter = LINEAR; \ }; // // Use this macro to easily declare typical color render targets // // example usage: DECLARE_QUAD_TEX(ObjMap,ObjSampler,"A8R8G8B8") #define DECLARE_QUAD_TEX(TextureName,SamplerName,PixelFormat) DECLARE_SIZED_QUAD_TEX(TextureName,SamplerName,(PixelFormat),1.0) // // Use this macro to easily declare variable-sized depth render targets // // example usage: DECLARE_SIZED_QUAD_DEPTH_BUFFER(DepthMap,"D24S8",0.5) #define DECLARE_SIZED_QUAD_DEPTH_BUFFER(TextureName,PixelFormat,Multiple) texture TextureName : RENDERDEPTHSTENCILTARGET < \ float2 ViewPortRatio = {Multiple,Multiple}; \ string Format = (PixelFormat); \ string UIWidget = "None"; \ >; // // Use this macro to easily declare typical depth render targets // // example usage: DECLARE_QUAD_DEPTH_BUFFER(DepthMap,"D24S8") #define DECLARE_QUAD_DEPTH_BUFFER(TexName,PixFmt) DECLARE_SIZED_QUAD_DEPTH_BUFFER(TexName,PixFmt,1.0) // // declare exact-sized arbitrary texture // // example usage: DECLARE_SIZED_TEX(BlahMap,BlahSampler,"R32F",128,1) #define DECLARE_SIZED_TEX(Tex,Samp,Fmt,Wd,Ht) texture Tex : RENDERCOLORTARGET < \ float2 Dimensions = { Wd, Ht }; \ string Format = Fmt ; \ string UIWidget = "None"; \ int miplevels=1;\ >; \ sampler Samp = sampler_state { \ texture = <Tex>; \ AddressU = CLAMP; \ AddressV = CLAMP; \ MipFilter = NONE; \ MinFilter = LINEAR; \ MagFilter = LINEAR; \ }; // // declare exact-sized square texture, as for shadow maps // // example usage: DECLARE_SQUARE_QUAD_TEX(ShadMap,ShadObjSampler,"A16R16G16B16F",512) #define DECLARE_SQUARE_QUAD_TEX(TexName,SampName,PixFmt,Size) DECLARE_SIZED_TEX(TexName,SampName,(PixFmt),Size,Size) // // likewise for shadow depth targets // // example usage: DECLARE_SQUARE_QUAD_DEPTH_BUFFER(ShadDepth,"D24S8",512) #define DECLARE_SQUARE_QUAD_DEPTH_BUFFER(TextureName,PixelFormat,Size) texture TextureName : RENDERDEPTHSTENCILTARGET < \ float2 Dimensions = { Size, Size }; \ string Format = (PixelFormat) ; \ string UIWidget = "None"; \ >; //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////// Utility Functions //////// //////////////////////////////////////////////////////////////////////////// // // Scale inputs for use with texture-based lookup tables. A value ranging from zero to one needs // a slight scaling and offset to be sure to point at the centers of the first and last pixels // of that lookup texture. Pass the integer size of the table in TableSize // For now we'll assume that all tables are 1D, square, or cube-shaped -- all axes of equal size // // Cost of this operation for pixel shaders: two const-register // entries and a MAD (one cycle) QUAD_REAL scale_lookup(QUAD_REAL Value,const QUAD_REAL TableSize) { QUAD_REAL scale = ((TableSize - 1.0)/TableSize); QUAD_REAL shift = (0.5 / TableSize); return (scale*Value + shift); } QUAD_REAL2 scale_lookup(QUAD_REAL2 Value,const QUAD_REAL TableSize) { QUAD_REAL scale = ((TableSize - 1.0)/TableSize); QUAD_REAL shift = (0.5 / TableSize); return (scale.xx*Value + shift.xx); } QUAD_REAL3 scale_lookup(QUAD_REAL3 Value,const QUAD_REAL TableSize) { QUAD_REAL scale = ((TableSize - 1.0)/TableSize); QUAD_REAL shift = (0.5 / TableSize); return (scale.xxx*Value + shift.xxx); } // pre-multiply and un-pre-mutliply functions. The precision // of thse operatoions is often limited to 8-bit so don't // always count on them! // The macro value of NV_ALPHA_EPSILON, if defined, is used to // avoid IEEE "NaN" values that may occur when erroneously // dividing by a zero alpha (thanks to Pete Warden @ Apple // Computer for the suggestion in GPU GEMS II) // multiply color by alpha to turn an un-premultipied // pixel value into a premultiplied one QUAD_REAL4 premultiply(QUAD_REAL4 C) { return QUAD_REAL4((C.w*C.xyz),C.w); } #define NV_ALPHA_EPSILON 0.0001 // given a premultiplied pixel color, try to undo the premultiplication. // beware of precision errors QUAD_REAL4 unpremultiply(QUAD_REAL4 C) { #ifdef NV_ALPHA_EPSILON QUAD_REAL a = C.w + NV_ALPHA_EPSILON; return QUAD_REAL4((C.xyz / a),C.w); #else /* ! NV_ALPHA_EPSILON */ return QUAD_REAL4((C.xyz / C.w),C.w); #endif /* ! NV_ALPHA_EPSILON */ } ///////////////////////////////////////////////////////////////////////////////////// // Structure Declaration //////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////// struct QuadVertexOutput { QUAD_REAL4 Position : POSITION; QUAD_REAL2 UV : TEXCOORD0; }; ///////////////////////////////////////////////////////////////////////////////////// // Hidden tweakables declared by this .fxh file ///////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////// #ifndef NO_TEXEL_OFFSET #ifdef TWEAKABLE_TEXEL_OFFSET QUAD_REAL QuadTexOffset = 0.5; #else /* !TWEAKABLE_TEXEL_OFFSET */ QUAD_REAL QuadTexOffset < string UIWidget="None"; > = 0.5; #endif /* !TWEAKABLE_TEXEL_OFFSET */ QUAD_REAL2 QuadScreenSize : VIEWPORTPIXELSIZE < string UIWidget="None"; >; #endif /* NO_TEXEL_OFFSET */ //////////////////////////////////////////////////////////// ////////////////////////////////// vertex shaders ////////// //////////////////////////////////////////////////////////// QuadVertexOutput ScreenQuadVS( QUAD_REAL3 Position : POSITION, QUAD_REAL3 TexCoord : TEXCOORD0 ) { QuadVertexOutput OUT; OUT.Position = QUAD_REAL4(Position, 1); #ifdef NO_TEXEL_OFFSET OUT.UV = TexCoord.xy; #else /* NO_TEXEL_OFFSET */ QUAD_REAL2 off = QUAD_REAL2(QuadTexOffset/(QuadScreenSize.x),QuadTexOffset/(QuadScreenSize.y)); OUT.UV = QUAD_REAL2(TexCoord.xy+off); #endif /* NO_TEXEL_OFFSET */ return OUT; } ////////////////////////////////////////////////////// ////////////////////////////////// pixel shaders ///// ////////////////////////////////////////////////////// // add glow on top of model QUAD_REAL4 TexQuadPS(QuadVertexOutput IN,uniform sampler2D InputSampler) : COLOR { QUAD_REAL4 texCol = tex2D(InputSampler, IN.UV); return texCol; } QUAD_REAL4 TexQuadBiasPS(QuadVertexOutput IN,uniform sampler2D InputSampler,QUAD_REAL TBias) : COLOR { QUAD_REAL4 texCol = tex2Dbias(InputSampler, QUAD_REAL4(IN.UV,0,TBias)); return texCol; } ////////////////////////////////////////////////////////////////// /// Macros to define passes within Techniques //////////////////// ////////////////////////////////////////////////////////////////// // older HLSL syntax #define TEX_TECH(TechName,SamplerName) technique TechName { \ pass TexturePass { \ VertexShader = compile vs_2_0 ScreenQuadVS(); \ AlphaBlendEnable = false; ZEnable = false; \ PixelShader = compile ps_2_a TexQuadPS(SamplerName); } } #define TEX_BLEND_TECH(TechName,SamplerName) technique TechName { \ pass TexturePass { \ VertexShader = compile vs_2_0 ScreenQuadVS(); \ ZEnable = false; AlphaBlendEnable = true; \ SrcBlend = SrcAlpha; DestBlend = InvSrcAlpha; \ PixelShader = compile ps_2_a TexQuadPS(SamplerName); } } // newer HLSL syntax #define TEX_TECH2(TechName,SamplerName,TargName) technique TechName { \ pass TexturePass < \ string ScriptFunction = "RenderColorTarget0=" (TargName) ";" \ "DrawInternal=Buffer;"; \ > { \ VertexShader = compile vs_2_0 ScreenQuadVS(); \ AlphaBlendEnable = false; ZEnable = false; \ PixelShader = compile ps_2_a TexQuadPS(SamplerName); } } #define TEX_BLEND_TECH2(TechName,SamplerName) technique TechName { \ pass TexturePass < \ string ScriptFunction = "RenderColorTarget0=" (TargName) ";" \ "DrawInternal=Buffer;"; \ > { \ VertexShader = compile vs_2_0 ScreenQuadVS(); \ ZEnable = false; AlphaBlendEnable = true; \ SrcBlend = SrcAlpha; DestBlend = InvSrcAlpha; \ PixelShader = compile ps_2_a TexQuadPS(SamplerName); } } #endif /* _QUAD_FXH */ ////////////// eof /// ]]></effect></media_objects></fxstudio_project>