From 42f5ab68df404bbdf516d38e8ff25657ddc91a82 Mon Sep 17 00:00:00 2001
From: codex <103840984+codex128@users.noreply.github.com>
Date: Sun, 23 Jun 2024 08:28:56 -0400
Subject: [PATCH] fixed depth of field filter import-export
---
.../src/main/java/com/jme3/math/FastMath.java | 3 +--
.../framegraph/passes/RenderPass.java | 1 -
.../bufferobject/layout/BufferLayout.java | 2 +-
.../util/struct/StructStd140BufferObject.java | 8 +++----
.../jme3/post/filters/DepthOfFieldFilter.java | 22 +++++++++++++++++++
5 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/jme3-core/src/main/java/com/jme3/math/FastMath.java b/jme3-core/src/main/java/com/jme3/math/FastMath.java
index 90c025d672..c0eacfdd5d 100644
--- a/jme3-core/src/main/java/com/jme3/math/FastMath.java
+++ b/jme3-core/src/main/java/com/jme3/math/FastMath.java
@@ -848,8 +848,7 @@ public static float determinant(double m00, double m01, double m02,
*
* @param min the desired minimum value
* @param max the desired maximum value
- * @return A random float between min (inclusive) to
- * max (inclusive).
+ * @return A random float between min (inclusive) to max (inclusive).
*/
public static float nextRandomFloat(float min, float max) {
float f = (nextRandomFloat() * (max - min + 1.0f)) + min;
diff --git a/jme3-core/src/main/java/com/jme3/renderer/framegraph/passes/RenderPass.java b/jme3-core/src/main/java/com/jme3/renderer/framegraph/passes/RenderPass.java
index 0acf38b629..08bcfacac3 100644
--- a/jme3-core/src/main/java/com/jme3/renderer/framegraph/passes/RenderPass.java
+++ b/jme3-core/src/main/java/com/jme3/renderer/framegraph/passes/RenderPass.java
@@ -941,7 +941,6 @@ public static String groupTicketName(String group, int i) {
/**
*
* @param group
- * @param i
* @return
*/
public static String listTicketName(String group) {
diff --git a/jme3-core/src/main/java/com/jme3/shader/bufferobject/layout/BufferLayout.java b/jme3-core/src/main/java/com/jme3/shader/bufferobject/layout/BufferLayout.java
index 78198ad025..db8310ad66 100644
--- a/jme3-core/src/main/java/com/jme3/shader/bufferobject/layout/BufferLayout.java
+++ b/jme3-core/src/main/java/com/jme3/shader/bufferobject/layout/BufferLayout.java
@@ -85,7 +85,7 @@ protected ObjectSerializer> getSerializer(Object obj) {
/**
* Register a serializer
*
- * @param type
+ * @param serializer
*/
protected void registerSerializer(ObjectSerializer> serializer) {
serializers.add(serializer);
diff --git a/jme3-core/src/main/java/com/jme3/util/struct/StructStd140BufferObject.java b/jme3-core/src/main/java/com/jme3/util/struct/StructStd140BufferObject.java
index 4529239865..269009a960 100644
--- a/jme3-core/src/main/java/com/jme3/util/struct/StructStd140BufferObject.java
+++ b/jme3-core/src/main/java/com/jme3/util/struct/StructStd140BufferObject.java
@@ -56,15 +56,15 @@ public class StructStd140BufferObject extends BufferObject {
private final Std140Layout std140 = new Std140Layout();
/**
- * Create an empty Struct buffer
- *
- * @param str
+ * Create an empty Struct buffer.
*/
public StructStd140BufferObject() {
}
/**
- * Internal only
+ * Internal only.
+ *
+ * @param id
*/
public StructStd140BufferObject(int id) {
super(id);
diff --git a/jme3-effects/src/main/java/com/jme3/post/filters/DepthOfFieldFilter.java b/jme3-effects/src/main/java/com/jme3/post/filters/DepthOfFieldFilter.java
index b4de8ce3e5..31b708a84d 100644
--- a/jme3-effects/src/main/java/com/jme3/post/filters/DepthOfFieldFilter.java
+++ b/jme3-effects/src/main/java/com/jme3/post/filters/DepthOfFieldFilter.java
@@ -95,7 +95,29 @@ protected void initFilter(AssetManager assets, RenderManager renderManager,
material.setFloat("XScale", blurScale * xScale);
material.setFloat("YScale", blurScale * yScale);
}
+
+ @Override
+ public void write(JmeExporter ex) throws IOException {
+ super.write(ex);
+ OutputCapsule out = ex.getCapsule(this);
+ out.write(focusDistance, "focusDistance", 50f);
+ out.write(focusRange, "focusRange", 10f);
+ out.write(blurScale, "blurScale", 1f);
+ out.write(blurThreshold, "blurThreshold", 0.2f);
+ out.write(debugUnfocus, "debugUnfocus", false);
+ }
+ @Override
+ public void read(JmeImporter im) throws IOException {
+ super.read(im);
+ InputCapsule in = im.getCapsule(this);
+ focusDistance = in.readFloat("focusDistance", 50f);
+ focusRange = in.readFloat("focusRange", 10f);
+ blurScale = in.readFloat("blurScale", 1f);
+ blurThreshold = in.readFloat("blurThreshold", 0.2f);
+ debugUnfocus = in.readBoolean("debugUnfocus", false);
+ }
+
/**
* Sets the distance at which objects are purely in focus.
*