Releases: Redninja106/simulationframework
Releases · Redninja106/simulationframework
v0.3.0-alpha.13
- support for matrix array uniforms
- various shader code generation improvements
- buffer pool fixes
SimulationFramework V3 alpha 12
many shader bugfixes
SimulationFramework V3 alpha 11
- Added support for multidimensional arrays in shaders (up to 4 dimensions)
- Added support for
ImmutableArray<T>in shaders - Added explicit array synchronization methods (via
Graphics.SyncArrayandGraphics.UploadArray) - Added
ThreadGroupSizeattribute - Added documentation for some new v3 apis
Gradientnow usesImmutableArray<T>- Internal compute shader and shader buffer handling improvements
- Fixed a shader invalid subgraph error when using chained && or || expressions in conditional statements
- Fixed a shader buffer binding error when using multiple buffers
- Updated Silk.NET and ImGui.NET to the latest available versions
SimulationFramework V3 alpha 10
- internal opengl bindings improvements
- fixed a bug where opengl functions that weren't required were being loaded
- shader compiler bugfixes
0.3.0-alpha.9
- fixed control flow related shader compilation errors
- added
SoundPlayback.PitchMultiplier - fix bug with line rendering using
canvas.Fill() - fixed Polygon.IsSelfIntersecting returning incorrect values
- fixed renderer bug when rendering large amounts of shapes
0.3.0-alpha.8
- readded ICanvas.DrawLines()
- many shader control flow bugfixes
- fixed drawing lines after calling
ICanvas.Fillnot working properly (#74) - other small bugfixes/improvements
0.3.0-alpha.7
- Multiple Shader bug fixes
- Audio bug fixes
- ShaderIntrinsics.AsBool and ShaderIntrinsics.AsInt are now implemented
v0.3.0-alpha.5
Changes:
- instanced rendering
- mipmaps
- huge renderer improvements
- bigfixes
v0.3.0-alpha.4
- Shaders now support goto-like statements (break, continue, early returns)
- Started a renderer rewrite
- Added
IMask:- allows per-pixel masking when rendering
- can be written to and read from directly or filled in using a canvas (see
IMask[int x, int y]andICanvas.WriteMask) - Created using
Graphics.CreateMask
- Added
IDepthMask:- does everything a regular mask does, plus depth testing (useful in 3d rendering)
- pass to
ICanvas.Mask(IMask)to enable depth test. TheIDepthMask.Comparisonproperty configures the comparison used - pass to
ICanvas.WriteMask(IMask)to enable depth write. - don't forget to call
IDepthMask.Clear(1f)each frame before rendering!
- Started the
IGeometryapi:- an
IGeometryis a read-only shape or model - can be created via
Graphics.CreateGeometryand rendered usingICanvas.DrawGeometry
- an
- renamed
TileModetoWrapMode ITexture.GetPixelandITexture.SetPixelare now obselete in favor of the new texture indexerITexture[int x, int y]- Fixed many, many bugs
v0.3.0-alpha.3
Added:
- Custom vertex shaders:
DrawTriangles<T>(draws triangles with a custom vertex type)ICanvas.Fill()overloads which accept aVertexShader(see the RenderCube example)
- Compute shaders (via
ComputeShaderandGraphics.Dispatch) - Vertex shaders accept custom vertex data via a field with a
VertexDataAttribute - Vertex shaders can pass values to the canvas shader (fragment shader) via a field with a
VertexShaderOutputAttribute
Fixed:
- Reimplemented gradients as canvas shaders
- Shader array alignment issues
- Various other bugs and crashes
Known Issues:
- anti aliasing doesn't work when rendering to a texture
- jump statements cause shader compilation errors (early returns, continue, break, etc)
- Texture saving is not yet supported
- Self-Intersecting polygons are not triangulated properly