Exemple #1
0
        internal DrawPathing(GraphicsDevice gd, MaterialLib.StuffKeeper sk)
        {
            mGD     = gd;
            mMatLib = new MatLib(gd, sk);

            mLightDir = Mathery.RandomDirection(mRand);

            Vector4 lightColor2 = Vector4.One * 0.8f;
            Vector4 lightColor3 = Vector4.One * 0.6f;

            lightColor2.W = lightColor3.W = 1f;

            mMatLib.CreateMaterial("LevelGeometry");
            mMatLib.SetMaterialEffect("LevelGeometry", "Static.fx");
            mMatLib.SetMaterialTechnique("LevelGeometry", "TriVColorSolidSpec");
            mMatLib.SetMaterialParameter("LevelGeometry", "mLightColor0", Vector4.One);
            mMatLib.SetMaterialParameter("LevelGeometry", "mLightColor1", lightColor2);
            mMatLib.SetMaterialParameter("LevelGeometry", "mLightColor2", lightColor3);
            mMatLib.SetMaterialParameter("LevelGeometry", "mSolidColour", Vector4.One);
            mMatLib.SetMaterialParameter("LevelGeometry", "mSpecPower", 1);
            mMatLib.SetMaterialParameter("LevelGeometry", "mSpecColor", Vector4.One);
            mMatLib.SetMaterialParameter("LevelGeometry", "mWorld", Matrix.Identity);
        }
Exemple #2
0
        public DrawStuff(GraphicsDevice gd, MaterialLib.StuffKeeper sk)
        {
            mMatLib = new MatLib(gd, sk);

            mLightDir = Mathery.RandomDirection(mRand);

            Vector4 lightColor2 = Vector4.One * 0.8f;
            Vector4 lightColor3 = Vector4.One * 0.6f;

            lightColor2.W = lightColor3.W = 1f;

            mMatLib.CreateMaterial("FacePoints");
            mMatLib.SetMaterialEffect("FacePoints", "Static.fx");
            mMatLib.SetMaterialTechnique("FacePoints", "TriVColorSolidSpec");
            mMatLib.SetMaterialParameter("FacePoints", "mLightColor0", Vector4.One);
            mMatLib.SetMaterialParameter("FacePoints", "mLightColor1", lightColor2);
            mMatLib.SetMaterialParameter("FacePoints", "mLightColor2", lightColor3);
            mMatLib.SetMaterialParameter("FacePoints", "mSolidColour", Vector4.One);
            mMatLib.SetMaterialParameter("FacePoints", "mSpecPower", 1);
            mMatLib.SetMaterialParameter("FacePoints", "mSpecColor", Vector4.One);
            mMatLib.SetMaterialParameter("FacePoints", "mWorld", Matrix.Identity);

            mMatLib.CreateMaterial("LMPlane");
            mMatLib.SetMaterialEffect("LMPlane", "Static.fx");
            mMatLib.SetMaterialTechnique("LMPlane", "TriTex0");
            mMatLib.SetMaterialParameter("LMPlane", "mLightColor0", Vector4.One);
            mMatLib.SetMaterialParameter("LMPlane", "mLightColor1", lightColor2);
            mMatLib.SetMaterialParameter("LMPlane", "mLightColor2", lightColor3);

            mPlaneProj   = Matrix.OrthoOffCenterLH(0, gd.RendForm.Width, gd.RendForm.Height, 0, 0.1f, 5f);
            mPlaneWorld  = Matrix.RotationY(MathF.PI);
            mPlaneWorld *= Matrix.Translation(Vector3.ForwardLH
                                              + Vector3.UnitX * 105f + Vector3.UnitY * 530f);

            mLMPlane = PrimFactory.CreatePlane(gd.GD, 200f);

            //axis boxes
            BoundingBox xBox = Misc.MakeBox(AxisSize, 1f, 1f);
            BoundingBox yBox = Misc.MakeBox(1f, AxisSize, 1f);
            BoundingBox zBox = Misc.MakeBox(1f, 1f, AxisSize);

            xBox.Minimum.X = 0;
            yBox.Minimum.Y = 0;

            mTexU = PrimFactory.CreateCube(gd.GD, xBox);
            mTexV = PrimFactory.CreateCube(gd.GD, yBox);

            Vector4 redColor   = Vector4.One;
            Vector4 greenColor = Vector4.One;
            Vector4 blueColor  = Vector4.One;

            redColor.Y = redColor.Z = greenColor.X = greenColor.Z = blueColor.X = blueColor.Y = 0f;

            //materials for axis
            mMatLib.CreateMaterial("RedAxis");
            mMatLib.SetMaterialEffect("RedAxis", "Static.fx");
            mMatLib.SetMaterialTechnique("RedAxis", "TriSolidSpec");
            mMatLib.SetMaterialParameter("RedAxis", "mLightColor0", Vector4.One);
            mMatLib.SetMaterialParameter("RedAxis", "mLightColor1", lightColor2);
            mMatLib.SetMaterialParameter("RedAxis", "mLightColor2", lightColor3);
            mMatLib.SetMaterialParameter("RedAxis", "mSolidColour", redColor);
            mMatLib.SetMaterialParameter("RedAxis", "mSpecPower", 1);
            mMatLib.SetMaterialParameter("RedAxis", "mSpecColor", Vector4.One);

            mMatLib.CloneMaterial("RedAxis", "GreenAxis");
            mMatLib.CloneMaterial("RedAxis", "BlueAxis");

            mMatLib.SetMaterialParameter("GreenAxis", "mSolidColour", blueColor);
            mMatLib.SetMaterialParameter("BlueAxis", "mSolidColour", greenColor);
        }