Skip to content

Commit 83dbce9

Browse files
committed
[1.3.69] 2026-03-16
## Radiation - Removed bundled OptiX 5.1 libraries and headers (linux64-5.1.0, windows64-5.1.1) and all legacy `OPTIX_VERSION_LEGACY` CMake code paths, since OptiX 5.1 support was superseded by OptiX 6.5 and 8.1 backends. - Fixed multi-tile camera rendering in the OptiX 8 backend where `__raygen__camera()` and `__raygen__pixel_label()` used per-tile resolution instead of full image resolution for ray direction computation, causing black pixels in tiles beyond the first (e.g., iPhone 12 Pro Max at 3024×4032 with 100 AA samples). - Fixed camera closest-hit for triangle primitives in the OptiX 8 backend to use the intersection program's face attribute instead of recomputing the surface normal from canonical patch vertices, which produced incorrect face orientation and black triangle pixels. - Fixed camera pixel buffer zeroing in the OptiX 6 backend so that multi-tile renders for the same camera accumulate correctly rather than re-zeroing between tiles. - Specular reflection was missing in OptiX 8 camera rendering path: camera-weighted source fluxes are now uploaded and specular contributions are accumulated per-camera in the direct miss program.
1 parent f12e6e2 commit 83dbce9

119 files changed

Lines changed: 404 additions & 59092 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 0 additions & 73 deletions
This file was deleted.

core/src/Context_object.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1343,8 +1343,6 @@ uint Context::addConeObject(uint Ndivs, const vec3 &node0, const vec3 &node1, fl
13431343
getPrimitivePointer_private(p)->setParentObjectID(currentObjectID);
13441344
}
13451345

1346-
cone_new->setColor(color);
1347-
13481346
objects[currentObjectID] = cone_new;
13491347
currentObjectID++;
13501348

doc/CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
# Changelog
22

3+
# [1.3.69] 2026-03-16
4+
5+
## Core
6+
- Removed redundant `setColor()` call in `addConeObject()` that was re-applying the color already set on individual triangles during construction.
7+
8+
## Plant Architecture
9+
- Renamed generic `Material.002` material in `PetiolulePrototype` OBJ/MTL assets to descriptive `petiolule` label.
10+
11+
## Radiation
12+
- Removed bundled OptiX 5.1 libraries and headers (linux64-5.1.0, windows64-5.1.1) and all legacy `OPTIX_VERSION_LEGACY` CMake code paths, since OptiX 5.1 support was superseded by OptiX 6.5 and 8.1 backends.
13+
- Fixed multi-tile camera rendering in the OptiX 8 backend where `__raygen__camera()` and `__raygen__pixel_label()` used per-tile resolution instead of full image resolution for ray direction computation, causing black pixels in tiles beyond the first (e.g., iPhone 12 Pro Max at 3024×4032 with 100 AA samples).
14+
- Fixed camera closest-hit for triangle primitives in the OptiX 8 backend to use the intersection program's face attribute instead of recomputing the surface normal from canonical patch vertices, which produced incorrect face orientation and black triangle pixels.
15+
- Fixed camera pixel buffer zeroing in the OptiX 6 backend so that multi-tile renders for the same camera accumulate correctly rather than re-zeroing between tiles.
16+
- Specular reflection was missing in OptiX 8 camera rendering path: camera-weighted source fluxes are now uploaded and specular contributions are accumulated per-camera in the direct miss program.
17+
318
# [1.3.68] 2026-03-15
419

520
## Core

plugins/plantarchitecture/assets/obj/PetiolulePrototype.mtl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Blender 3.3.0 MTL File: 'None'
22
# www.blender.org
33

4-
newmtl Material.002
4+
newmtl petiolule
55
Ns 250.000000
66
Ka 1.000000 1.000000 1.000000
77
Kd 0.210000 0.250000 0.050000

