Compare commits

...

3 Commits

Author SHA1 Message Date
Ben Doherty
fd7baedcdc Changes necessary for GCC (#9672) 2026-02-09 13:36:59 -05:00
Anish Goyal
69fe9f6596 Fix a set of unmapped 3 channel formats (#9690)
These three formats would likely break even if used on a device where
they are supported, as we reshape all 3-channel buffers to 4 channel.
The data would be in the wrong format.

We will have to follow-up, as there are other formats that are affected,
but those formats likely have better driver support, as they are better
aligned formats (e.g. 16-bit, 32-bit). These three formats were 96-bit
formats, which we've remapped to 128-bit.
2026-02-09 10:06:12 -08:00
Powei Feng
712f1edc1e Bump version to 1.69.2 2026-02-04 22:01:59 -08:00
6 changed files with 16 additions and 13 deletions

View File

@@ -31,7 +31,7 @@ repositories {
}
dependencies {
implementation 'com.google.android.filament:filament-android:1.69.1'
implementation 'com.google.android.filament:filament-android:1.69.2'
}
```
@@ -51,7 +51,7 @@ Here are all the libraries available in the group `com.google.android.filament`:
iOS projects can use CocoaPods to install the latest release:
```shell
pod 'Filament', '~> 1.69.1'
pod 'Filament', '~> 1.69.2'
```
## Documentation

View File

@@ -1,5 +1,5 @@
GROUP=com.google.android.filament
VERSION_NAME=1.69.1
VERSION_NAME=1.69.2
POM_DESCRIPTION=Real-time physically based rendering engine for Android.

View File

@@ -155,10 +155,11 @@ VkFormat getVkFormat(TextureFormat format) {
case TextureFormat::RGBA16UI: return VK_FORMAT_R16G16B16A16_UINT;
case TextureFormat::RGBA16I: return VK_FORMAT_R16G16B16A16_SINT;
// 96-bits per element.
case TextureFormat::RGB32F: return VK_FORMAT_R32G32B32_SFLOAT;
case TextureFormat::RGB32UI: return VK_FORMAT_R32G32B32_UINT;
case TextureFormat::RGB32I: return VK_FORMAT_R32G32B32_SINT;
// 96-bits per element. In practice, very few GPU vendors support these. So, we simply
// always reshape them into 128-bit formats.
case TextureFormat::RGB32F: return VK_FORMAT_R32G32B32A32_SFLOAT;
case TextureFormat::RGB32UI: return VK_FORMAT_R32G32B32A32_UINT;
case TextureFormat::RGB32I: return VK_FORMAT_R32G32B32A32_SINT;
// 128-bits per element.
case TextureFormat::RGBA32F: return VK_FORMAT_R32G32B32A32_SFLOAT;

View File

@@ -21,6 +21,8 @@
#include <math/vec3.h>
#include <math/scalar.h>
#include <cmath>
namespace filament {
using namespace math;
@@ -320,10 +322,10 @@ public:
const float weightToe = 1.0f - weightLinear;
// Shoulder mapping for highlights.
const float shoulder = mKa + mKb * std::expf(x * mKc);
const float shoulder = mKa + mKb * expf(x * mKc);
if (x < mLinearSection * mPeakIntensity) {
const float toeMapped = mMidPoint * std::powf(x / mMidPoint, mToeStrength);
const float toeMapped = mMidPoint * powf(x / mMidPoint, mToeStrength);
return weightToe * toeMapped + weightLinear * x;
}
return shoulder;
@@ -345,7 +347,7 @@ public:
// Pre-compute constants for the shoulder region.
const float k = (mLinearSection - 1.0f) / (mAlpha - 1.0f);
mKa = mPeakIntensity * mLinearSection + mPeakIntensity * k;
mKb = -mPeakIntensity * k * std::expf(mLinearSection / k);
mKb = -mPeakIntensity * k * expf(mLinearSection / k);
mKc = -1.0f / (k * mPeakIntensity);
}

View File

@@ -1,12 +1,12 @@
Pod::Spec.new do |spec|
spec.name = "Filament"
spec.version = "1.69.1"
spec.version = "1.69.2"
spec.license = { :type => "Apache 2.0", :file => "LICENSE" }
spec.homepage = "https://google.github.io/filament"
spec.authors = "Google LLC."
spec.summary = "Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WASM/WebGL."
spec.platform = :ios, "11.0"
spec.source = { :http => "https://github.com/google/filament/releases/download/v1.69.1/filament-v1.69.1-ios.tgz" }
spec.source = { :http => "https://github.com/google/filament/releases/download/v1.69.2/filament-v1.69.2-ios.tgz" }
spec.libraries = 'c++'

View File

@@ -1,6 +1,6 @@
{
"name": "filament",
"version": "1.69.1",
"version": "1.69.2",
"description": "Real-time physically based rendering engine",
"main": "filament.js",
"module": "filament.js",