public void InitModel(ref ComponentModelStatic modelComp) { if (modelComp.ModelReferenceType == ModelReferenceType.TEMPLATE) { CreateModelFromTemplate(ref modelComp); } }
private void CreateModels() { var v00 = new Vector3(0, 8, 0); var v01 = new Vector3(5f, 5f, 5f); var v02 = new Vector2(0.0f, 0.0f); var v03 = new Vector2(1.0f, 1.0f); var v21 = Color4.White; Random r = new Random(); _staticModelComps[0] = new ComponentModelStatic(ModelProperties.VERTICES_NORMALS_COLORS_ELEMENTS, ModelReferenceType.DISCRETE, "TestCube", ConstructionFlags.VECTOR3_OFFSET | ConstructionFlags.COLOR4_COLOR | ConstructionFlags.VECTOR3_SCALE, new Vector3(0, 0.5f, 0), new Vector3(5f, 5f, 5f), v21); Texture t = TextureManager.GetInstance().GetTexture("wood"); float width = t.Width; float height = t.Height; var v10 = new Vector3(0); var v14 = new Vector3(1 / 20f * t.AspectRatio, 0f, 1 / 20f); var v11 = new Vector3(100f, 0f, 100f); var v12 = t.SubTextureLocations[0].UVOffset; var v13 = t.SubTextureLocations[0].UVScale; _staticModelComps[1] = new ComponentModelStatic(ModelProperties.VERTICES_UVS_ELEMENTS, ModelReferenceType.TEMPLATE, ModelTemplates.TemplatePlaneXZ, ConstructionFlags.VECTOR3_OFFSET | ConstructionFlags.FLOAT_ROTATION_Y | ConstructionFlags.VECTOR3_SCALE | ConstructionFlags.VECTOR3_DIMENSIONS | ConstructionFlags.VECTOR2_UV_OFFSET | ConstructionFlags.VECTOR2_UV_SCALE, v10, 3.1415927f / 2f, v14, v11, v12, v13); }
private void CreateModelFromTemplate(ref ComponentModelStatic modelComp) { Model model = GetModelFromTemplate(ref modelComp); string name = GetValidNameForModel(Model.GetTemplateName(modelComp.TemplateID)); modelComp.ModelID = name; if (model != null) { _modelLibrary.Add(name, model); } }
public Model GetModel(ref ComponentModelStatic modelComp) { if (modelComp.ModelReferenceType == ModelReferenceType.TEMPLATE) { if (!ModelExists(modelComp.ModelID)) { CreateModelFromTemplate(ref modelComp); } } return(GetModel(modelComp.ModelID)); }
private Model GetModelFromTemplate(ref ComponentModelStatic modelComp) { switch (modelComp.TemplateID) { case (ModelTemplates.TemplatePlaneXZ): return(Model.CreateTemplatePlaneXZ(ref modelComp)); case (ModelTemplates.TemplatePlaneXY): return(Model.CreateTemplatePlaneXY(ref modelComp)); case (ModelTemplates.TemplatePlaneYZ): return(Model.CreateTemplatePlaneYZ(ref modelComp)); } return(null); }