v0.2.0 - Improved Materials
Released 2021-10-09
This release saw a signifigant amount of cpu side optimization.
In a 50k object scene, the render loop went from taking 16ms to taking 1.75ms, a 9x speedup
Added
- rend3: Added an explicit dependency on wgpu-core and wgpu-hal to ensure bug-fixes are included.
- rend3-gltf: Add the ability to turn off image's default features.
- rend3-gltf: Add support for ktx2 and dds images.
- rend3-gltf: Expose implementation functions
- rend3-pbr-bake: Added crate for automatic light baking to a texture.
Changed
- rend3: IMPORTANT: You now must call output.present() in order for things to show up on screen.
- rend3:
Material
is now a trait and render routines can specify their own material.rend3::types::Material
is nowrend3_pbr::material::PbrMaterial
Renderer::update_material
no longer takes aMaterialChange
, it takes a completely new material.
- rend3: renderlists refactored to have a generic Input and Output.
Renderer::renderer
passes through the Input and Output.- OutputFrame is now a user-side only utility.
- rend3: AddTexture* will now create/upload the texture before the call returns.
- rend3: ResourceHandle now prints the actual reference count while debug printing.
- rend3:
CameraProjection
now deals with view matrix, instead of location/yaw/pitch @scoopr - rend3: Update to glam 0.19 @scoopr
- rend3 & rend3-gltf: update to wgpu 0.11
- rend3-pbr: Input is of type
()
and Output is type&TextureView
. - rend3-gltf: Added labels to all the different data types.
- rend3-gltf: Errors now use a
SsoString
instead of aString
for the URI. - rend3-gltf: All implementation functions no longer write into a single
&mut LoadedGltfScene
, but return their results directly.
Fixed
- rend3: No longer require pipeline rebuilds when bind group length updates.
- rend3-pbr: fix rendering of cutout objects in shadow passes.
- rend3-pbr: remove redundant material changes in cpu mode.