public override void WriteToFile(MemoryStream stream, bool isBigEndian)
 {
     base.WriteToFile(stream, isBigEndian);
     stream.WriteByte(Unk19);
     stream.Write(Unk20, isBigEndian);
     stream.Write(Unk21, isBigEndian);
     Transform1.WriteToFile(stream, isBigEndian);
     stream.Write(Unk22, isBigEndian);
     UpdateSize(stream, isBigEndian);
 }
        public MainViewModel()
        {
            EffectsManager = new DefaultEffectsManager();
            Title          = "Material Demo";
            this.Camera    = new PerspectiveCamera {
                Position = new Point3D(-30, 30, -30), LookDirection = new Vector3D(30, -30, 30), UpDirection = new Vector3D(0, 1, 0)
            };

            var builder = new MeshBuilder();

            builder.AddBox(new Vector3(0, -6, 0), 200, 2, 100);

            Floor = builder.ToMesh();

            builder = new MeshBuilder();
            builder.AddSphere(Vector3.Zero, 2);

            LoadObj(@"shaderBall\shaderBall.obj");

            EnvironmentMap = LoadFileToMemory("Cubemap_Grandcanyon.dds");

            ColorStripeMaterial.ColorStripeX = GetGradients(new Color4(1, 0, 0, 1), new Color4(0, 1, 0, 1), new Color4(0, 0, 1, 1), 48).ToList();
            ColorStripeMaterial.ColorStripeY = GetGradients(new Color4(1, 1, 0, 1), new Color4(0, 1, 1, 1), new Color4(1, 0, 1, 1), 48).ToList();

            MeshTitles = new BillboardText3D();
            MeshTitles.TextInfo.Add(new TextInfo("Blinn", Transform1.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("Normal", Transform2.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("Diffuse", Transform3.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("Position", Transform4.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("VertexColor", Transform5.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            MeshTitles.TextInfo.Add(new TextInfo("ColorStripe", Transform6.ToVector3())
            {
                Scale = 0.08f, Background = new Color4(1, 1, 1, 1)
            });
            (FloorMaterial as PhongMaterial).RenderShadowMap = true;
        }
示例#3
0
        public List <byte> Write()
        {
            List <byte> bytes = new List <byte>();

            bytes.AddRange(Transform1.Write());
            bytes.AddRange(Transform2.Write());
            bytes.AddRange(Transform3.Write());
            bytes.AddRange(Transform4.Write());
            bytes.AddRange(Transform5.Write());

            if (bytes.Count != 320)
            {
                throw new InvalidDataException("FPF_SubEntry is an invalid size.");
            }
            return(bytes);
        }
示例#4
0
 public override void SetTInterval(double tmin, double tmax)
 {
     this.tmin       = tmin;
     this.tmax       = tmax;
     this.ttransform = new Transform1(this.tmin, this.tmax, this.l0, this.l1);
 }
示例#5
0
 public override void SetTInterval(double tmin, double tmax)
 {
     this.tmin       = tmin;
     this.tmax       = tmax;
     this.ttransform = new Transform1(this.TMin, this.TMax, 0, 2 * SysMath.PI);
 }