diff --git a/android/filament-android/src/main/cpp/Camera.cpp b/android/filament-android/src/main/cpp/Camera.cpp index 9fccc2a73c..a39c4ef9f9 100644 --- a/android/filament-android/src/main/cpp/Camera.cpp +++ b/android/filament-android/src/main/cpp/Camera.cpp @@ -18,6 +18,8 @@ #include +#include + #include using namespace filament; diff --git a/android/filament-android/src/main/cpp/Engine.cpp b/android/filament-android/src/main/cpp/Engine.cpp index 0ae8a52b00..56caaa769c 100644 --- a/android/filament-android/src/main/cpp/Engine.cpp +++ b/android/filament-android/src/main/cpp/Engine.cpp @@ -16,6 +16,7 @@ #include +#include #include #include @@ -120,15 +121,8 @@ Java_com_google_android_filament_Engine_nDestroyRenderer(JNIEnv*, jclass, // Camera -extern "C" [[deprecated]] JNIEXPORT jlong JNICALL -Java_com_google_android_filament_Engine_nCreateCamera(JNIEnv*, jclass, - jlong nativeEngine) { - Engine* engine = (Engine*) nativeEngine; - return (jlong) engine->createCamera(); -} - extern "C" JNIEXPORT jlong JNICALL -Java_com_google_android_filament_Engine_nCreateCameraWithEntity(JNIEnv*, jclass, +Java_com_google_android_filament_Engine_nCreateCamera(JNIEnv*, jclass, jlong nativeEngine, jint entity_) { Engine* engine = (Engine*) nativeEngine; Entity& entity = *reinterpret_cast(&entity_); @@ -143,12 +137,12 @@ Java_com_google_android_filament_Engine_nGetCameraComponent(JNIEnv*, jclass, return (jlong) engine->getCameraComponent(entity); } -extern "C" [[deprecated]] JNIEXPORT void JNICALL -Java_com_google_android_filament_Engine_nDestroyCamera(JNIEnv*, jclass, - jlong nativeEngine, jlong nativeCamera) { +extern "C" JNIEXPORT void JNICALL +Java_com_google_android_filament_Engine_nDestroyCameraComponent(JNIEnv*, jclass, + jlong nativeEngine, jint entity_) { Engine* engine = (Engine*) nativeEngine; - Camera *camera = (Camera *) nativeCamera; - engine->destroy(camera); + Entity& entity = *reinterpret_cast(&entity_); + engine->destroyCameraComponent(entity); } // Scene diff --git a/android/filament-android/src/main/cpp/View.cpp b/android/filament-android/src/main/cpp/View.cpp index e61ab4578b..f7df75cb45 100644 --- a/android/filament-android/src/main/cpp/View.cpp +++ b/android/filament-android/src/main/cpp/View.cpp @@ -321,7 +321,7 @@ Java_com_google_android_filament_View_nSetDepthOfFieldOptions(JNIEnv *, jclass , // View::DepthOfFieldOptions::Filter::MEDIAN value is actually 2 eFilter = View::DepthOfFieldOptions::Filter::MEDIAN; } - view->setDepthOfFieldOptions({.focusDistance = focusDistance, .cocScale = cocScale, + view->setDepthOfFieldOptions({.cocScale = cocScale, .maxApertureDiameter = maxApertureDiameter, .enabled = (bool)enabled, .filter = eFilter, .nativeResolution = (bool)nativeResolution, .foregroundRingCount = (uint8_t)foregroundRingCount, diff --git a/android/filament-android/src/main/java/com/google/android/filament/Camera.java b/android/filament-android/src/main/java/com/google/android/filament/Camera.java index bd9a8e8624..315c169e0d 100644 --- a/android/filament-android/src/main/java/com/google/android/filament/Camera.java +++ b/android/filament-android/src/main/java/com/google/android/filament/Camera.java @@ -29,7 +29,7 @@ import androidx.annotation.Size; * * In Filament, Camera is a component that must be associated with an entity. To do so, * use {@link Engine#createCamera(int)}. A Camera component is destroyed using - * {@link Engine#destroyCamera(Camera)}. + * {@link Engine#destroyCameraComponent(int Entity)} ()}. * *
  *  Camera myCamera = engine.createCamera(myCameraEntity);
@@ -37,7 +37,7 @@ import androidx.annotation.Size;
  *  myCamera.lookAt(0, 1.60, 1,
  *                  0, 0, 0,
  *                  0, 1, 0);
- *  engine.destroyCamera(myCamera);
+ *  engine.destroyCameraComponent(myCameraEntity);
  * 
