Exemplo n.º 1
0
        public void RenderChildren(GraphicsDevice gd)
        {
            JadeEffect shader = JadeShaderManager.GetShader(ShaderLabel);

            shader.SetParameters(this);
            foreach (ModelMesh mesh in Model.Meshes)
            {
                gd.Indices = mesh.IndexBuffer;
                shader.Effect.Begin();

                foreach (EffectPass pass in shader.Effect.CurrentTechnique.Passes)
                {
                    pass.Begin();
                    foreach (ModelMeshPart part in mesh.MeshParts)
                    {
                        gd.VertexDeclaration = part.VertexDeclaration;
                        gd.Vertices[0].SetSource(mesh.VertexBuffer, part.StreamOffset, part.VertexStride);

                        gd.Textures[0] = ((BasicEffect)part.Effect).Texture;
                        gd.DrawIndexedPrimitives(PrimitiveType.TriangleList, part.BaseVertex, 0, part.NumVertices, part.StartIndex, part.PrimitiveCount);
                    }
                    pass.End();
                }
                shader.Effect.End();
            }
        }
Exemplo n.º 2
0
        public void Draw(GraphicsDevice gd)
        {
            if (this is IJadeHasMaterial)
            {
                ((IJadeHasMaterial)this).SetMaterialProperties();
            }

            if (this is IJadeRenderable)
            {
                JadeEffect shader = JadeShaderManager.GetShader(ShaderLabel);
                shader.SetParameters(this);

                shader.Effect.Begin();
                foreach (EffectPass pass in shader.Effect.CurrentTechnique.Passes)
                {
                    pass.Begin();
                    ((IJadeRenderable)this).Render(gd);
                    pass.End();
                }
                shader.Effect.End();
            }

            if (this is IJadeChildRenderer)
            {
                ((IJadeChildRenderer)this).RenderChildren(gd);
            }
        }
Exemplo n.º 3
0
 protected override void Draw(GameTime gameTime)
 {
     GraphicsDevice.Clear(Color.CornflowerBlue);
     JadeObjectManager.Draw(GraphicsDevice);
     base.Draw(gameTime);
     JadeShaderManager.PostProcess(GraphicsDevice);
 }
Exemplo n.º 4
0
 protected override void LoadContent()
 {
     JadeCameraManager.LoadContent(GraphicsDevice);
     JadeObjectManager.RootNode.LoadContent(GraphicsDevice, Content);
     JadeShaderManager.LoadContent(GraphicsDevice, Content);
     base.LoadContent();
 }
Exemplo n.º 5
0
        public void SetMaterialProperties()
        {
            Effect effect = JadeShaderManager.GetShader(ShaderLabel).Effect;

            if (effect.Parameters["MaterialDiffuseColor"] != null)
            {
                effect.Parameters["MaterialDiffuseColor"].SetValue(MaterialDiffuseColor);
            }

            if (effect.Parameters["MaterialSpecularColor"] != null)
            {
                effect.Parameters["MaterialSpecularColor"].SetValue(MaterialSpecularColor);
            }

            if (effect.Parameters["MaterialSpecularPower"] != null)
            {
                effect.Parameters["MaterialSpecularPower"].SetValue(MaterialSpecularPower);
            }
        }
Exemplo n.º 6
0
        public void RenderChildren(GraphicsDevice gd)
        {
            JadeEffect shader = JadeShaderManager.GetShader(ShaderLabel);

            shader.Effect.Begin();
            foreach (EffectPass pass in shader.Effect.CurrentTechnique.Passes)
            {
                for (int i = 0; i < 6; i++)
                {
                    Sides[i].SetPosition(JadeCameraManager.ActiveCamera.Position + Offsets[i]);

                    shader.SetParameters(Sides[i]);

                    pass.Begin();
                    Sides[i].Render(gd);
                    pass.End();
                }
            }
            shader.Effect.End();
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            sword.SetScale(new Vector3(0.25f));
            sword.SetPosition(new Vector3(sword.Position.X, sword.Position.Y, sword.Position.Z - 2.5f));

            game.IsMouseVisible = true;

            JadeInputManager.AddDevice(keyboard);
            JadeInputManager.AddDevice(mouse);
            keyboard.OnKeyRelease += keyboard_OnKeyRelease;
            keyboard.OnKeyHeld    += keyboard_OnKeyHeld;
            mouse.OnMove          += mouse_OnMove;
            mouse.OnScroll        += mouse_OnScroll;
            mouse.OnClick         += mouse_OnClick;
            mouse.OnRelease       += mouse_OnRelease;

            JadeShaderManager.AddEffect("BS", basicEffect);
            skybox.ShaderLabel = "BS";
            sword.ShaderLabel  = "BS";

            JadeObjectManager.AddObject(skybox);
            JadeObjectManager.AddObject(sword);
            game.Run();
        }
Exemplo n.º 8
0
 protected override void Initialize()
 {
     JadeShaderManager.Initalize();
     JadeInputManager.Initialize(this);
     base.Initialize();
 }