Skip to content

Commit 4db600e

Browse files
committed
Better naming, save the probe_batch
1 parent fa8f7f1 commit 4db600e

File tree

5 files changed

+91
-75
lines changed

5 files changed

+91
-75
lines changed

src/reflection_baked_data.cpp renamed to src/baked_reflection_data.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "reflection_baked_data.hpp"
1+
#include "baked_reflection_data.hpp"
22
#include <godot_cpp/core/class_db.hpp>
33
#include <godot_cpp/variant/utility_functions.hpp>
44

@@ -17,6 +17,13 @@ SteamAudioBakedReflectionData::SteamAudioBakedReflectionData() {
1717
SteamAudioBakedReflectionData::~SteamAudioBakedReflectionData() {
1818
}
1919

20+
void SteamAudioBakedReflectionData::set_serialized_data_internal(IPLbyte *data) {
21+
serialized_data.resize(sizeof(data));
22+
for (size_t i = 0; i < sizeof(data); ++i) {
23+
serialized_data[i] = data[i];
24+
}
25+
}
26+
2027
void SteamAudioBakedReflectionData::set_serialized_data(const PackedByteArray& p_data) {
2128
serialized_data = p_data;
2229
}

src/reflection_baked_data.hpp renamed to src/baked_reflection_data.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class SteamAudioBakedReflectionData : public Resource {
1919
SteamAudioBakedReflectionData();
2020
~SteamAudioBakedReflectionData();
2121

22+
void set_serialized_data_internal(IPLbyte *data);
2223
void set_serialized_data(const PackedByteArray& p_data);
2324
PackedByteArray get_serialized_data() const;
2425
};

src/reflection_baker.cpp renamed to src/baked_reflections.cpp

Lines changed: 74 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "reflection_baker.hpp"
1+
#include "baked_reflections.hpp"
22
#include "server.hpp"
33

44
#include <godot_cpp/core/class_db.hpp>
@@ -8,37 +8,37 @@
88

99
using namespace godot;
1010

11-
void SteamAudioReflectionBaker::_bind_methods() {
11+
void SteamAudioBakedReflections::_bind_methods() {
1212
// Bind methods
13-
ClassDB::bind_method(D_METHOD("set_baked_data", "data"), &SteamAudioReflectionBaker::set_baked_data);
14-
ClassDB::bind_method(D_METHOD("get_baked_data"), &SteamAudioReflectionBaker::get_baked_data);
15-
ClassDB::bind_method(D_METHOD("start_bake"), &SteamAudioReflectionBaker::start_bake);
16-
ClassDB::bind_method(D_METHOD("get_is_baking"), &SteamAudioReflectionBaker::get_is_baking);
17-
ClassDB::bind_method(D_METHOD("get_bake_progress"), &SteamAudioReflectionBaker::get_bake_progress);
18-
ClassDB::bind_method(D_METHOD("set_num_rays", "num_rays"), &SteamAudioReflectionBaker::set_num_rays);
19-
ClassDB::bind_method(D_METHOD("get_num_rays"), &SteamAudioReflectionBaker::get_num_rays);
20-
ClassDB::bind_method(D_METHOD("set_num_bounces", "num_bounces"), &SteamAudioReflectionBaker::set_num_bounces);
21-
ClassDB::bind_method(D_METHOD("get_num_bounces"), &SteamAudioReflectionBaker::get_num_bounces);
22-
ClassDB::bind_method(D_METHOD("set_duration", "duration"), &SteamAudioReflectionBaker::set_duration);
23-
ClassDB::bind_method(D_METHOD("get_duration"), &SteamAudioReflectionBaker::get_duration);
24-
ClassDB::bind_method(D_METHOD("set_num_diffuse_samples", "num_diffuse_samples"), &SteamAudioReflectionBaker::set_num_diffuse_samples);
25-
ClassDB::bind_method(D_METHOD("get_num_diffuse_samples"), &SteamAudioReflectionBaker::get_num_diffuse_samples);
26-
ClassDB::bind_method(D_METHOD("set_irradiance_min_distance", "irradiance_min_distance"), &SteamAudioReflectionBaker::set_irradiance_min_distance);
27-
ClassDB::bind_method(D_METHOD("get_irradiance_min_distance"), &SteamAudioReflectionBaker::get_irradiance_min_distance);
28-
ClassDB::bind_method(D_METHOD("set_bake_parametric", "bake_parametric"), &SteamAudioReflectionBaker::set_bake_parametric);
29-
ClassDB::bind_method(D_METHOD("get_bake_parametric"), &SteamAudioReflectionBaker::get_bake_parametric);
30-
ClassDB::bind_method(D_METHOD("set_bake_convolution", "bake_convolution"), &SteamAudioReflectionBaker::set_bake_convolution);
31-
ClassDB::bind_method(D_METHOD("get_bake_convolution"), &SteamAudioReflectionBaker::get_bake_convolution);
32-
ClassDB::bind_method(D_METHOD("set_center", "center"), &SteamAudioReflectionBaker::set_center);
33-
ClassDB::bind_method(D_METHOD("get_center"), &SteamAudioReflectionBaker::get_center);
34-
ClassDB::bind_method(D_METHOD("set_radius", "radius"), &SteamAudioReflectionBaker::set_radius);
35-
ClassDB::bind_method(D_METHOD("get_radius"), &SteamAudioReflectionBaker::get_radius);
36-
ClassDB::bind_method(D_METHOD("set_probe_spacing", "probe_spacing"), &SteamAudioReflectionBaker::set_probe_spacing);
37-
ClassDB::bind_method(D_METHOD("get_probe_spacing"), &SteamAudioReflectionBaker::get_probe_spacing);
38-
ClassDB::bind_method(D_METHOD("set_probe_height", "probe_height"), &SteamAudioReflectionBaker::set_probe_height);
39-
ClassDB::bind_method(D_METHOD("get_probe_height"), &SteamAudioReflectionBaker::get_probe_height);
40-
ClassDB::bind_method(D_METHOD("set_probe_generation_extents", "probe_generation_extents"), &SteamAudioReflectionBaker::set_probe_generation_extents);
41-
ClassDB::bind_method(D_METHOD("get_probe_generation_extents"), &SteamAudioReflectionBaker::get_probe_generation_extents);
13+
ClassDB::bind_method(D_METHOD("set_baked_data", "data"), &SteamAudioBakedReflections::set_baked_data);
14+
ClassDB::bind_method(D_METHOD("get_baked_data"), &SteamAudioBakedReflections::get_baked_data);
15+
ClassDB::bind_method(D_METHOD("start_bake"), &SteamAudioBakedReflections::start_bake);
16+
ClassDB::bind_method(D_METHOD("get_is_baking"), &SteamAudioBakedReflections::get_is_baking);
17+
ClassDB::bind_method(D_METHOD("get_bake_progress"), &SteamAudioBakedReflections::get_bake_progress);
18+
ClassDB::bind_method(D_METHOD("set_num_rays", "num_rays"), &SteamAudioBakedReflections::set_num_rays);
19+
ClassDB::bind_method(D_METHOD("get_num_rays"), &SteamAudioBakedReflections::get_num_rays);
20+
ClassDB::bind_method(D_METHOD("set_num_bounces", "num_bounces"), &SteamAudioBakedReflections::set_num_bounces);
21+
ClassDB::bind_method(D_METHOD("get_num_bounces"), &SteamAudioBakedReflections::get_num_bounces);
22+
ClassDB::bind_method(D_METHOD("set_duration", "duration"), &SteamAudioBakedReflections::set_duration);
23+
ClassDB::bind_method(D_METHOD("get_duration"), &SteamAudioBakedReflections::get_duration);
24+
ClassDB::bind_method(D_METHOD("set_num_diffuse_samples", "num_diffuse_samples"), &SteamAudioBakedReflections::set_num_diffuse_samples);
25+
ClassDB::bind_method(D_METHOD("get_num_diffuse_samples"), &SteamAudioBakedReflections::get_num_diffuse_samples);
26+
ClassDB::bind_method(D_METHOD("set_irradiance_min_distance", "irradiance_min_distance"), &SteamAudioBakedReflections::set_irradiance_min_distance);
27+
ClassDB::bind_method(D_METHOD("get_irradiance_min_distance"), &SteamAudioBakedReflections::get_irradiance_min_distance);
28+
ClassDB::bind_method(D_METHOD("set_bake_parametric", "bake_parametric"), &SteamAudioBakedReflections::set_bake_parametric);
29+
ClassDB::bind_method(D_METHOD("get_bake_parametric"), &SteamAudioBakedReflections::get_bake_parametric);
30+
ClassDB::bind_method(D_METHOD("set_bake_convolution", "bake_convolution"), &SteamAudioBakedReflections::set_bake_convolution);
31+
ClassDB::bind_method(D_METHOD("get_bake_convolution"), &SteamAudioBakedReflections::get_bake_convolution);
32+
ClassDB::bind_method(D_METHOD("set_center", "center"), &SteamAudioBakedReflections::set_center);
33+
ClassDB::bind_method(D_METHOD("get_center"), &SteamAudioBakedReflections::get_center);
34+
ClassDB::bind_method(D_METHOD("set_radius", "radius"), &SteamAudioBakedReflections::set_radius);
35+
ClassDB::bind_method(D_METHOD("get_radius"), &SteamAudioBakedReflections::get_radius);
36+
ClassDB::bind_method(D_METHOD("set_probe_spacing", "probe_spacing"), &SteamAudioBakedReflections::set_probe_spacing);
37+
ClassDB::bind_method(D_METHOD("get_probe_spacing"), &SteamAudioBakedReflections::get_probe_spacing);
38+
ClassDB::bind_method(D_METHOD("set_probe_height", "probe_height"), &SteamAudioBakedReflections::set_probe_height);
39+
ClassDB::bind_method(D_METHOD("get_probe_height"), &SteamAudioBakedReflections::get_probe_height);
40+
ClassDB::bind_method(D_METHOD("set_probe_generation_extents", "probe_generation_extents"), &SteamAudioBakedReflections::set_probe_generation_extents);
41+
ClassDB::bind_method(D_METHOD("get_probe_generation_extents"), &SteamAudioBakedReflections::get_probe_generation_extents);
4242

4343
// Add properties
4444
ADD_GROUP("Reflection Bake", "");
@@ -63,7 +63,7 @@ void SteamAudioReflectionBaker::_bind_methods() {
6363
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "baked_data", PROPERTY_HINT_RESOURCE_TYPE, "BakedReflectionData"), "set_baked_data", "get_baked_data");
6464
}
6565

66-
SteamAudioReflectionBaker::SteamAudioReflectionBaker() {
66+
SteamAudioBakedReflections::SteamAudioBakedReflections() {
6767
probe_batch = nullptr;
6868
is_baking = false;
6969
bake_progress = 0.0f;
@@ -78,13 +78,13 @@ SteamAudioReflectionBaker::SteamAudioReflectionBaker() {
7878
bake_convolution = true;
7979
}
8080

81-
SteamAudioReflectionBaker::~SteamAudioReflectionBaker() {
81+
SteamAudioBakedReflections::~SteamAudioBakedReflections() {
8282
if (probe_batch) {
8383
iplProbeBatchRelease(&probe_batch);
8484
}
8585
}
8686

87-
void SteamAudioReflectionBaker::generate_probes() {
87+
void SteamAudioBakedReflections::generate_probes() {
8888
float x = probe_generation_extents.x;
8989
float y = probe_generation_extents.y;
9090
float z = probe_generation_extents.z;
@@ -121,14 +121,14 @@ void SteamAudioReflectionBaker::generate_probes() {
121121
iplProbeBatchCommit(probe_batch);
122122
}
123123

124-
void SteamAudioReflectionBaker::set_baked_data(const Ref<SteamAudioBakedReflectionData>& p_data) {
124+
void SteamAudioBakedReflections::set_baked_data(const Ref<SteamAudioBakedReflectionData>& p_data) {
125125
}
126126

127-
Ref<SteamAudioBakedReflectionData> SteamAudioReflectionBaker::get_baked_data() const {
127+
Ref<SteamAudioBakedReflectionData> SteamAudioBakedReflections::get_baked_data() const {
128128
return nullptr;
129129
}
130130

131-
IPLReflectionsBakeParams SteamAudioReflectionBaker::get_bake_params() const {
131+
IPLReflectionsBakeParams SteamAudioBakedReflections::get_bake_params() const {
132132
IPLBakedDataIdentifier identifier{};
133133
identifier.type = IPL_BAKEDDATATYPE_REFLECTIONS;
134134
identifier.variation = IPL_BAKEDDATAVARIATION_DYNAMIC;
@@ -163,7 +163,7 @@ IPLReflectionsBakeParams SteamAudioReflectionBaker::get_bake_params() const {
163163
return params;
164164
}
165165

166-
void SteamAudioReflectionBaker::start_bake() {
166+
void SteamAudioBakedReflections::start_bake() {
167167
if (is_baking) {
168168
return;
169169
}
@@ -175,11 +175,19 @@ void SteamAudioReflectionBaker::start_bake() {
175175
IPLReflectionsBakeParams params = get_bake_params();
176176
iplReflectionsBakerBake(context, &params, nullptr, nullptr);
177177

178+
IPLSerializedObject serialized_object{};
179+
iplProbeBatchSave(probe_batch, serialized_object);
180+
181+
if (!baked_data.is_valid()) {
182+
baked_data.instantiate();
183+
}
184+
baked_data->set_serialized_data_internal(iplSerializedObjectGetData(serialized_object));
185+
178186
is_baking = false;
179187
}
180188

181-
void SteamAudioReflectionBaker::bake_progress_callback(float progress, void* user_data) {
182-
SteamAudioReflectionBaker* manager = static_cast<SteamAudioReflectionBaker*>(user_data);
189+
void SteamAudioBakedReflections::bake_progress_callback(float progress, void* user_data) {
190+
SteamAudioBakedReflections* manager = static_cast<SteamAudioBakedReflections*>(user_data);
183191
manager->bake_progress = progress;
184192

185193
// Print progress every 10%
@@ -191,29 +199,29 @@ void SteamAudioReflectionBaker::bake_progress_callback(float progress, void* use
191199
}
192200
}
193201

194-
bool SteamAudioReflectionBaker::get_is_baking() const {return is_baking;}
195-
float SteamAudioReflectionBaker::get_bake_progress() const {return bake_progress;}
196-
void SteamAudioReflectionBaker::set_num_rays(int p_num_rays) { num_rays = p_num_rays; }
197-
int SteamAudioReflectionBaker::get_num_rays() const { return num_rays; }
198-
void SteamAudioReflectionBaker::set_num_bounces(int p_num_bounces) { num_bounces = p_num_bounces; }
199-
int SteamAudioReflectionBaker::get_num_bounces() const { return num_bounces; }
200-
void SteamAudioReflectionBaker::set_duration(float p_duration) { duration = p_duration; }
201-
float SteamAudioReflectionBaker::get_duration() const { return duration; }
202-
void SteamAudioReflectionBaker::set_num_diffuse_samples(int p_num_diffuse_samples) { num_diffuse_samples = p_num_diffuse_samples; }
203-
int SteamAudioReflectionBaker::get_num_diffuse_samples() const { return num_diffuse_samples; }
204-
void SteamAudioReflectionBaker::set_irradiance_min_distance(float p_irradiance_min_distance) { irradiance_min_distance = p_irradiance_min_distance; }
205-
float SteamAudioReflectionBaker::get_irradiance_min_distance() const { return irradiance_min_distance; }
206-
void SteamAudioReflectionBaker::set_bake_parametric(bool p_bake_parametric) { bake_parametric = p_bake_parametric; }
207-
bool SteamAudioReflectionBaker::get_bake_parametric() const { return bake_parametric; }
208-
void SteamAudioReflectionBaker::set_bake_convolution(bool p_bake_convolution) { bake_convolution = p_bake_convolution; }
209-
bool SteamAudioReflectionBaker::get_bake_convolution() const { return bake_convolution; }
210-
void SteamAudioReflectionBaker::set_center(Vector3 p_center) { center = p_center; }
211-
Vector3 SteamAudioReflectionBaker::get_center() const { return center; }
212-
void SteamAudioReflectionBaker::set_radius(float p_radius) { radius = p_radius; }
213-
float SteamAudioReflectionBaker::get_radius() const { return radius; }
214-
void SteamAudioReflectionBaker::set_probe_spacing(float p_probe_spacing) { probe_spacing = p_probe_spacing; }
215-
float SteamAudioReflectionBaker::get_probe_spacing() const { return probe_spacing; }
216-
void SteamAudioReflectionBaker::set_probe_height(float p_probe_height) { probe_height = p_probe_height; }
217-
float SteamAudioReflectionBaker::get_probe_height() const { return probe_height; }
218-
void SteamAudioReflectionBaker::set_probe_generation_extents(Vector3 p_probe_generation_extents) { probe_generation_extents = p_probe_generation_extents; }
219-
Vector3 SteamAudioReflectionBaker::get_probe_generation_extents() const { return probe_generation_extents; }
202+
bool SteamAudioBakedReflections::get_is_baking() const {return is_baking;}
203+
float SteamAudioBakedReflections::get_bake_progress() const {return bake_progress;}
204+
void SteamAudioBakedReflections::set_num_rays(int p_num_rays) { num_rays = p_num_rays; }
205+
int SteamAudioBakedReflections::get_num_rays() const { return num_rays; }
206+
void SteamAudioBakedReflections::set_num_bounces(int p_num_bounces) { num_bounces = p_num_bounces; }
207+
int SteamAudioBakedReflections::get_num_bounces() const { return num_bounces; }
208+
void SteamAudioBakedReflections::set_duration(float p_duration) { duration = p_duration; }
209+
float SteamAudioBakedReflections::get_duration() const { return duration; }
210+
void SteamAudioBakedReflections::set_num_diffuse_samples(int p_num_diffuse_samples) { num_diffuse_samples = p_num_diffuse_samples; }
211+
int SteamAudioBakedReflections::get_num_diffuse_samples() const { return num_diffuse_samples; }
212+
void SteamAudioBakedReflections::set_irradiance_min_distance(float p_irradiance_min_distance) { irradiance_min_distance = p_irradiance_min_distance; }
213+
float SteamAudioBakedReflections::get_irradiance_min_distance() const { return irradiance_min_distance; }
214+
void SteamAudioBakedReflections::set_bake_parametric(bool p_bake_parametric) { bake_parametric = p_bake_parametric; }
215+
bool SteamAudioBakedReflections::get_bake_parametric() const { return bake_parametric; }
216+
void SteamAudioBakedReflections::set_bake_convolution(bool p_bake_convolution) { bake_convolution = p_bake_convolution; }
217+
bool SteamAudioBakedReflections::get_bake_convolution() const { return bake_convolution; }
218+
void SteamAudioBakedReflections::set_center(Vector3 p_center) { center = p_center; }
219+
Vector3 SteamAudioBakedReflections::get_center() const { return center; }
220+
void SteamAudioBakedReflections::set_radius(float p_radius) { radius = p_radius; }
221+
float SteamAudioBakedReflections::get_radius() const { return radius; }
222+
void SteamAudioBakedReflections::set_probe_spacing(float p_probe_spacing) { probe_spacing = p_probe_spacing; }
223+
float SteamAudioBakedReflections::get_probe_spacing() const { return probe_spacing; }
224+
void SteamAudioBakedReflections::set_probe_height(float p_probe_height) { probe_height = p_probe_height; }
225+
float SteamAudioBakedReflections::get_probe_height() const { return probe_height; }
226+
void SteamAudioBakedReflections::set_probe_generation_extents(Vector3 p_probe_generation_extents) { probe_generation_extents = p_probe_generation_extents; }
227+
Vector3 SteamAudioBakedReflections::get_probe_generation_extents() const { return probe_generation_extents; }

src/reflection_baker.hpp renamed to src/baked_reflections.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
#define GODOT_STEAM_AUDIO_REFLECTION_BAKER_HPP
33

44
#include "probe.hpp"
5-
#include "reflection_baked_data.hpp"
5+
#include "baked_reflection_data.hpp"
66

77
#include <godot_cpp/classes/node.hpp>
88

99
#include <phonon.h>
1010

1111
using namespace godot;
1212

13-
class SteamAudioReflectionBaker : public Node {
14-
GDCLASS(SteamAudioReflectionBaker, Node)
13+
class SteamAudioBakedReflections : public Node {
14+
GDCLASS(SteamAudioBakedReflections, Node)
1515

1616
private:
1717
IPLProbeBatch probe_batch;
@@ -43,8 +43,8 @@ class SteamAudioReflectionBaker : public Node {
4343
static void _bind_methods();
4444

4545
public:
46-
SteamAudioReflectionBaker();
47-
~SteamAudioReflectionBaker();
46+
SteamAudioBakedReflections();
47+
~SteamAudioBakedReflections();
4848

4949
void generate_probes();
5050

src/register_types.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
#include "server.hpp"
1111
#include "stream.hpp"
1212
#include "probe.hpp"
13-
#include "reflection_baker.hpp"
14-
#include "reflection_baked_data.hpp"
13+
#include "baked_reflections.hpp"
14+
#include "baked_reflection_data.hpp"
1515

1616
#include <gdextension_interface.h>
1717
#include <godot_cpp/core/class_db.hpp>
@@ -36,7 +36,7 @@ void init_ext(ModuleInitializationLevel p_level) {
3636
ClassDB::register_class<SteamAudioMaterial>();
3737
ClassDB::register_class<SteamAudioConfig>();
3838
ClassDB::register_class<SteamAudioPlayer>();
39-
ClassDB::register_class<SteamAudioReflectionBaker>();
39+
ClassDB::register_class<SteamAudioBakedReflections>();
4040
ClassDB::register_class<SteamAudioBakedReflectionData>();
4141
ClassDB::register_class<SteamAudioProbe>();
4242
}

0 commit comments

Comments
 (0)