VeldridGen 0.1.11
dotnet add package VeldridGen --version 0.1.11
NuGet\Install-Package VeldridGen -Version 0.1.11
<PackageReference Include="VeldridGen" Version="0.1.11" />
paket add VeldridGen --version 0.1.11
#r "nuget: VeldridGen, 0.1.11"
// Install VeldridGen as a Cake Addin #addin nuget:?package=VeldridGen&version=0.1.11 // Install VeldridGen as a Cake Tool #tool nuget:?package=VeldridGen&version=0.1.11
VeldridGen
VeldridGen is an experimental library focused on using .NET Source Generators to improve the development experience when using Veldrid.
Partial classes defining the inputs/outputs of shaders, the layout of resource sets, the layout of uniform buffers etc can be written in a concise form and the corresponding Veldrid descriptor structs, convenience properties, GLSL header file etc will be auto-generated. This should allow changes to be made in only one place rather than manually ensuring that the GLSL definitions match up with the struct layouts and descriptors etc.
As an example, the classes in CommonResources.cs and SpriteShader.cs provide a minimal description of the shaders and resources required for a sprite batcher. The results of code generation can be seen here, which allows the renderer class to be simple and straightforward: SpriteRenderer.cs.
Note that compiling the solution will result in a small portion of the generated code being run automatically: Example.TestApp is run as a post-build event to populate the .h.vert and .h.frag shader headers.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.CSharp (>= 4.9.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on VeldridGen:
Repository | Stars |
---|---|
csinkers/ualbion
A remake of the 1995 RPG Albion (requires data from an install of the original game)
|