idTech4.Renderer.idRenderModel_Static.MakeDefault C# (CSharp) Method

MakeDefault() public method

public MakeDefault ( ) : void
return void
		public override void MakeDefault()
		{
			if(this.Disposed == true)
			{
				throw new ObjectDisposedException(this.GetType().Name);
			}

			_defaulted = true;

			// throw out any surfaces we already have
			Purge();

			// create one new surface
			RenderModelSurface surf = new RenderModelSurface();
			surf.Material = idE.RenderSystem.DefaultMaterial;
			surf.Geometry = new Surface();
			surf.Geometry.Vertices = new Vertex[24];
			surf.Geometry.Indexes = new int[36];

			AddCubeFace(surf.Geometry, 0, new Vector3(-1, 1, 1), new Vector3(1, 1, 1), new Vector3(1, -1, 1), new Vector3(-1, -1, 1));
			AddCubeFace(surf.Geometry, 1, new Vector3(-1, 1, -1), new Vector3(-1, -1, -1), new Vector3(1, -1, -1), new Vector3(-1, 1, -1));

			AddCubeFace(surf.Geometry, 2, new Vector3(1, -1, 1), new Vector3(1, 1, 1), new Vector3(1, 1, -1), new Vector3(1, -1, -1));
			AddCubeFace(surf.Geometry, 3, new Vector3(-1, -1, 1), new Vector3(-1, -1, -1), new Vector3(-1, 1, -1), new Vector3(-1, 1, 1));

			AddCubeFace(surf.Geometry, 4, new Vector3(-1, -1, 1), new Vector3(1, -1, 1), new Vector3(1, -1, -1), new Vector3(-1, -1, -1));
			AddCubeFace(surf.Geometry, 5, new Vector3(-1, 1, 1), new Vector3(-1, 1, -1), new Vector3(1, 1, -1), new Vector3(1, 1, 1));

			surf.Geometry.GenerateNormals = true;

			AddSurface(surf);
			FinishSurfaces();
		}

Usage Example

        public void Init()
        {
            // TODO: cmds

            /*cmdSystem->AddCommand( "listModels", ListModels_f, CMD_FL_RENDERER, "lists all models" );
             * cmdSystem->AddCommand( "printModel", PrintModel_f, CMD_FL_RENDERER, "prints model info", idCmdSystem::ArgCompletion_ModelName );
             * cmdSystem->AddCommand( "reloadModels", ReloadModels_f, CMD_FL_RENDERER|CMD_FL_CHEAT, "reloads models" );
             * cmdSystem->AddCommand( "touchModel", TouchModel_f, CMD_FL_RENDERER, "touches a model", idCmdSystem::ArgCompletion_ModelName );*/

            _insideLevelLoad = false;

            // create a default model
            idRenderModel_Static model = new idRenderModel_Static();

            model.InitEmpty("_DEFAULT");
            model.MakeDefault();
            model.IsLevelLoadReferenced = true;

            _defaultModel = model;

            AddModel(model);

            // create the beam model
            // TODO: beam

            /*idRenderModelStatic *beam = new idRenderModelBeam;
             * beam->InitEmpty( "_BEAM" );
             * beam->SetLevelLoadReferenced( true );
             * beamModel = beam;
             * AddModel( beam );*/

            // TODO: sprite

            /*idRenderModelStatic *sprite = new idRenderModelSprite;
             * sprite->InitEmpty( "_SPRITE" );
             * sprite->SetLevelLoadReferenced( true );
             * spriteModel = sprite;
             * AddModel( sprite );*/
        }
All Usage Examples Of idTech4.Renderer.idRenderModel_Static::MakeDefault