예제 #1
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            //ALL TEMPORARY until more classes and GUI is working
            //obj = ProjectHandler.ProjectHelpers.OpenModelByExtension(@"E:\oot-obj\crash_maps\water\water.obj");
            obj = ProjectHandler.ProjectHelpers.OpenModelByExtension(@"C:\Users\Daniel\OoT Obj Testing\plane_grouped_modified-VTXHACK.obj");
            foreach (Common.Material mat in obj.Model.Materials)
                TexCache.Load(System.IO.Path.GetFileName(mat.TextureMap), mat.TextureMapImage);

            // shader test
            string pstring =
                "!!ARBfp1.0\n" +
                "\n" +
                "TEMP Tex0; TEMP CACombined;\n" +
                "\n" +
                "PARAM ColorMaterial = program.env[0];\n" +
                "ATTRIB ColorVertex = fragment.color;\n" +
                "\n" +
                "TEX Tex0, fragment.texcoord[0], texture[0], 2D;\n" +
                "\n" +
                "OUTPUT Output = result.color;\n" +
                "\n";

            pstring += "MUL CACombined, ColorMaterial, ColorVertex;\n";
            pstring += "MUL Output, Tex0, CACombined;\n";
            pstring += "END\n";

            byte[] bytes = Encoding.ASCII.GetBytes(pstring);
            IntPtr ptr = System.Runtime.InteropServices.Marshal.UnsafeAddrOfPinnedArrayElement(bytes, 0);
            GL.Arb.GenProgram(1, out fragprog);
            GL.Arb.BindProgram(AssemblyProgramTargetArb.FragmentProgram, fragprog);
            GL.Arb.ProgramString(AssemblyProgramTargetArb.FragmentProgram, ArbVertexProgram.ProgramFormatAsciiArb, bytes.Length, ptr);
        }
예제 #2
0
 public void LoadCollisionModel(string fn)
 {
     Model = ProjectHelpers.OpenModelByExtension(fn);
 }