plugins/plantarchitecture/assets/obj/PetiolulePrototype.obj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ v 0.089140 0.012770 0.010680
8585
v 0.094604 0.014189 0.010659
8686
v 0.100534 0.015063 0.010636
8787
s 0
88-
usemtl Material.002
88+
usemtl petiolule
8989
f 2 24 1
9090
f 4 1 3
9191
f 9 6 7

plugins/radiation/CMakeLists.txt

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,7 @@ if(CUDAToolkit_FOUND AND NOT FORCE_VULKAN_BACKEND)
4141
set(CMAKE_CUDA_COMPILER ${CUDAToolkit_NVCC_EXECUTABLE})
4242

4343
# Set CUDA architectures before enabling CUDA language
44-
if( OPTIX_VERSION_LEGACY )
45-
set(CMAKE_CUDA_ARCHITECTURES "35")
46-
else()
47-
include("${CMAKE_BINARY_DIR}/lib/detect_GPU_compute.cmake")
48-
endif()
44+
include("${CMAKE_BINARY_DIR}/lib/detect_GPU_compute.cmake")
4945

5046
# Enable CUDA as a language (modern CMake approach)
5147
enable_language(CUDA)
@@ -282,6 +278,7 @@ set(OPTIX8_IR_OUTPUT "${CMAKE_BINARY_DIR}/plugins/radiation/OptiX8DeviceCode.opt
282278
set(OPTIX8_NVCC_FLAGS
283279
--optix-ir
284280
--use_fast_math
281+
-diag-suppress 20044
285282
-I${CMAKE_CURRENT_SOURCE_DIR}/src/optix8
286283
-I${CMAKE_CURRENT_SOURCE_DIR}/include
287284
-I${_OPTIX8_INCLUDE}
@@ -359,28 +356,16 @@ endif()
359356
target_link_libraries(radiation PUBLIC CUDA::cudart_static)
360357

361358
if(UNIX AND NOT APPLE)
362-
if( OPTIX_VERSION_LEGACY )
363-
set(OPTIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/OptiX/linux64-5.1.0/)
364-
message("Using legacy OptiX version 5.1")
365-
else()
366-
set(OPTIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/OptiX/linux64-6.5.0/)
367-
message("Using OptiX version 6.5")
368-
endif()
359+
set(OPTIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/OptiX/linux64-6.5.0/)
360+
message(STATUS "[Radiation] Using OptiX version 6.5")
369361
target_include_directories(radiation PUBLIC "${OPTIX_PATH}include" )
370362
target_link_libraries( radiation PUBLIC ${OPTIX_PATH}lib64/liboptix.so )
371363
endif(UNIX AND NOT APPLE)
372364
if(WIN32)
373-
if( OPTIX_VERSION_LEGACY )
374-
set(OPTIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/OptiX/windows64-5.1.1/)
375-
set(OPTIX_LIB "optix.51.lib")
376-
set(OPTIX_DLL "optix.51.dll")
377-
message("Using legacy OptiX version 5.1")
378-
else()
379-
set(OPTIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/OptiX/windows64-6.5.0/)
380-
set(OPTIX_LIB "optix.6.5.0.lib")
381-
set(OPTIX_DLL "optix.6.5.0.dll")
382-
message("Using OptiX version 6.5")
383-
endif()
365+
set(OPTIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/OptiX/windows64-6.5.0/)
366+
set(OPTIX_LIB "optix.6.5.0.lib")
367+
set(OPTIX_DLL "optix.6.5.0.dll")
368+
message(STATUS "[Radiation] Using OptiX version 6.5")
384369
target_include_directories(radiation PUBLIC "${OPTIX_PATH}include" )
385370
target_link_libraries( radiation PUBLIC "${OPTIX_PATH}lib64/${OPTIX_LIB}" )
386371
add_custom_command( TARGET radiation POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${OPTIX_PATH}lib64/${OPTIX_LIB}" "${CMAKE_BINARY_DIR}/." )

plugins/radiation/lib/OptiX/linux64-5.1.0/include/internal/optix_datatypes.h

Lines changed: 0 additions & 166 deletions
This file was deleted.

0 commit comments

Comments
 (0)