Skip to content

Latest commit

 

History

History
 
 

common

Silicon Studio .NET

SiliconStudio .NET is a collection of shared C#/.NET code that is project independent.

Folders and projects layout

###core###

  • SiliconStudio.Core: Reference counting, dependency property system (PropertyContainer/PropertyKey), low-level serialization, low-level memory operations (Utilities and NativeStream).
  • SiliconStudio.Core.Mathematics: Mathematics library (despite its name, no dependencies on SiliconStudio.Core).
  • SiliconStudio.Core.IO: Virtual File System.
  • SiliconStudio.Core.Serialization: High-level serialization and git-like CAS storage system.
  • SiliconStudio.MicroThreading: Micro-threading library based on C# 5.0 async (a.k.a. stackless programming)
  • SiliconStudio.AssemblyProcessor: Internal tool used to patch assemblies to add various features, such as Serialization auto-generation, various memory/pinning operations, module initializers, etc...

###presentation###

  • SiliconStudio.Presentation: WPF UI library (themes, controls such as propertygrid, behaviors, etc...)
  • SiliconStudio.SampleApp: Simple property grid example.
  • SiliconStudio.Quantum: Advanced ViewModel library that gives ability to synchronize view-models over network (w/ diff), and at requested time intervals. That way, view models can be defined within engine without any UI dependencies.

###buildengine###

  • SiliconStudio.BuildEngine.Common: Common parts of the build engine. It can be reused to add new build steps, build commands, and also to build a new custom build engine client.
  • SiliconStudio.BuildEngine: Default implementation of build engine tool (executable)
  • SiliconStudio.BuildEngine.Monitor: WPF Display live results of build engine (similar to IncrediBuild)
  • SiliconStudio.BuildEngine.Editor: WPF Build engine rules editor and used by most projects.

###shaders###

  • Irony: Parsing library, used by SiliconStudio.Shaders. Should later be replaced by ANTLR4.
  • SiliconStudio.Shaders: Shader parsing, type analysis and conversion library (used by HLSL->GLSL and Paradox Shader Language)

###targets###

  • MSBuild target files to create easily cross-platform solutions (Android, iOS, WinRT, WinPhone, etc...), and define behaviors and targets globally. Extensible.

Use in your project

###Source repository###

There is two options to integrate this repository in your own repository:

###Basic use###

Simply add the projects you want to use directly in your Visual Studio solution.

###Optional: Activate assembly processor###

If you want to use auto-generated Serialization code, some of Utilities functions or ModuleInitializer, you need to use SiliconStudio.AssemblyProcessor.

Steps:

  • Include both SiliconStudio.AssemblyProcessor and SiliconStudio.AssemblyProcessor.Common in your solution.
  • Add either a SiliconStudio.PostSettings.Local.targets or a YourSolutionName.PostSettings.Local.targets in your solution folder, with this content:
<!-- Build file pre-included automatically by all projects in the solution -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <!-- Enable assembly processor -->
    <SiliconStudioAssemblyProcessorGlobal>true</SiliconStudioAssemblyProcessorGlobal>
  </PropertyGroup>
</Project>