コード例 #1
0
 public void Render(Jusin.ThreeDLib.ModelBase.ModelEntityBase entity)
 {
     foreach (IObjectRender render in renderes)
     {
         render.Render(entity);
     }
 }
コード例 #2
0
 public void Render(Jusin.ThreeDLib.ModelBase.ModelEntityBase entity)
 {
     foreach (IObjectRender render in renderes)
     {
         System.Diagnostics.Debug.WriteLine(render.getRenderKind());
         render.Render(entity);
     }
 }
コード例 #3
0
        protected Jusin.ThreeDLib.ModelBase.ModelEntityBase convertEntity(ThirdParty.ThreeDLib.ThreeD.Entity e)
        {
            Jusin.ThreeDLib.ModelBase.ModelEntityBase e_base        = new Jusin.ThreeDLib.ModelBase.ModelEntityBase();
            Jusin.ThreeDLib.ModelBase.Triangle[]      new_triangles = new  Jusin.ThreeDLib.ModelBase.Triangle[e.indices.Length];
            Jusin.ThreeDLib.ModelBase.Vertex[]        new_vertexes  = new Jusin.ThreeDLib.ModelBase.Vertex[e.vertices.Length];
            Jusin.ThreeDLib.ModelBase.Material[]      new_materials = new Jusin.ThreeDLib.ModelBase.Material[e.materials.Length];
            Jusin.ThreeDLib.ModelBase.TexCoord[]      new_texcoords = new Jusin.ThreeDLib.ModelBase.TexCoord[e.texcoords.Length];
            int i = 0;

            foreach (Vector vect in e.vertices)
            {
                Jusin.ThreeDLib.ModelBase.Vertex vert = new Jusin.ThreeDLib.ModelBase.Vertex((float)vect.X, (float)vect.Y, (float)vect.Z);
                new_vertexes[i] = vert;
                if (e.Normalized)
                {
                    vert.norm = new Jusin.ThreeDLib.ModelBase.Vector3d(e.normals[i].X, e.normals[i].Y, e.normals[i].Z);
                }

                i++;
            }

            i = 0;
            foreach (Material mat in e.materials)
            {
                new_materials[i]           = new Jusin.ThreeDLib.ModelBase.Material();
                new_materials[i].Ambient   = mat.Ambient;
                new_materials[i].Diffuse   = mat.Diffuse;
                new_materials[i].Shininess = mat.Shininess;
                new_materials[i].Specular  = mat.Specular;
                new_materials[i].Trans     = mat.Trans;
                new_materials[i].setTextureIdForCopy(mat.TextureId);

                i++;
            }

            i = 0;
            foreach (Triangle indice in e.indices)
            {
                Jusin.ThreeDLib.ModelBase.Triangle tri = new Jusin.ThreeDLib.ModelBase.Triangle(new_vertexes[indice.vertex1], new_vertexes[indice.vertex2], new_vertexes[indice.vertex3]);
                tri.material     = new_materials[e.mat_to_indices[i]];
                new_triangles[i] = tri;
                i++;
            }

            i = 0;
            foreach (TexCoord coord in e.texcoords)
            {
                new_texcoords[i].U        = coord.U;
                new_texcoords[i].V        = coord.V;
                new_vertexes[i].tex_coord = new_texcoords[i];
                i++;
            }
            e_base.vertices  = new_vertexes;
            e_base.materials = new_materials;
            e_base.triangles = new_triangles;
            e_base.normed    = e.Normalized;
            return(e_base);
        }