ReadData() public static method

public static ReadData ( RawModel m, int res ) : void
m RawModel
res int
return void
コード例 #1
0
ファイル: Game1.cs プロジェクト: z80/prototyping
        protected override void Initialize()
        {
            AdvancingFrontVIS2006.AdvancingFrontVIS2006.GetIdealEdgeLength(0, (Resolution / 2 - 2), 0);

            //DualMarchingSquaresNeilson.MarchingSquaresTableGenerator.PrintCaseTable();

            ModelIndex = -1;
            if (ModelIndex > -1)
            {
                Sampler.ReadData(Models[ModelIndex], Resolution);
            }

            float n = SimplexNoise.Noise(0, 0);

            RState          = new RasterizerState();
            RState.CullMode = (Sampler.ImageData != null ? CullMode.CullCounterClockwiseFace : CullMode.CullClockwiseFace);
            GraphicsDevice.RasterizerState     = RState;
            graphics.PreferredBackBufferWidth  = 1600;
            graphics.PreferredBackBufferHeight = 900;
            graphics.PreferMultiSampling       = true;
            graphics.ApplyChanges();

            IsMouseVisible = true;

            //effect = new BasicEffect(GraphicsDevice);
            reg_effect = Content.Load <Effect>("ShaderRegular");
            reg_effect.Parameters["ColorEnabled"].SetValue(true);
            dn_effect = Content.Load <Effect>("ShaderDN");
            dn_effect.Parameters["ColorEnabled"].SetValue(true);
            wire_effect = Content.Load <Effect>("WireShader");


            QualityIndex = 0;
            NextAlgorithm();

            //effect.VertexColorEnabled = true;

            Camera            = new Camera(GraphicsDevice, new Vector3(-Resolution, Resolution, -Resolution), 1f);
            Camera.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45), (float)graphics.PreferredBackBufferWidth / (float)graphics.PreferredBackBufferHeight, 0.1f, 1000.0f);
            if (SelectedAlgorithm.Is3D)
            {
                Camera.Update(true);
                //effect.View = Camera.View;
                reg_effect.Parameters["View"].SetValue(Camera.View);
                reg_effect.Parameters["Projection"].SetValue(Camera.Projection);
                dn_effect.Parameters["View"].SetValue(Camera.View);
                dn_effect.Parameters["Projection"].SetValue(Camera.Projection);
            }
            last_state = Keyboard.GetState();

            DrawMode      = Isosurface.DrawModes.Mesh;
            WireframeMode = WireframeModes.Fill;

            base.Initialize();
        }
コード例 #2
0
        protected override void Initialize()
        {
            //DualMarchingSquaresNeilson.MarchingSquaresTableGenerator.PrintCaseTable();

            ModelIndex = -1;
            if (ModelIndex > -1)
            {
                Sampler.ReadData(Models[ModelIndex], Resolution);
            }

            float n = SimplexNoise.Noise(0, 0);

            RState          = new RasterizerState();
            RState.CullMode = (Sampler.ImageData != null ? CullMode.CullCounterClockwiseFace : CullMode.CullClockwiseFace);
            GraphicsDevice.RasterizerState     = RState;
            graphics.PreferredBackBufferWidth  = 1600;
            graphics.PreferredBackBufferHeight = 900;
            graphics.PreferMultiSampling       = true;
            graphics.ApplyChanges();

            IsMouseVisible = true;

            effect = new BasicEffect(GraphicsDevice);

            QualityIndex = 0;
            NextAlgorithm();

            effect.VertexColorEnabled = true;

            Camera = new Camera(GraphicsDevice, new Vector3(-Resolution, Resolution, -Resolution), 1f);
            if (SelectedAlgorithm.Is3D)
            {
                Camera.Update(true);
                effect.View = Camera.View;
            }
            last_state = Keyboard.GetState();

            DrawMode      = Isosurface.DrawModes.Mesh;
            WireframeMode = WireframeModes.Fill;

            base.Initialize();
        }
コード例 #3
0
        protected override void Update(GameTime gameTime)
        {
            // Allows the game to exit
            if (Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                this.Exit();
            }

            if (!last_state.IsKeyDown(Keys.Space) && Keyboard.GetState().IsKeyDown(Keys.Space))
            {
                QualityIndex = (QualityIndex + 1) % Qualities.Length;
                UpdateQuality();
            }
            if (!last_state.IsKeyDown(Keys.Tab) && Keyboard.GetState().IsKeyDown(Keys.Tab))
            {
                NextAlgorithm();
            }

            if (!last_state.IsKeyDown(Keys.F) && Keyboard.GetState().IsKeyDown(Keys.F))
            {
                SelectedAlgorithm = (ISurfaceAlgorithm)Activator.CreateInstance(SelectedAlgorithm.GetType(), GraphicsDevice, Resolution, TileSize);
                ModelIndex        = (ModelIndex + 1) % Models.Length;
                Sampler.ReadData(Models[ModelIndex], Resolution);
                UpdateQuality();
            }

            if (!last_state.IsKeyDown(Keys.D1) && Keyboard.GetState().IsKeyDown(Keys.D1))
            {
                if (DrawMode != DrawModes.Mesh)
                {
                    DrawMode ^= DrawModes.Mesh;
                }
            }
            if (!last_state.IsKeyDown(Keys.D2) && Keyboard.GetState().IsKeyDown(Keys.D2))
            {
                if (DrawMode != DrawModes.Outline)
                {
                    DrawMode ^= DrawModes.Outline;
                }
            }

            if (!last_state.IsKeyDown(Keys.D3) && Keyboard.GetState().IsKeyDown(Keys.D3))
            {
                if (WireframeMode == WireframeModes.Fill)
                {
                    WireframeMode = WireframeModes.Fill | WireframeModes.Wireframe;
                }
                else if (WireframeMode == (WireframeModes.Fill | WireframeModes.Wireframe))
                {
                    WireframeMode = WireframeModes.Wireframe;
                }
                else
                {
                    WireframeMode = WireframeModes.Fill;
                }

                if (WireframeMode != (WireframeModes.Fill | WireframeModes.Wireframe))
                {
                    RState          = new RasterizerState();
                    RState.CullMode = CullMode.None;
                    RState.FillMode = (WireframeMode == WireframeModes.Fill ? FillMode.Solid : FillMode.WireFrame);
                    GraphicsDevice.RasterizerState = RState;
                }
            }

            if (!last_state.IsKeyDown(Keys.C) && Keyboard.GetState().IsKeyDown(Keys.C))
            {
                Camera.MouseLocked = !Camera.MouseLocked;
            }

            if (!last_state.IsKeyDown(Keys.M) && Keyboard.GetState().IsKeyDown(Keys.M))
            {
                if (SelectedAlgorithm.GetType() == typeof(ManifoldDC.MDC3D))
                {
                    ((ManifoldDC.MDC3D)SelectedAlgorithm).EnforceManifold = !((ManifoldDC.MDC3D)SelectedAlgorithm).EnforceManifold;
                    UpdateQuality();
                }
            }

            if (SelectedAlgorithm.Is3D)
            {
                Camera.Update(true);
                effect.View = Camera.View;
            }

            last_state = Keyboard.GetState();

            base.Update(gameTime);
        }