You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Added non-throwing path resolution functions `tryResolveFilePath()` and `tryResolvePluginAsset()` that return empty paths instead of throwing exceptions when files are not found.
- Refactored `resolveTextureFile()` to use non-throwing path resolution functions, eliminating exception handling for file probing.
- Added overloaded `PlantArchitecture::getPlantInternodeObjectIDs()` that can take a shoot type label string in order to only get object IDs for that shoot type.
- Refactored ray tracing architecture with backend abstraction layer to enable future support for OptiX 7.7 and Vulkan backends while maintaining backward compatibility with OptiX 6.5. This is a major overhaul, but should be fully backward compatible - please report any errors you encounter.
- Added type-safe buffer indexing utilities (`BufferIndexing.h`, `IndexTypes.h`) to eliminate manual index calculations and prevent indexing errors in multi-dimensional GPU buffers.
Copy file name to clipboardExpand all lines: doc/CHANGELOG.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,18 @@
1
1
# Changelog
2
2
3
+
# [1.3.64] 2026-01-30
4
+
5
+
## Core
6
+
- Added non-throwing path resolution functions `tryResolveFilePath()` and `tryResolvePluginAsset()` that return empty paths instead of throwing exceptions when files are not found.
7
+
8
+
## Plant Architecture
9
+
- Refactored `resolveTextureFile()` to use non-throwing path resolution functions, eliminating exception handling for file probing.
10
+
- Added overloaded `PlantArchitecture::getPlantInternodeObjectIDs()` that can take a shoot type label string in order to only get object IDs for that shoot type.
11
+
12
+
## Radiation
13
+
- Refactored ray tracing architecture with backend abstraction layer to enable future support for OptiX 7.7 and Vulkan backends while maintaining backward compatibility with OptiX 6.5. This is a major overhaul, but should be fully backward compatible - please report any errors you encounter.
14
+
- Added type-safe buffer indexing utilities (`BufferIndexing.h`, `IndexTypes.h`) to eliminate manual index calculations and prevent indexing errors in multi-dimensional GPU buffers.
if (plant_instances.find(plantID) == plant_instances.end()) {
4425
+
helios_runtime_error("ERROR (PlantArchitecture::getPlantInternodeObjectIDs): Plant with ID of " + std::to_string(plantID) + " does not exist.");
4426
+
}
4427
+
4428
+
std::vector<uint> objIDs;
4429
+
4430
+
auto &shoot_tree = plant_instances.at(plantID).shoot_tree;
4431
+
4432
+
bool shoot_type_found = false;
4433
+
for (auto &shoot: shoot_tree) {
4434
+
if (shoot->shoot_type_label == shoot_type_label) {
4435
+
shoot_type_found = true;
4436
+
if (context_ptr->doesObjectExist(shoot->internode_tube_objID)) {
4437
+
objIDs.push_back(shoot->internode_tube_objID);
4438
+
}
4439
+
}
4440
+
}
4441
+
4442
+
if (!shoot_type_found) {
4443
+
helios_runtime_error("ERROR (PlantArchitecture::getPlantInternodeObjectIDs): No shoots with shoot type label '" + shoot_type_label + "' exist for plant with ID " + std::to_string(plantID) + ".");
0 commit comments