diff --git a/CMakeLists.txt b/CMakeLists.txt index 6fa7246280..fe21ebc543 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -691,6 +691,7 @@ if (IS_HOST_PLATFORM) add_subdirectory(${TOOLS}/mipgen) add_subdirectory(${TOOLS}/normal-blending) add_subdirectory(${TOOLS}/resgen) + add_subdirectory(${TOOLS}/rgb-to-lmsr) add_subdirectory(${TOOLS}/roughness-prefilter) add_subdirectory(${TOOLS}/specular-color) endif() diff --git a/README.md b/README.md index 2f1b8fdfc6..c04886559c 100644 --- a/README.md +++ b/README.md @@ -134,9 +134,10 @@ steps: - HDR bloom - Depth of field bokeh -- Multiple tone mappers: ACES, filmic, etc. -- Color grading: white balance, channel mixer, shadows/mid-tones/highlights, ASC CDL, - contrast, saturation, etc. +- Multiple tone mappers: generic (customizable), ACES, filmic, etc. +- Color and tone management: luminance scaling, gamut mapping +- Color grading: exposure, night adaptation, white balance, channel mixer, + shadows/mid-tones/highlights, ASC CDL, contrast, saturation, etc. - TAA, FXAA, MSAA - Screen-space lens flares diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 84fd311199..0f2d24ea2b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -5,6 +5,9 @@ A new header is inserted each time a *tag* is created. ## v1.12.4 (currently main branch) +- engine: New night adaptation API on `ColorGrading`. This API can be used to create an effect that + that simulates color and brightness shits in human vision in low-light conditions. + ## v1.12.3 - engine: Support AMD FidelityFX Super Resolution for dynamic resolution scaling @@ -22,8 +25,7 @@ A new header is inserted each time a *tag* is created. - engine: `double` precision translation support in TransformManager. Disabled by default. Augment model (and view) matrix on `Camera` to accept double precision matrices. When enabled, - double precision translations allow filament to handle a very large world space. - [**New API**]. + double precision translations allow filament to handle a very large world space [**New API**]. - engine: Fix, Views with custom render targets are now blendable. ## v1.12.0 diff --git a/android/filament-android/src/main/cpp/ColorGrading.cpp b/android/filament-android/src/main/cpp/ColorGrading.cpp index d690216bb5..7b1d142d3d 100644 --- a/android/filament-android/src/main/cpp/ColorGrading.cpp +++ b/android/filament-android/src/main/cpp/ColorGrading.cpp @@ -90,6 +90,13 @@ Java_com_google_android_filament_ColorGrading_nBuilderExposure(JNIEnv*, jclass, builder->exposure(exposure); } +extern "C" JNIEXPORT void JNICALL +Java_com_google_android_filament_ColorGrading_nBuilderNightAdaptation(JNIEnv*, jclass, + jlong nativeBuilder, jfloat adaptation) { + ColorGrading::Builder* builder = (ColorGrading::Builder*) nativeBuilder; + builder->nightAdaptation(adaptation); +} + extern "C" JNIEXPORT void JNICALL Java_com_google_android_filament_ColorGrading_nBuilderWhiteBalance(JNIEnv*, jclass, jlong nativeBuilder, jfloat temperature, jfloat tint) { diff --git a/android/filament-android/src/main/java/com/google/android/filament/ColorGrading.java b/android/filament-android/src/main/java/com/google/android/filament/ColorGrading.java index ca45d37019..f24c21ce66 100644 --- a/android/filament-android/src/main/java/com/google/android/filament/ColorGrading.java +++ b/android/filament-android/src/main/java/com/google/android/filament/ColorGrading.java @@ -55,6 +55,7 @@ import static com.google.android.filament.Asserts.assertFloat4In; * The various transforms held by ColorGrading are applied in the following order: *