Skip to content

Releases: google/filament

v1.1.0

07 Dec 17:31
Compare
Choose a tag to compare

Summary of changes since v1.0.0:

Features

  • Web: added support for TypeScript, import, and JPEG textures
  • C++ clients can now read KTX textures using the image library
  • matc features are now part of libfilamat to generate materials at runtime
  • Added the ability to set the polygon offset on a material instance
  • Added API to compute tangent frame from vertex data (in VertexBuffer)
  • Added View::setRenderQuality API

Enhancements

  • Added NOOP backend to allow headless regression testing
  • Added compression to filamesh via meshoptimizer
  • Added snorm16 quantization for UV's in filamesh
  • Use smol-v to compress SPIR-V shaders in materials
  • Many Code size and performance optimizations
  • The JavaScript API now supports compressed textures
  • Disabled depth prepass in the WebGL builds
  • Added gltf_viewer sample
  • Introduced resgen tool to embed data in binaries (pre-compiled materials, etc.)

Bug fixes

  • Synchronization fixes: switched to utils::Mutex, fixed sporadic test failures
  • cmgen / mipgen: fixed format in KTX header
  • Fixed texture anisotropy in the Vulkan backend
  • Depth offset and face culling now work in the Vulkan backend
  • Fixed the documentation
  • FADE materials are now properly sorted with TRANSPARENT materials

Sceneform 1.7pr1

01 Dec 00:49
Compare
Choose a tag to compare
Sceneform 1.7pr1 Pre-release
Pre-release

This release of Filament is a check point release towards Sceneform 1.7.

List of changes since v1.0.0:

Features

  • Added the ability to set the polygon offset on a material instance
  • matc features are now part of libfilamat to generate materials at runtime
  • Added API to compute tangent frame from vertex data (in VertexBuffer)
  • Added View::setRenderQuality API. It currently allows the use of an R11G11B10F HDR color buffer instead of RGB[A]16F

Enhancements

  • Use smol-v to compress SPIR-V shaders in materials
  • Many Code size and performance optimizations
  • The JavaScript API now supports compressed textures
  • Disabled depth prepass in the WebGL builds
  • Added gltf_viewer sample
  • Introduced resgen tool to embed data in binaries (pre-compiled materials, etc.)

Bug fixes

  • Fixed texture anisotropy in the Vulkan backend
  • Depth offset and face culling now work in the Vulkan backend
  • Fixed the documentation
  • FADE materials are now properly sorted with TRANSPARENT materials

Sceneform 1.6pr6

09 Nov 00:26
f8f24f4
Compare
Choose a tag to compare
Sceneform 1.6pr6 Pre-release
Pre-release

This release of Filament is a check point release towards Sceneform 1.6.

Bug fixes

  • Many threading issues related to the JobSystem

v1.0.0

06 Nov 23:14
Compare
Choose a tag to compare

This is our first release using a new version scheme.

Features

  • Introduced iOS build
  • Added tutorials / demos for JavaScript API
  • Overhauled uniform buffer management

Enhancements

  • Updated Android samples to Kotlin 1.3
  • Consolidated WebGL code into root-level web folder
  • Added KTX and PNG support to JavaScript API
  • Added support for ANDROID_get_frame_timestamps

Bug fixes

  • Fixed issues with job system
  • Fixed buffer lifetime bug with JS API
  • Fixed FXAA alignment issue that caused unwanted borders
  • Fixed normals issue with JavaScript IcoSphere

Sceneform 1.6pr5

18 Oct 00:40
Compare
Choose a tag to compare
Sceneform 1.6pr5 Pre-release
Pre-release

This release of Filament is a check point release towards Sceneform 1.6.

Features

  • Added a proper JavaScript API
  • Added new TextureHelper in the Java API to upload Android Bitmap objects easily, without an extra copy
  • Added Stream::getTimestamp() to query the update timestamp of a stream texture
  • Added buffer usage hints to the driver interface
  • Added new Android sample project to demonstrate how to texture meshes
  • Added new filameshio library to read files generated by filamesh

Enhancements

  • Improved Java APIs when used from Kotlin
  • Updated release archives instructions to detail how to link against prebuilt libraries

Bug fixes

  • Fixed tangent frame computation on mobile when a scale is present
  • Fixed a shader typo that caused GPU skinning to fail
  • Fixed normals transformations when skinning with non-uniform scales
  • Fixed an INVALID_OPERATION bug in the OpenGL backend

Sceneform 1.6pr3

11 Oct 01:21
Compare
Choose a tag to compare
Sceneform 1.6pr3 Pre-release
Pre-release

This release of Filament is a check point release towards Sceneform 1.6.

Features

Runtime

  • Added WebGL/WASM support
  • Skinning supports non-rigid transforms
  • Add the ability to mirror a frame (for video recording for instance)
  • Removed dependencies on OpenGL ES 3.1 for iOS
  • The clear coat layer's roughness influences the roughness of the base layer

Tools

  • Added ASTC/S3TC/ETC2 texture compression support (cmgen can output compressed textures for instance)
  • Added KTX export
  • Added mipmap generation tool mipgen
  • cmgen can generate equirectangular maps
  • Many improvements to Tungsten, Filament's visual material editor (IBL, textures support, lighting, etc.)

Samples

  • New Android sample applications in Kotlin
  • Added WebGL samples

Optimizations

  • Skip a copy when updating per-renderable uniform buffers
  • Store all per-renderable uniform blocks in a single buffer
  • Use slightly optimized Fresnel term on mobile
  • Folded the Lambert BRDF in the Spherical Harmonics
  • Skip lighting and shadowing in the shaders when possible

Bug fixes

  • Fixed division by 0 in the froxelization pass
  • Fixed division by 0 in cmgen
  • Fixed Vulkan crash
  • Fixed invalid SPIR-V generation
  • Fixed the anisotropic BRDF on mobile
  • Fixed Fresnel term when f90 was less than 1 on desktop
  • Fixed cubemaps mirroring in cmgen
  • Make shadowMultiplier objets transparent when not lit

Improvements

  • Revamped RGBM support
  • Improved the quality of the IBLs generated by cmgen
  • Improved cubemap generation and handling in cmgen
  • Improved Java APIs for Kotlin
  • Better support fo grayscale images in tools
  • Moved from OpenEXR to TinyEXR
  • Various other fixes for minor bugs and crashes

Initial public release update

24 Aug 20:05
Compare
Choose a tag to compare
Pre-release

This release of Filament is a small update to the initial release. Windows binaries are now available.

Features

  • Added clearCoatNormal property to set a normal map on the clear coat layer
  • Switch the cloth material model to a more intuitive parameterization/BRDF

Optimizations

  • Optimizations in the lights assignment process
  • Better multi-threading of the lights assignment process
  • Reduced memory usage of the lights assignment process
  • Post-processing shaders do not use highp computations anymore

Bug fixes and improvements

  • Complete revamp of libimage
  • Bug fixes to lights assignement
  • cmgen did not process cross cube maps properly
  • cmgen could sometimes use uninitialized memory when computing spherical harmonics
  • Updated glslang, spirv-cross and spirv-tools
  • Various fixes in the Vulkan backend