* * @@ -121,6 +121,9 @@ import androidx.annotation.Size; public class Camera { private long mNativeObject; + @Entity + private final int mEntity; + /** * Denotes the projection type used by this camera. * @see #setProjection @@ -143,8 +146,9 @@ public class Camera { HORIZONTAL } - Camera(long nativeCamera) { + Camera(long nativeCamera, @Entity int entity) { mNativeObject = nativeCamera; + mEntity = entity; } /** @@ -681,6 +685,15 @@ public class Camera { return nGetSensitivity(getNativeObject()); } + /** + * Gets the entity representing this Camera + * @return the entity this Camera component is attached to + */ + @Entity + public int getEntity() { + return mEntity; + } + /** * Helper to compute the effective focal length taking into account the focus distance * diff --git a/android/filament-android/src/main/java/com/google/android/filament/Engine.java b/android/filament-android/src/main/java/com/google/android/filament/Engine.java index e58a0a3111..12e0eb2d17 100644 --- a/android/filament-android/src/main/java/com/google/android/filament/Engine.java +++ b/android/filament-android/src/main/java/com/google/android/filament/Engine.java @@ -399,19 +399,6 @@ public class Engine { // Camera - /** - * Creates a new entity and adds a {@link Camera} component to it. - * - * @return A newly created {@link Camera} - * @exception IllegalStateException can be thrown if the {@link Camera} couldn't be created - */ - @NonNull - public Camera createCamera() { - long nativeCamera = nCreateCamera(getNativeObject()); - if (nativeCamera == 0) throw new IllegalStateException("Couldn't create Camera"); - return new Camera(nativeCamera); - } - /** * Creates and adds a {@link Camera} component to a given entity. * @@ -421,9 +408,9 @@ public class Engine { */ @NonNull public Camera createCamera(@Entity int entity) { - long nativeCamera = nCreateCameraWithEntity(getNativeObject(), entity); + long nativeCamera = nCreateCamera(getNativeObject(), entity); if (nativeCamera == 0) throw new IllegalStateException("Couldn't create Camera"); - return new Camera(nativeCamera); + return new Camera(nativeCamera, entity); } /** @@ -437,16 +424,16 @@ public class Engine { public Camera getCameraComponent(@Entity int entity) { long nativeCamera = nGetCameraComponent(getNativeObject(), entity); if (nativeCamera == 0) return null; - return new Camera(nativeCamera); + return new Camera(nativeCamera, entity); } /** - * Destroys a {@link Camera} component and frees all its associated resources. - * @param camera the {@link Camera} to destroy + * Destroys the {@link Camera} component associated with the given entity. + * + * @param entity an entity */ - public void destroyCamera(@NonNull Camera camera) { - nDestroyCamera(getNativeObject(), camera.getNativeObject()); - camera.clearNativeObject(); + public void destroyCameraComponent(@Entity int entity) { + nDestroyCameraComponent(getNativeObject(), entity); } // Scene @@ -634,6 +621,14 @@ public class Engine { return mRenderableManager; } + /** + * @return the {@link EntityManager} used by this {@link Engine} + */ + @NonNull + public EntityManager getEntityManager() { + return mEntityManager; + } + /** * Kicks the hardware thread (e.g.: the OpenGL, Vulkan or Metal thread) and blocks until * all commands to this point are executed. Note that this doesn't guarantee that the @@ -685,10 +680,9 @@ public class Engine { private static native boolean nDestroyView(long nativeEngine, long nativeView); private static native long nCreateRenderer(long nativeEngine); private static native boolean nDestroyRenderer(long nativeEngine, long nativeRenderer); - private static native long nCreateCamera(long nativeEngine); - private static native long nCreateCameraWithEntity(long nativeEngine, int entity); + private static native long nCreateCamera(long nativeEngine, int entity); private static native long nGetCameraComponent(long nativeEngine, int entity); - private static native void nDestroyCamera(long nativeEngine, long nativeCamera); + private static native void nDestroyCameraComponent(long nativeEngine, int entity); private static native long nCreateScene(long nativeEngine); private static native boolean nDestroyScene(long nativeEngine, long nativeScene); private static native long nCreateFence(long nativeEngine); diff --git a/android/filament-android/src/main/java/com/google/android/filament/View.java b/android/filament-android/src/main/java/com/google/android/filament/View.java index 6ff68fb3e4..04cf6a4650 100644 --- a/android/filament-android/src/main/java/com/google/android/filament/View.java +++ b/android/filament-android/src/main/java/com/google/android/filament/View.java @@ -482,14 +482,6 @@ public class View { MEDIAN } - /** - * focus distance in world units - * - * @deprecated use {@link Camera#setFocusDistance(float)} - */ - @Deprecated - public float focusDistance = 10.0f; - /** * circle of confusion scale factor (amount of blur) * @@ -939,16 +931,6 @@ public class View { nSetShadowingEnabled(getNativeObject(), enabled); } - /** - * Enables or disables shadow mapping. Enabled by default. - * - * @deprecated Use {@link #setShadowingEnabled} - */ - @Deprecated - public void setShadowsEnabled(boolean enabled) { - setShadowingEnabled(enabled); - } - /** * @return whether shadowing is enabled */ @@ -1491,7 +1473,7 @@ public class View { */ public void setDepthOfFieldOptions(@NonNull DepthOfFieldOptions options) { mDepthOfFieldOptions = options; - nSetDepthOfFieldOptions(getNativeObject(), options.focusDistance, options.cocScale, + nSetDepthOfFieldOptions(getNativeObject(), options.cocScale, options.maxApertureDiameter, options.enabled, options.filter.ordinal(), options.nativeResolution, options.foregroundRingCount, options.backgroundRingCount, options.fastGatherRingCount, options.maxForegroundCOC, options.maxBackgroundCOC); @@ -1554,7 +1536,7 @@ public class View { boolean lensFlare, boolean starburst, float chromaticAberration, int ghostCount, float ghostSpacing, float ghostThreshold, float haloThickness, float haloRadius, float haloThreshold); private static native void nSetFogOptions(long nativeView, float distance, float maximumOpacity, float height, float heightFalloff, float v, float v1, float v2, float density, float inScatteringStart, float inScatteringSize, boolean fogColorFromIbl, boolean enabled); private static native void nSetBlendMode(long nativeView, int blendMode); - private static native void nSetDepthOfFieldOptions(long nativeView, float focusDistance, float cocScale, float maxApertureDiameter, boolean enabled, int filter, + private static native void nSetDepthOfFieldOptions(long nativeView, float cocScale, float maxApertureDiameter, boolean enabled, int filter, boolean nativeResolution, int foregroundRingCount, int backgroundRingCount, int fastGatherRingCount, int maxForegroundCOC, int maxBackgroundCOC); private static native void nSetVignetteOptions(long nativeView, float midPoint, float roundness, float feather, float r, float g, float b, float a, boolean enabled); private static native void nSetTemporalAntiAliasingOptions(long nativeView, float feedback, float filterWidth, boolean enabled); diff --git a/android/filament-utils-android/src/main/java/com/google/android/filament/utils/ModelViewer.kt b/android/filament-utils-android/src/main/java/com/google/android/filament/utils/ModelViewer.kt index 005473eb92..d2f8960b33 100644 --- a/android/filament-utils-android/src/main/java/com/google/android/filament/utils/ModelViewer.kt +++ b/android/filament-utils-android/src/main/java/com/google/android/filament/utils/ModelViewer.kt @@ -105,7 +105,7 @@ class ModelViewer(val engine: Engine) : android.view.View.OnTouchListener { init { renderer = engine.createRenderer() scene = engine.createScene() - camera = engine.createCamera().apply { setExposure(kAperture, kShutterSpeed, kSensitivity) } + camera = engine.createCamera(engine.entityManager.create()).apply { setExposure(kAperture, kShutterSpeed, kSensitivity) } view = engine.createView() view.scene = scene view.camera = camera @@ -299,7 +299,8 @@ class ModelViewer(val engine: Engine) : android.view.View.OnTouchListener { engine.destroyRenderer(renderer) engine.destroyView(this@ModelViewer.view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) + EntityManager.get().destroy(camera.entity) EntityManager.get().destroy(light) diff --git a/android/samples/sample-hello-camera/src/main/java/com/google/android/filament/hellocam/MainActivity.kt b/android/samples/sample-hello-camera/src/main/java/com/google/android/filament/hellocam/MainActivity.kt index 9cdc483313..5412bdef36 100644 --- a/android/samples/sample-hello-camera/src/main/java/com/google/android/filament/hellocam/MainActivity.kt +++ b/android/samples/sample-hello-camera/src/main/java/com/google/android/filament/hellocam/MainActivity.kt @@ -109,7 +109,8 @@ class MainActivity : Activity(), ActivityCompat.OnRequestPermissionsResultCallba renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) + } private fun setupView() { @@ -342,13 +343,14 @@ class MainActivity : Activity(), ActivityCompat.OnRequestPermissionsResultCallba engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(light) entityManager.destroy(renderable) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-hello-triangle/src/main/java/com/google/android/filament/hellotriangle/MainActivity.kt b/android/samples/sample-hello-triangle/src/main/java/com/google/android/filament/hellotriangle/MainActivity.kt index 637671fc03..98883b4ec0 100644 --- a/android/samples/sample-hello-triangle/src/main/java/com/google/android/filament/hellotriangle/MainActivity.kt +++ b/android/samples/sample-hello-triangle/src/main/java/com/google/android/filament/hellotriangle/MainActivity.kt @@ -113,7 +113,7 @@ class MainActivity : Activity() { renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupView() { @@ -271,12 +271,13 @@ class MainActivity : Activity() { engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(renderable) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-image-based-lighting/src/main/java/com/google/android/filament/ibl/MainActivity.kt b/android/samples/sample-image-based-lighting/src/main/java/com/google/android/filament/ibl/MainActivity.kt index 9d0aff96cb..038437a43c 100644 --- a/android/samples/sample-image-based-lighting/src/main/java/com/google/android/filament/ibl/MainActivity.kt +++ b/android/samples/sample-image-based-lighting/src/main/java/com/google/android/filament/ibl/MainActivity.kt @@ -113,7 +113,7 @@ class MainActivity : Activity() { renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupView() { @@ -249,12 +249,13 @@ class MainActivity : Activity() { engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(light) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-lit-cube/src/main/java/com/google/android/filament/litcube/MainActivity.kt b/android/samples/sample-lit-cube/src/main/java/com/google/android/filament/litcube/MainActivity.kt index 80d4664f86..a01db37654 100644 --- a/android/samples/sample-lit-cube/src/main/java/com/google/android/filament/litcube/MainActivity.kt +++ b/android/samples/sample-lit-cube/src/main/java/com/google/android/filament/litcube/MainActivity.kt @@ -114,7 +114,7 @@ class MainActivity : Activity() { renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupView() { @@ -358,13 +358,14 @@ class MainActivity : Activity() { engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(light) entityManager.destroy(renderable) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-live-wallpaper/src/main/java/com/google/android/filament/livewallpaper/Wallpaper.kt b/android/samples/sample-live-wallpaper/src/main/java/com/google/android/filament/livewallpaper/Wallpaper.kt index 8e21649fa7..2e6b40a966 100644 --- a/android/samples/sample-live-wallpaper/src/main/java/com/google/android/filament/livewallpaper/Wallpaper.kt +++ b/android/samples/sample-live-wallpaper/src/main/java/com/google/android/filament/livewallpaper/Wallpaper.kt @@ -101,7 +101,7 @@ class FilamentLiveWallpaper : WallpaperService() { renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupView() { @@ -167,7 +167,8 @@ class FilamentLiveWallpaper : WallpaperService() { engine.destroyRenderer(renderer) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) + EntityManager.get().destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly @@ -221,4 +222,4 @@ class FilamentLiveWallpaper : WallpaperService() { } } } -} \ No newline at end of file +} diff --git a/android/samples/sample-material-builder/src/main/java/com/google/android/filament/material_builder/MainActivity.kt b/android/samples/sample-material-builder/src/main/java/com/google/android/filament/material_builder/MainActivity.kt index eec7f820b0..95913e9e18 100644 --- a/android/samples/sample-material-builder/src/main/java/com/google/android/filament/material_builder/MainActivity.kt +++ b/android/samples/sample-material-builder/src/main/java/com/google/android/filament/material_builder/MainActivity.kt @@ -112,7 +112,7 @@ class MainActivity : Activity() { renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupView() { @@ -289,12 +289,13 @@ class MainActivity : Activity() { engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(light) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-multi-view/src/main/java/com/google/android/filament/multiview/MainActivity.kt b/android/samples/sample-multi-view/src/main/java/com/google/android/filament/multiview/MainActivity.kt index a970b08065..d9d7b4fd02 100644 --- a/android/samples/sample-multi-view/src/main/java/com/google/android/filament/multiview/MainActivity.kt +++ b/android/samples/sample-multi-view/src/main/java/com/google/android/filament/multiview/MainActivity.kt @@ -128,7 +128,7 @@ class MainActivity : Activity() { skybox = Skybox.Builder().build(engine); scene.skybox = skybox - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupViews() { @@ -375,13 +375,14 @@ class MainActivity : Activity() { engine.destroyView(view3) engine.destroySkybox(skybox) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(light) entityManager.destroy(renderable) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-page-curl/src/main/java/com/google/android/filament/pagecurl/MainActivity.java b/android/samples/sample-page-curl/src/main/java/com/google/android/filament/pagecurl/MainActivity.java index 32b426877d..5373470b91 100644 --- a/android/samples/sample-page-curl/src/main/java/com/google/android/filament/pagecurl/MainActivity.java +++ b/android/samples/sample-page-curl/src/main/java/com/google/android/filament/pagecurl/MainActivity.java @@ -148,7 +148,7 @@ public class MainActivity extends Activity mRenderer = mEngine.createRenderer(); mScene = mEngine.createScene(); mView = mEngine.createView(); - mCamera = mEngine.createCamera(); + mCamera = mEngine.createCamera(mEngine.getEntityManager().create()); mCamera.lookAt(0, 0, 3, 0, 0, 0, 0, 1, 0); @@ -223,9 +223,10 @@ public class MainActivity extends Activity mEngine.destroyView(mView); mEngine.destroyScene(mScene); - mEngine.destroyCamera(mCamera); + mEngine.destroyCameraComponent(mCamera.getEntity()); EntityManager.get().destroy(mPage.renderable); + EntityManager.get().destroy(mCamera.getEntity()); mEngine.destroy(); } @@ -298,4 +299,4 @@ public class MainActivity extends Activity canvas.drawBitmap(bmp, borderSize, borderSize, null); return modified; } -} \ No newline at end of file +} diff --git a/android/samples/sample-stream-test/src/main/java/com/google/android/filament/streamtest/MainActivity.kt b/android/samples/sample-stream-test/src/main/java/com/google/android/filament/streamtest/MainActivity.kt index 2dfa6f2244..a29d529bda 100644 --- a/android/samples/sample-stream-test/src/main/java/com/google/android/filament/streamtest/MainActivity.kt +++ b/android/samples/sample-stream-test/src/main/java/com/google/android/filament/streamtest/MainActivity.kt @@ -121,7 +121,7 @@ class MainActivity : Activity(), ActivityCompat.OnRequestPermissionsResultCallba renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupView() { @@ -328,13 +328,14 @@ class MainActivity : Activity(), ActivityCompat.OnRequestPermissionsResultCallba engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(light) entityManager.destroy(renderable) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-texture-view/src/main/java/com/google/android/filament/textureview/MainActivity.kt b/android/samples/sample-texture-view/src/main/java/com/google/android/filament/textureview/MainActivity.kt index 55db366043..1d17c613f7 100644 --- a/android/samples/sample-texture-view/src/main/java/com/google/android/filament/textureview/MainActivity.kt +++ b/android/samples/sample-texture-view/src/main/java/com/google/android/filament/textureview/MainActivity.kt @@ -113,7 +113,7 @@ class MainActivity : Activity() { renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupView() { @@ -271,12 +271,13 @@ class MainActivity : Activity() { engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(renderable) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-textured-object/src/main/java/com/google/android/filament/textured/MainActivity.kt b/android/samples/sample-textured-object/src/main/java/com/google/android/filament/textured/MainActivity.kt index 5cd67e350f..cf33546854 100644 --- a/android/samples/sample-textured-object/src/main/java/com/google/android/filament/textured/MainActivity.kt +++ b/android/samples/sample-textured-object/src/main/java/com/google/android/filament/textured/MainActivity.kt @@ -117,7 +117,7 @@ class MainActivity : Activity() { renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) } private fun setupView() { @@ -269,12 +269,13 @@ class MainActivity : Activity() { engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(light) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/android/samples/sample-transparent-view/src/main/java/com/google/android/filament/transparentrendering/MainActivity.kt b/android/samples/sample-transparent-view/src/main/java/com/google/android/filament/transparentrendering/MainActivity.kt index 8ab5da530d..d50759e80c 100644 --- a/android/samples/sample-transparent-view/src/main/java/com/google/android/filament/transparentrendering/MainActivity.kt +++ b/android/samples/sample-transparent-view/src/main/java/com/google/android/filament/transparentrendering/MainActivity.kt @@ -136,7 +136,7 @@ class MainActivity : Activity() { renderer = engine.createRenderer() scene = engine.createScene() view = engine.createView() - camera = engine.createCamera() + camera = engine.createCamera(engine.entityManager.create()) // clear the swapchain with transparent pixels val options = renderer.clearOptions @@ -294,12 +294,13 @@ class MainActivity : Activity() { engine.destroyMaterial(material) engine.destroyView(view) engine.destroyScene(scene) - engine.destroyCamera(camera) + engine.destroyCameraComponent(camera.entity) // Engine.destroyEntity() destroys Filament related resources only // (components), not the entity itself val entityManager = EntityManager.get() entityManager.destroy(renderable) + entityManager.destroy(camera.entity) // Destroying the engine will free up any resource you may have forgotten // to destroy, but it's recommended to do the cleanup properly diff --git a/filament/include/filament/Camera.h b/filament/include/filament/Camera.h index 12b40ee70c..2338c20e79 100644 --- a/filament/include/filament/Camera.h +++ b/filament/include/filament/Camera.h @@ -252,9 +252,6 @@ public: */ void setScaling(math::double2 scaling) noexcept; - [[deprecated]] - void setScaling(math::double4 const& scaling) noexcept; - /** * Sets an additional matrix that shifts the projection matrix. * By default, this is an identity matrix. diff --git a/filament/include/filament/Engine.h b/filament/include/filament/Engine.h index c31ba295f0..71c9709262 100644 --- a/filament/include/filament/Engine.h +++ b/filament/include/filament/Engine.h @@ -388,7 +388,7 @@ public: * @param entity An entity. * @return A pointer to the Camera component for this entity or nullptr if the entity didn't * have a Camera component. The pointer is valid until destroyCameraComponent() - * (or destroyCamera()) is called or the entity itself is destroyed. + * is called or the entity itself is destroyed. */ Camera* getCameraComponent(utils::Entity entity) noexcept; @@ -472,26 +472,6 @@ public: */ void* streamAlloc(size_t size, size_t alignment = alignof(double)) noexcept; - - /** - * helper for creating an Entity and Camera component in one call - * - * @deprecated use createCamera(Entity) instead - * - * @return A camera component - */ - UTILS_DEPRECATED - Camera* createCamera() noexcept; - - /** - * helper for destroying the Camera component and its Entity in one call - * - * @param camera Camera component to destroy. The associated entity is also destroyed. - * @deprecated use destroyCameraComponent(Entity) instead - */ - UTILS_DEPRECATED - void destroy(const Camera* camera); - /** * Invokes one iteration of the render loop, used only on single-threaded platforms. * diff --git a/filament/include/filament/Renderer.h b/filament/include/filament/Renderer.h index f849b96d84..bd9c5c2357 100644 --- a/filament/include/filament/Renderer.h +++ b/filament/include/filament/Renderer.h @@ -243,15 +243,6 @@ public: bool beginFrame(SwapChain* swapChain, uint64_t vsyncSteadyClockTimeNano = 0u); - /** - * @deprecated, use SwapChain::setFrameScheduledCallback to set the callback instead. - * @see beginFrame(SwapChain*, uint64_t) - */ - UTILS_DEPRECATED - bool beginFrame(SwapChain* swapChain, - uint64_t vsyncSteadyClockTimeNano, - backend::FrameScheduledCallback callback, void* user = nullptr); - /** * Render a View into this renderer's window. * diff --git a/filament/include/filament/View.h b/filament/include/filament/View.h index 5ac9a1fb05..fcf0c47724 100644 --- a/filament/include/filament/View.h +++ b/filament/include/filament/View.h @@ -201,7 +201,6 @@ public: NONE = 0, MEDIAN = 2 }; - float focusDistance = 10.0f; //!< @deprecated use Camera::setFocusDistance() instead float cocScale = 1.0f; //!< circle of confusion scale factor (amount of blur) float maxApertureDiameter = 0.01f; //!< maximum aperture diameter in meters (zero to disable rotation) bool enabled = false; //!< enable or disable depth of field effect @@ -525,15 +524,6 @@ public: */ void setShadowingEnabled(bool enabled) noexcept; - /** - * Enables or disables shadow mapping. Enabled by default. - * @deprecated use setShadowingEnabled - */ - UTILS_DEPRECATED - void setShadowsEnabled(bool enabled) noexcept { - setShadowingEnabled(enabled); - } - /** * @return whether shadowing is enabled */ diff --git a/filament/src/Camera.cpp b/filament/src/Camera.cpp index 619fa2239d..315b71f6d6 100644 --- a/filament/src/Camera.cpp +++ b/filament/src/Camera.cpp @@ -296,10 +296,7 @@ CameraInfo::CameraInfo(FCamera const& camera) noexcept { d = std::max(zn, camera.getFocusDistance()); } -CameraInfo::CameraInfo(FCamera const& camera, const math::mat4f& worldOriginCamera, - float focusDistance) noexcept { - // note: DepthOfFieldOptions is deprecated, but we continue to support it by passing it here - // and we're using it if the camera focus distance hasn't been set. +CameraInfo::CameraInfo(FCamera const& camera, const math::mat4f& worldOriginCamera) noexcept { const mat4f modelMatrix{ worldOriginCamera * camera.getModelMatrix() }; projection = mat4f{ camera.getProjectionMatrix() }; cullingProjection = mat4f{ camera.getCullingProjectionMatrix() }; @@ -310,7 +307,7 @@ CameraInfo::CameraInfo(FCamera const& camera, const math::mat4f& worldOriginCame ev100 = Exposure::ev100(camera); f = camera.getFocalLength(); A = f / camera.getAperture(); - d = std::max(zn, camera.getFocusDistance() > 0.0f ? camera.getFocusDistance() : focusDistance); + d = std::max(zn, camera.getFocusDistance()); worldOffset = camera.getPosition(); worldOrigin = worldOriginCamera; } @@ -354,10 +351,6 @@ void Camera::setScaling(math::double2 scaling) noexcept { upcast(this)->setScaling(scaling); } -void Camera::setScaling(math::double4 const& scaling) noexcept { - upcast(this)->setScaling(scaling); -} - void Camera::setShift(math::double2 shift) noexcept { upcast(this)->setShift(shift); } diff --git a/filament/src/Engine.cpp b/filament/src/Engine.cpp index 0135f5def7..4c124da3d4 100644 --- a/filament/src/Engine.cpp +++ b/filament/src/Engine.cpp @@ -1043,14 +1043,4 @@ DebugRegistry& Engine::getDebugRegistry() noexcept { return upcast(this)->getDebugRegistry(); } -Camera* Engine::createCamera() noexcept { - return createCamera(upcast(this)->getEntityManager().create()); -} - -void Engine::destroy(const Camera* camera) { - Entity e = camera->getEntity(); - destroyCameraComponent(e); - upcast(this)->getEntityManager().destroy(e); -} - } // namespace filament diff --git a/filament/src/Renderer.cpp b/filament/src/Renderer.cpp index 642c62a0ce..9516a05140 100644 --- a/filament/src/Renderer.cpp +++ b/filament/src/Renderer.cpp @@ -898,8 +898,7 @@ void FRenderer::copyFrame(FSwapChain* dstSwapChain, filament::Viewport const& ds mSwapChain->makeCurrent(driver); } -bool FRenderer::beginFrame(FSwapChain* swapChain, uint64_t vsyncSteadyClockTimeNano, - FrameScheduledCallback callback, void* user) { +bool FRenderer::beginFrame(FSwapChain* swapChain, uint64_t vsyncSteadyClockTimeNano) { assert_invariant(swapChain); SYSTRACE_CALL(); @@ -955,10 +954,6 @@ bool FRenderer::beginFrame(FSwapChain* swapChain, uint64_t vsyncSteadyClockTimeN FEngine& engine = getEngine(); FEngine::DriverApi& driver = engine.getDriverApi(); - if (UTILS_UNLIKELY(callback)) { - // this is here just to handle the deprecated version of beginFrame() - driver.setFrameScheduledCallback(swapChain->getHwHandle(), callback, user); - } driver.beginFrame(appVsync.time_since_epoch().count(), mFrameId); // This need to occur after the backend beginFrame() because some backends need to start @@ -1159,14 +1154,7 @@ void Renderer::render(View const* view) { } bool Renderer::beginFrame(SwapChain* swapChain, uint64_t vsyncSteadyClockTimeNano) { - return upcast(this)->beginFrame(upcast(swapChain), vsyncSteadyClockTimeNano, - nullptr, nullptr); -} - -bool Renderer::beginFrame(SwapChain* swapChain, uint64_t vsyncSteadyClockTimeNano, - backend::FrameScheduledCallback callback, void* user) { - return upcast(this)->beginFrame(upcast(swapChain), vsyncSteadyClockTimeNano, - callback, user); + return upcast(this)->beginFrame(upcast(swapChain), vsyncSteadyClockTimeNano); } void Renderer::copyFrame(SwapChain* dstSwapChain, filament::Viewport const& dstViewport, diff --git a/filament/src/View.cpp b/filament/src/View.cpp index 85e052d7ee..473193a4b0 100644 --- a/filament/src/View.cpp +++ b/filament/src/View.cpp @@ -404,7 +404,7 @@ void FView::prepare(FEngine& engine, backend::DriverApi& driver, ArenaScope& are // Note: for debugging (i.e. visualize what the camera / objects are doing, using // the viewing camera), we can set worldOriginScene to identity when mViewingCamera // is set - mViewingCameraInfo = CameraInfo(*camera, worldOriginScene, mDepthOfFieldOptions.focusDistance); + mViewingCameraInfo = CameraInfo(*camera, worldOriginScene); mCullingFrustum = FCamera::getFrustum( mCullingCamera->getCullingProjectionMatrix(), diff --git a/filament/src/details/Camera.h b/filament/src/details/Camera.h index 5de847d409..6a06915fb3 100644 --- a/filament/src/details/Camera.h +++ b/filament/src/details/Camera.h @@ -63,8 +63,6 @@ public: void setCustomProjection(math::mat4 const& projection, math::mat4 const& projectionForCulling, double near, double far) noexcept; - void setScaling(math::double4 const& scaling) noexcept { mScaling = scaling.xy; } - void setScaling(math::double2 scaling) noexcept { mScaling = scaling; } math::double4 getScaling() const noexcept { return math::double4{ mScaling, 1.0, 1.0 }; } @@ -200,8 +198,7 @@ private: struct CameraInfo { CameraInfo() noexcept = default; explicit CameraInfo(FCamera const& camera) noexcept; - CameraInfo(FCamera const& camera, - const math::mat4f& worldOriginCamera, float focusDistance) noexcept; + CameraInfo(FCamera const& camera, const math::mat4f& worldOriginCamera) noexcept; math::mat4f projection; // projection matrix for drawing (infinite zfar) math::mat4f cullingProjection; // projection matrix for culling diff --git a/filament/src/details/Renderer.h b/filament/src/details/Renderer.h index e5159dfe9e..a76f37f134 100644 --- a/filament/src/details/Renderer.h +++ b/filament/src/details/Renderer.h @@ -76,8 +76,7 @@ public: // do all the work here! void renderJob(ArenaScope& arena, FView& view); - bool beginFrame(FSwapChain* swapChain, uint64_t vsyncSteadyClockTimeNano, - backend::FrameScheduledCallback callback, void* user); + bool beginFrame(FSwapChain* swapChain, uint64_t vsyncSteadyClockTimeNano); void render(FView const* view); diff --git a/filament/src/details/View.h b/filament/src/details/View.h index a090fd8f79..9a0a4a6af1 100644 --- a/filament/src/details/View.h +++ b/filament/src/details/View.h @@ -357,7 +357,6 @@ public: } void setDepthOfFieldOptions(DepthOfFieldOptions options) noexcept { - options.focusDistance = std::max(0.0f, options.focusDistance); options.cocScale = std::max(0.0f, options.cocScale); options.maxApertureDiameter = std::max(0.0f, options.maxApertureDiameter); mDepthOfFieldOptions = options; diff --git a/ios/samples/hello-ar/hello-ar/FilamentArView/FilamentApp.cpp b/ios/samples/hello-ar/hello-ar/FilamentArView/FilamentApp.cpp index 97329953aa..12d687b4c5 100644 --- a/ios/samples/hello-ar/hello-ar/FilamentArView/FilamentApp.cpp +++ b/ios/samples/hello-ar/hello-ar/FilamentArView/FilamentApp.cpp @@ -183,7 +183,9 @@ FilamentApp::~FilamentApp() { engine->destroy(renderer); engine->destroy(scene); engine->destroy(view); - engine->destroy(camera); + Entity c = camera->getEntity(); + engine->destroyCameraComponent(c); + EntityManager::get().destroy(c); engine->destroy(swapChain); engine->destroy(&engine); } @@ -197,7 +199,8 @@ void FilamentApp::setupFilament() { swapChain = engine->createSwapChain(nativeLayer); renderer = engine->createRenderer(); scene = engine->createScene(); - camera = engine->createCamera(); + Entity c = EntityManager::get().create(); + camera = engine->createCamera(c); camera->setProjection(60, (float) width / height, 0.1, 10); } diff --git a/ios/samples/hello-gltf/hello-gltf/FilamentView/App.cpp b/ios/samples/hello-gltf/hello-gltf/FilamentView/App.cpp index 902b896bb0..5a636934fd 100644 --- a/ios/samples/hello-gltf/hello-gltf/FilamentView/App.cpp +++ b/ios/samples/hello-gltf/hello-gltf/FilamentView/App.cpp @@ -64,7 +64,9 @@ App::~App() { engine->destroy(renderer); engine->destroy(scene); engine->destroy(view); - engine->destroy(camera); + Entity c = camera->getEntity(); + engine->destroyCameraComponent(c); + EntityManager::get().destroy(c); engine->destroy(swapChain); engine->destroy(&engine); } @@ -78,7 +80,8 @@ void App::setupFilament() { swapChain = engine->createSwapChain(nativeLayer); renderer = engine->createRenderer(); scene = engine->createScene(); - camera = engine->createCamera(); + Entity c = EntityManager::get().create(); + camera = engine->createCamera(c); cameraManipulator.setCamera(camera); cameraManipulator.setViewport(width, height); cameraManipulator.lookAt(filament::math::double3(0, 0, 3), filament::math::double3(0, 0, 0)); diff --git a/ios/samples/hello-pbr/hello-pbr/FilamentApp.cpp b/ios/samples/hello-pbr/hello-pbr/FilamentApp.cpp index 0b0e0dc5d5..56ed748716 100644 --- a/ios/samples/hello-pbr/hello-pbr/FilamentApp.cpp +++ b/ios/samples/hello-pbr/hello-pbr/FilamentApp.cpp @@ -41,7 +41,8 @@ void FilamentApp::initialize() { swapChain = engine->createSwapChain(nativeLayer); renderer = engine->createRenderer(); scene = engine->createScene(); - camera = engine->createCamera(); + Entity c = EntityManager::get().create(); + camera = engine->createCamera(c); filaView = engine->createView(); @@ -126,7 +127,9 @@ FilamentApp::~FilamentApp() { engine->destroy(renderer); engine->destroy(scene); engine->destroy(filaView); - engine->destroy(camera); + Entity c = camera->getEntity(); + engine->destroyCameraComponent(c); + EntityManager::get().destroy(c); engine->destroy(swapChain); engine->destroy(&engine); } diff --git a/ios/samples/hello-triangle/hello-triangle/FilamentView.mm b/ios/samples/hello-triangle/hello-triangle/FilamentView.mm index aa1d0c34f5..20d7cd0437 100644 --- a/ios/samples/hello-triangle/hello-triangle/FilamentView.mm +++ b/ios/samples/hello-triangle/hello-triangle/FilamentView.mm @@ -112,7 +112,9 @@ static constexpr uint8_t BAKED_COLOR_PACKAGE[] = { engine->destroy(renderer); engine->destroy(scene); engine->destroy(filaView); - engine->destroy(camera); + Entity c = camera->getEntity(); + engine->destroyCameraComponent(c); + EntityManager::get().destroy(c); engine->destroy(swapChain); engine->destroy(&engine); } @@ -144,7 +146,8 @@ static constexpr uint8_t BAKED_COLOR_PACKAGE[] = { swapChain = engine->createSwapChain((__bridge void*) self.layer); renderer = engine->createRenderer(); scene = engine->createScene(); - camera = engine->createCamera(); + Entity c = EntityManager::get().create(); + camera = engine->createCamera(c); renderer->setClearOptions({.clearColor={0.1, 0.125, 0.25, 1.0}, .clear = true}); filaView = engine->createView(); diff --git a/ios/samples/transparent-rendering/transparent-rendering/FilamentView.mm b/ios/samples/transparent-rendering/transparent-rendering/FilamentView.mm index 60a89930f3..fd5ff42137 100644 --- a/ios/samples/transparent-rendering/transparent-rendering/FilamentView.mm +++ b/ios/samples/transparent-rendering/transparent-rendering/FilamentView.mm @@ -113,7 +113,9 @@ static constexpr uint8_t BAKED_COLOR_PACKAGE[] = { engine->destroy(renderer); engine->destroy(scene); engine->destroy(filaView); - engine->destroy(camera); + Entity c = camera->getEntity(); + engine->destroyCameraComponent(c); + EntityManager::get().destroy(c); engine->destroy(swapChain); engine->destroy(&engine); } @@ -153,7 +155,8 @@ static constexpr uint8_t BAKED_COLOR_PACKAGE[] = { renderer = engine->createRenderer(); scene = engine->createScene(); - camera = engine->createCamera(); + Entity c = EntityManager::get().create(); + camera = engine->createCamera(c); filaView = engine->createView(); diff --git a/libs/viewer/include/viewer/AutomationSpec.h b/libs/viewer/include/viewer/AutomationSpec.h index 8f282ce04d..3f625992cf 100644 --- a/libs/viewer/include/viewer/AutomationSpec.h +++ b/libs/viewer/include/viewer/AutomationSpec.h @@ -33,7 +33,7 @@ namespace viewer { * [{ * "name": "simple", * "base": { - * "view.dof.focusDistance": 0.1, + * "view.dof.cocScale": 1.0, * "view.bloom.strength": 0.5 * }, * "permute": { diff --git a/libs/viewer/src/Settings.cpp b/libs/viewer/src/Settings.cpp index 53c3ef7d18..d80281909f 100644 --- a/libs/viewer/src/Settings.cpp +++ b/libs/viewer/src/Settings.cpp @@ -506,9 +506,7 @@ static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, DepthOfF for (int j = 0; j < size; ++j) { const jsmntok_t tok = tokens[i]; CHECK_KEY(tok); - if (0 == compare(tok, jsonChunk, "focusDistance")) { - i = parse(tokens, i + 1, jsonChunk, &out->focusDistance); - } else if (0 == compare(tok, jsonChunk, "cocScale")) { + if (0 == compare(tok, jsonChunk, "cocScale")) { i = parse(tokens, i + 1, jsonChunk, &out->cocScale); } else if (0 == compare(tok, jsonChunk, "maxApertureDiameter")) { i = parse(tokens, i + 1, jsonChunk, &out->maxApertureDiameter); @@ -1239,7 +1237,6 @@ static std::ostream& operator<<(std::ostream& out, const ViewerOptions& in) { static std::ostream& operator<<(std::ostream& out, const DepthOfFieldOptions& in) { return out << "{\n" - << "\"focusDistance\": " << (in.focusDistance) << ",\n" << "\"cocScale\": " << (in.cocScale) << ",\n" << "\"maxApertureDiameter\": " << (in.maxApertureDiameter) << ",\n" << "\"enabled\": " << to_string(in.enabled) << ",\n" diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp index 6eadab3de4..f8bb246706 100644 --- a/libs/viewer/tests/test_settings.cpp +++ b/libs/viewer/tests/test_settings.cpp @@ -103,7 +103,6 @@ static const char* JSON_TEST_DEFAULTS = R"TXT( }, "dof": { "enabled": false, - "focusDistance": 10.0, "cocScale": 1.0, "maxApertureDiameter": 0.01 }, diff --git a/tools/tungsten/core/src/com/google/android/filament/tungsten/ui/preview/PreviewMeshPanel.java b/tools/tungsten/core/src/com/google/android/filament/tungsten/ui/preview/PreviewMeshPanel.java index c9aef16c50..6b46f953f2 100644 --- a/tools/tungsten/core/src/com/google/android/filament/tungsten/ui/preview/PreviewMeshPanel.java +++ b/tools/tungsten/core/src/com/google/android/filament/tungsten/ui/preview/PreviewMeshPanel.java @@ -77,7 +77,7 @@ public class PreviewMeshPanel extends JPanel { Filament.getInstance().runOnFilamentThread((Engine engine) -> { mScene = engine.createScene(); - mCamera = engine.createCamera(); + mCamera = engine.createCamera(EntityManager.get().create()); mView = engine.createView(); mRenderer = engine.createRenderer(); mPreviewCamera = new PreviewCamera(mCamera); @@ -136,7 +136,8 @@ public class PreviewMeshPanel extends JPanel { Filament.getInstance().runOnFilamentThread((Engine engine) -> { engine.destroyRenderer(mRenderer); engine.destroyScene(mScene); - engine.destroyCamera(mCamera); + engine.destroyCameraComponent(mCamera.getEntity()); + EntityManager.get().destroy(mCamera.getEntity()); engine.destroyView(mView); mFilamentPanel.destroy(engine); engine.destroyVertexBuffer(mVertexBuffer); diff --git a/web/filament-js/extensions.js b/web/filament-js/extensions.js index 9aca321030..f8f0887578 100644 --- a/web/filament-js/extensions.js +++ b/web/filament-js/extensions.js @@ -256,10 +256,9 @@ Filament.loadClassExtensions = function() { /// setDepthOfFieldOptions ::method:: /// overrides ::argument:: Dictionary with one or more of the following properties: \ - /// focusDistance, cocScale, maxApertureDiameter, enabled. + /// cocScale, maxApertureDiameter, enabled. Filament.View.prototype.setDepthOfFieldOptions = function(overrides) { const options = { - focusDistance: 10.0, cocScale: 1.0, maxApertureDiameter: 0.01, enabled: false diff --git a/web/filament-js/filament.d.ts b/web/filament-js/filament.d.ts index be6e5ea17c..75eb357efe 100644 --- a/web/filament-js/filament.d.ts +++ b/web/filament-js/filament.d.ts @@ -102,7 +102,6 @@ export interface View$AmbientOcclusionOptions { } export interface View$DepthOfFieldOptions { - focusDistance?: number; cocScale?: number; maxApertureDiameter?: number; enabled?: boolean; diff --git a/web/filament-js/jsbindings.cpp b/web/filament-js/jsbindings.cpp index 3da3f3f4f7..e97f20d19f 100644 --- a/web/filament-js/jsbindings.cpp +++ b/web/filament-js/jsbindings.cpp @@ -367,7 +367,6 @@ value_object("View$AmbientOcclusionOpti .field("quality", &filament::View::AmbientOcclusionOptions::quality); value_object("View$DepthOfFieldOptions") - .field("focusDistance", &filament::View::DepthOfFieldOptions::focusDistance) .field("cocScale", &filament::View::DepthOfFieldOptions::cocScale) .field("maxApertureDiameter", &filament::View::DepthOfFieldOptions::maxApertureDiameter) .field("enabled", &filament::View::DepthOfFieldOptions::enabled)