uwal

Unopinionated WebGPU Abstraction Library

MIT License

Downloads
155
Stars
1
uwal - Version 0.0.8 Latest Release

Published by UstymUkhman about 2 months ago

Updates

  • Add TypeScript type declarations.
  • Add TEXTURE.USAGE constant with a RENDER entry.
  • Add CreateUniformBuffer pipeline method which returns a uniform buffer and a uniform buffer layout views.

Changes

  • Render pass descriptor with a default color attachment will be created automatically when a render pipeline is initialized.
  • descriptor.module in CreatePipeline method is now optional and will be auto generated from and empty shader if omited.
  • Render and Compute CreatePipeline method can now accept a GPUShaderModule argument instead of descriptor.
  • Renderer.CreatePipeline descriptor argument is now optional.
  • Texture.CreateTextureFromSource options argument is now optional and its format entry defaults to "rgba8unorm" white usage defaults to TEXTURE.USAGE.RENDER.
  • If options argument is omited in Texture.CopyImageToTexture, a new texture will be created with its default options from Texture.CreateTextureFromSource.

Full Changelog: https://github.com/UstymUkhman/uwal/compare/v0.0.7...v0.0.8

uwal - Version 0.0.7

Published by UstymUkhman about 2 months ago

Updates

  • Added Color alpha getters and setters and Premultiply method
  • Added Render and Compute pipeline instances type exports
  • Added support for MultisampleTexture
  • Added Renderer.CreateBlendComponent method
  • Added Renderer.CreateStencilFaceState method
  • Added Renderer.CreateDepthStencilState method
  • Added Renderer.CreateMultisampleState method
  • Added Renderer.CreateVertexBufferLayout method
  • Added CreateUniformBufferLayout pipeline method
  • Added support for BlendConstant in RenderPipeline
  • Added Renderer.ConfigureContext method
  • Added basic BLEND_STATE options

Changes

  • Converted Texture.SetRenderer method to Texture.Renderer setter
  • Renamed Renderer.CreateFragmentColorTarget to Renderer.CreateTargetState
  • Deprecated Renderer.CreateVertexBufferAttribute
  • Made shader parameter optional in CreateShaderModule method (defaults to an empty shader)
  • mipmaps option defaults to true when calling Texture.CreateTextureFromSource method
  • Replaced textureName with optional Renderer parameter when calling Texture constructor
  • Renderer.CreateColorAttachment now accepts Color instance for the clearValue parameter
  • Renderer.CreatePipeline now accepts an optional flag to be set in the current pass (at render time)

Lessons

Full Changelog: https://github.com/UstymUkhman/uwal/compare/v0.0.6...v0.0.7

uwal - v0.0.6

Published by UstymUkhman 3 months ago

Version 0.0.6

Updates

  • Added Save, Reset and RestorePipelineState base pipeline methods
  • Added CreateDepthAttachment and CreateStencilAttachment render pipeline methods
  • Added ImportExternalTexture and GenerateCubeMipmaps texture methods
  • Added DegreesToRadians and RadiansToDegrees util functions
  • Added Cube primitive class
  • Added Shape.Render method
  • Added Submit compute pipeline method
  • Added PreferredCanvasFormat static UWAL getter
  • Splitted SetAdapterOptions into PowerPreference and ForceFallbackAdapter static UWAL setters
  • Splitted SetDeviceDescriptor into DescriptorLabel, RequiredLimits static UWAL setters and SetRequiredFeatures static UWAL method

Changes

  • Upgrade wgpu-matrix to version ^3.0.1
  • Added depth texture getter and authomatic updates in RenderPipeline
  • Extended GPUSamplerDescriptor type with custom address & filter options
  • Extended Color class to accept 4 color channels in the constructor
  • Shape.Color setter can now accept Color class instance
  • Shape matrix components use Float32Arrays but their setters also accept regular arrays
  • Removed SetAdapterOptions and SetDeviceDescriptor UWAL methods
  • Added submit paramenter in Compute method of ComputePipeline

Examples

Lessons

Full Changelog: https://github.com/UstymUkhman/uwal/compare/v0.0.5...v0.0.6

uwal - v0.0.5

Published by UstymUkhman 4 months ago

Version 0.0.5

Updates

  • Add Color util class
  • Add Texture class and constants
  • Add UseCurrentTextureView option in Render Pipeline
  • Add RestoreBindGroups and CopyBindGroups pipeline methods
  • Add bind group active state and SetActiveBindGroups pipeline method

(Not Breaking) Changes

  • Add optional dynamicOffsets to bind groups
  • Add optional offset and size to vertex buffers
  • Split Shape shader into vertex and fragment chunks
  • Add optional module property to CreatePipeline parameter
  • Use "clear" as default loadOp when creating color attachment

Examples

Lessons

Full Changelog: https://github.com/UstymUkhman/uwal/compare/v0.0.4...v0.0.5

uwal - v0.0.4

Published by UstymUkhman 5 months ago

Version 0.0.4

Updates

  • Add (2D) Shape APIs
  • Add Resolution shader
  • Add new methods in RenderPipeline

Changes

  • Updated and renamed Pipeline APIs
  • Improved errors and constants typings
  • Moved canvas APIs to RenderPipeline

Examples

Full Changelog: https://github.com/UstymUkhman/uwal/compare/v0.0.3...v0.0.4

uwal - v0.0.3

Published by UstymUkhman 6 months ago

Version 0.0.3

Updates

  • Add Quad shader
  • Add Vertex and Index Buffers
  • Improve UWAL.Destroy method
  • Add Pipeline and BindGroup Layout APIs
  • Improve Render and Compute pipeline APIs

Changes

  • Renamed AddBindGroups to SetBindGroups

Examples

Lessons

Full Changelog: https://github.com/UstymUkhman/uwal/compare/v0.0.2...v0.0.3

uwal - v0.0.2

Published by UstymUkhman 6 months ago

Version 0.0.2

Updates

  • Improve Render and Compute pipeline APIs
  • Add default label to GPUObjectDescriptorBase interfaces
  • Deploy library preview website

Examples

Lessons

Package Rankings
Top 36.89% on Npmjs.org