I=(S=Intro.DrawExposePoint = function(){
}).prototype;

I.Draw = function()
{
    var temp_unique7535 = new Uno.Float4;
    var temp_unique7534 = new Uno.Float4;
    var temp_unique7533 = new Uno.Float4;
    {
        var World_3_30_0 = this.parent.Transform.Absolute();
        var World_9_0_0 = Uno.Matrix.Mul(Uno.Float4x4.$0(1.0, 0.0, 0.0, 0.0, 0.0, -4.371139e-08, -1.0, 0.0, 0.0, 1.0, -4.371139e-08, 0.0, 0.0, 0.0, 0.0, 1.0), World_3_30_0);
        var Camera_5_0_0 = Uno.Application.Camera();
        var WorldInverse_3_31_0 = Uno.Matrix.Invert_1(World_9_0_0);
        var WorldInverseTranspose_3_32_0 = Uno.Matrix.Transpose(WorldInverse_3_31_0);
        gl.useProgram(this.Draw_Text02_Drawable0_prog);
        gl.colorMask(true, true, true, true);
        gl.depthMask(true);
        gl.disable(3042);
        gl.cullFace(Uno.Graphics.OpenGL.Interop.PolygonFaceToGLenum(2));
        gl.enable(2884);
        gl.enable(2929);
        gl.frontFace(Uno.Graphics.OpenGL.Interop.PolygonWindingToGLenum(1));
        gl.uniformMatrix4fv(this.Draw_Text02_Drawable0_World_9_0_0_emOsLogHCG, false, uglFloat4x4(Uno.Matrix.Mul(Uno.Float4x4.$0(1.0, 0.0, 0.0, 0.0, 0.0, -4.371139e-08, -1.0, 0.0, 0.0, 1.0, -4.371139e-08, 0.0, 0.0, 0.0, 0.0, 1.0), World_3_30_0)));
        gl.uniformMatrix4fv(this.Draw_Text02_Drawable0_View_3_13_0_mdCFAKwoHC, false, uglFloat4x4(Camera_5_0_0.View()));
        gl.uniformMatrix4fv(this.Draw_Text02_Drawable0_Proj_3_14_0_gwGFymeWFF, false, uglFloat4x4(Camera_5_0_0.Proj()));
        gl.uniformMatrix3fv(this.Draw_Text02_Drawable0_World3x3_3_33_0_kjcWVSoLTg, false, uglFloat3x3(Uno.Float3x3.$1((temp_unique7533 = WorldInverseTranspose_3_32_0.indexer(0), Uno.Float3.$1(temp_unique7533.X, temp_unique7533.Y, temp_unique7533.Z)), (temp_unique7534 = WorldInverseTranspose_3_32_0.indexer(1), Uno.Float3.$1(temp_unique7534.X, temp_unique7534.Y, temp_unique7534.Z)), (temp_unique7535 = WorldInverseTranspose_3_32_0.indexer(2), Uno.Float3.$1(temp_unique7535.X, temp_unique7535.Y, temp_unique7535.Z)))));
        gl.uniform3fv(this.Draw_Text02_Drawable0_LightDirection_3_50_0_RGzhNjypve, uglFloat3(this.Draw_Text02_Drawable0_LightDirection_3_50_0_RGzhNjypve_val));
        gl.uniform3fv(this.Draw_Text02_Drawable0_CameraPosition_3_5_0_NkoPBNxZeS, uglFloat3(Camera_5_0_0.Position()));
        gl.enableVertexAttribArray(this.Draw_Text02_Drawable0_VertexPosition_GgzbZdhzHW);
        gl.bindBuffer(34962, this.Draw_Text02_Drawable0_VertexPosition_GgzbZdhzHW_vbo.GLHandle());
        gl.vertexAttribPointer(this.Draw_Text02_Drawable0_VertexPosition_GgzbZdhzHW, 3, 5126, false, 0, 0);
        gl.enableVertexAttribArray(this.Draw_Text02_Drawable0_VertexNormal_XAWaKOuyxx);
        gl.bindBuffer(34962, this.Draw_Text02_Drawable0_VertexNormal_XAWaKOuyxx_vbo.GLHandle());
        gl.vertexAttribPointer(this.Draw_Text02_Drawable0_VertexNormal_XAWaKOuyxx, 4, 5120, true, 0, 0);
        gl.bindBuffer(34963, this.Draw_Text02_Drawable0_ibo.GLHandle());
        gl.drawElements(Uno.Graphics.OpenGL.Interop.PrimitiveTypeToGLenum(0), 19020, 5123, 0);
        gl.disableVertexAttribArray(this.Draw_Text02_Drawable0_VertexPosition_GgzbZdhzHW);
        gl.disableVertexAttribArray(this.Draw_Text02_Drawable0_VertexNormal_XAWaKOuyxx);
        Uno.Application.IncrementDrawCallCounter(19020);
    }
};

