예제 #1
0
    public SSF FS(SSV2F v)
    {
        SSF o = new SSF();

        foreach (PointLight item in Lighting.PointLights)
        {
            Vector3 i = item.Position - v.WorldPosition;
            //Vector3 re = Vector3.Normalize(ShaderMath.GetReflection(i, v.Normal));
            Vector3 view = Vector3.Normalize(Matrixs.CameraPosition - v.WorldPosition);
            Vector3 h    = Vector3.Normalize(view + i);

            //Phong
            //o.Color += ShaderMath.ColorMul(item.Color, Spscular) * MathF.Pow(ShaderMath.Max(0, Vector3.Dot(re, view)), Gloss);

            //Blinn-Phong
            o.Color += ShaderMath.ColorMul(item.Color, Spscular) * MathF.Pow(ShaderMath.Max(0, Vector3.Dot(v.Normal, h)), Gloss);

            //Diffuse
            o.Color += item.Color * Diffuse * ShaderMath.Max(0, Vector3.Dot(v.Normal, i));
        }
        o.Color += Lighting.AmbientColor;
        //Console.WriteLine(o.Color);
        o.Color = ShaderMath.ColorMul(o.Color, Tex.Value(v.UV));
        return(o);
    }
예제 #2
0
 public static SSF GenerateSensorModel(string numString, string denString, double ts)
 {
     double[] num, denom;
     if (ParseContiniousTFString(numString, denString, out num, out denom))
     {
         return(SSF.C2DSS(new DenseVector(num), new DenseVector(denom), 1.0, ts));
     }
     throw new ArgumentException("Numerator and/or Denominator are in invalid format");
 }
예제 #3
0
        public void SSPRead(string path)
        {
            BinaryReader br = new BinaryReader(File.OpenRead(path));

            br.BaseStream.Seek(0x08, SeekOrigin.Begin);
            unknownVal = br.ReadInt32();


            int file_count          = 0;
            int data_table_addr     = 0;
            int filename_table_addr = 0;


            file_count = br.ReadInt32();
            br.BaseStream.Seek(0x18, SeekOrigin.Begin);
            data_table_addr     = br.ReadInt32();
            filename_table_addr = br.ReadInt32();



            int data_addr = 0;
            int data_size = 0;
            int data_base_offset_entry = 0;


            for (int i = 0; i < file_count; i++)
            {
                data_addr = 0;
                data_size = 0;
                data_base_offset_entry = data_table_addr + i * 8;

                br.BaseStream.Seek(data_base_offset_entry, SeekOrigin.Begin);
                data_addr = br.ReadInt32();
                data_size = br.ReadInt32();

                br.BaseStream.Seek(data_base_offset_entry + data_addr, SeekOrigin.Begin);
                byte[] data = br.ReadBytes(data_size);



                SSF df = new SSF(data);
                Souls.Add(df);
            }



            br.Close();
        }
예제 #4
0
 public extern static void SHGetSetSettings(ref SHELLSTATE lpss, SSF dwMask, bool bSet);
예제 #5
0
		public extern static void SHGetSetSettings(ref SHELLSTATE lpss, SSF dwMask, bool bSet);
예제 #6
0
 private static extern void SHGetSetSettings(ref SHELLSTATE lpss, SSF dwMask, bool bSet);
        public CollDataContextMenu() : base()
        {
            MenuItem Export = new MenuItem("Export As SVG");

            Export.Click += (sender, args) =>
            {
                using (SaveFileDialog sd = new SaveFileDialog())
                {
                    sd.Filter = "Scalable Vector Graphics (.svg)|*.svg";

                    if (sd.ShowDialog() == DialogResult.OK)
                    {
                        Converters.ConvSVG.CollDataToSVG(sd.FileName, MainForm.SelectedDataNode.Accessor as SBM_Coll_Data);
                    }
                }
            };
            MenuItems.Add(Export);


            MenuItem ImportSSF = new MenuItem("Import SSF");

            ImportSSF.Click += (sender, args) =>
            {
                using (OpenFileDialog sd = new OpenFileDialog())
                {
                    sd.Filter = "Smash Stage File (.ssf)|*.ssf";

                    if (sd.ShowDialog() == DialogResult.OK)
                    {
                        SSFConverter.ImportCollDataFromSSF(MainForm.SelectedDataNode.Accessor as SBM_Coll_Data, SSF.Open(sd.FileName));
                    }
                }
            };
            MenuItems.Add(ImportSSF);

            MenuItem ExportSSF = new MenuItem("Export SSF");

            ExportSSF.Click += (sender, args) =>
            {
                SSFConverter.ExportCollDataToSSF(MainForm.SelectedDataNode.Accessor as SBM_Coll_Data);
            };
            MenuItems.Add(ExportSSF);
        }