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); }
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"); }
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(); }
public extern static void SHGetSetSettings(ref SHELLSTATE lpss, SSF dwMask, bool bSet);
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); }