S.$0 = function(parent, $this) {
    if (!$this) $this = new Intro.DrawExposePoint;
    {
        $this.parent = parent;
    }

    {
        $this.Draw_Text02_Drawable0_ibo = Uno.ResourceManager.GetResource("IndexBuffer_jhUNUAWRsQ");
        $this.Draw_Text02_Drawable0_VertexPosition_GgzbZdhzHW_vbo = Uno.ResourceManager.GetResource("VertexBuffer_RXdXioPCcB");
        $this.Draw_Text02_Drawable0_VertexNormal_XAWaKOuyxx_vbo = Uno.ResourceManager.GetResource("VertexBuffer_RBVzvHGiTz");
        $this.Draw_Text02_Drawable0_LightDirection_3_50_0_RGzhNjypve_val = Uno.Vector.Normalize(Uno.Float3.$1(30.0, 60.0, 90.0));
    }

    $this.Draw_Text02_Drawable0_vs = uglCompileShader(35633, "Intro_DrawExposePoint_Draw_Text02_Drawable0_vs", "uniform mat4 World_9_0_0_emOsLogHCG;\nuniform mat4 View_3_13_0_mdCFAKwoHC;\nuniform mat4 Proj_3_14_0_gwGFymeWFF;\nuniform mat3 World3x3_3_33_0_kjcWVSoLTg;\nuniform vec3 CameraPosition_3_5_0_NkoPBNxZeS;\n\nvarying vec3 Normal_3_49_0_rpYVFGAFUK;\nvarying vec3 ReflectedViewDirection_3_52_0_AJEqgCCZUO;\n\nattribute vec3 VertexPosition_GgzbZdhzHW;\nattribute vec4 VertexNormal_XAWaKOuyxx;\n\nvoid main(void)\n{\n\tvec3 VertexPosition_10_3_0 = VertexPosition_GgzbZdhzHW;\n\tvec3 WorldPosition_3_37_0 = (World_9_0_0_emOsLogHCG * vec4(VertexPosition_GgzbZdhzHW,1.)).xyz;\n\tvec3 WorldPosition_12_1_0 = (WorldPosition_3_37_0 * vec3(7.0)) + vec3(0.0, 100.0, 0.0);\n\tvec3 ViewPosition_3_18_0 = (View_3_13_0_mdCFAKwoHC * vec4(WorldPosition_12_1_0, 1.0)).xyz;\n\tvec4 ClipPosition_3_19_0 = Proj_3_14_0_gwGFymeWFF * vec4(ViewPosition_3_18_0, 1.0);\n\tgl_Position = Proj_3_14_0_gwGFymeWFF * vec4(ViewPosition_3_18_0, 1.0);\n\tvec4 VertexNormal_10_5_0 = VertexNormal_XAWaKOuyxx;\n\tvec3 WorldNormal_3_38_0 = normalize(World3x3_3_33_0_kjcWVSoLTg * VertexNormal_XAWaKOuyxx.xyz);\n\tvec3 Normal_3_49_0 = WorldNormal_3_38_0;\n\tNormal_3_49_0_rpYVFGAFUK = WorldNormal_3_38_0;\n\tvec3 WorldViewDirection_3_42_0 = WorldPosition_12_1_0 - CameraPosition_3_5_0_NkoPBNxZeS;\n\tvec3 ViewDirection_3_51_0 = WorldViewDirection_3_42_0;\n\tvec3 ReflectedViewDirection_3_52_0 = reflect(WorldViewDirection_3_42_0, WorldNormal_3_38_0);\n\tReflectedViewDirection_3_52_0_AJEqgCCZUO = reflect(WorldViewDirection_3_42_0, WorldNormal_3_38_0);\n}\n");
    $this.Draw_Text02_Drawable0_ps = uglCompileShader(35632, "Intro_DrawExposePoint_Draw_Text02_Drawable0_ps", "uniform vec3 LightDirection_3_50_0_RGzhNjypve;\n\nvarying vec3 Normal_3_49_0_rpYVFGAFUK;\nvarying vec3 ReflectedViewDirection_3_52_0_AJEqgCCZUO;\n\nvoid main(void)\n{\n\tfloat DiffuseLight_3_61_0 = max(0.0, dot(Normal_3_49_0_rpYVFGAFUK, normalize(LightDirection_3_50_0_RGzhNjypve))) + 0.35;\n\tvec3 Diffuse_3_67_0 = vec4(1.0, 1.0, 1.0, 1.0).xyz * DiffuseLight_3_61_0;\n\tfloat SpecularLight_3_62_0 = pow(max(0.0, dot(normalize(ReflectedViewDirection_3_52_0_AJEqgCCZUO), normalize(LightDirection_3_50_0_RGzhNjypve))), 2.0);\n\tvec3 Specular_3_65_0 = vec4(0.0, 0.0, 0.0, 1.0).xyz * SpecularLight_3_62_0;\n\tvec4 PixelColor_3_69_0 = vec4(Diffuse_3_67_0 + Specular_3_65_0, 1.0);\n\tvec4 PixelColor_12_2_0 = PixelColor_3_69_0 * 0.5;\n\tgl_FragColor = PixelColor_3_69_0 * 0.5;\n}\n");
    $this.Draw_Text02_Drawable0_prog = uglLinkProgram($this.Draw_Text02_Drawable0_vs, $this.Draw_Text02_Drawable0_ps);
    $this.Draw_Text02_Drawable0_VertexPosition_GgzbZdhzHW = gl.getAttribLocation($this.Draw_Text02_Drawable0_prog, "VertexPosition_GgzbZdhzHW");
    $this.Draw_Text02_Drawable0_VertexNormal_XAWaKOuyxx = gl.getAttribLocation($this.Draw_Text02_Drawable0_prog, "VertexNormal_XAWaKOuyxx");
    $this.Draw_Text02_Drawable0_World_9_0_0_emOsLogHCG = gl.getUniformLocation($this.Draw_Text02_Drawable0_prog, "World_9_0_0_emOsLogHCG");
    $this.Draw_Text02_Drawable0_View_3_13_0_mdCFAKwoHC = gl.getUniformLocation($this.Draw_Text02_Drawable0_prog, "View_3_13_0_mdCFAKwoHC");
    $this.Draw_Text02_Drawable0_Proj_3_14_0_gwGFymeWFF = gl.getUniformLocation($this.Draw_Text02_Drawable0_prog, "Proj_3_14_0_gwGFymeWFF");
    $this.Draw_Text02_Drawable0_World3x3_3_33_0_kjcWVSoLTg = gl.getUniformLocation($this.Draw_Text02_Drawable0_prog, "World3x3_3_33_0_kjcWVSoLTg");
    $this.Draw_Text02_Drawable0_LightDirection_3_50_0_RGzhNjypve = gl.getUniformLocation($this.Draw_Text02_Drawable0_prog, "LightDirection_3_50_0_RGzhNjypve");
    $this.Draw_Text02_Drawable0_CameraPosition_3_5_0_NkoPBNxZeS = gl.getUniformLocation($this.Draw_Text02_Drawable0_prog, "CameraPosition_3_5_0_NkoPBNxZeS");
    return $this;
};
