@@ -785,6 +785,7 @@ static int saveSceneSettings(cJSON* sceneRoot, const VKRT_SceneSettingsSnapshot*
785785 cJSON_AddNumberToObject (settingsObject , "rrMaxDepth" , settings -> rrMaxDepth );
786786 cJSON_AddNumberToObject (settingsObject , "toneMappingMode" , settings -> toneMappingMode );
787787 cJSON_AddNumberToObject (settingsObject , "renderMode" , settings -> renderMode );
788+ cJSON_AddNumberToObject (settingsObject , "spectralSamplingMode" , settings -> spectralSamplingMode );
788789 cJSON_AddNumberToObject (settingsObject , "exposure" , settings -> exposure );
789790 cJSON_AddBoolToObject (settingsObject , "autoExposureEnabled" , settings -> autoExposureEnabled != 0u );
790791 cJSON_AddItemToObject (settingsObject , "environmentColor" , createFloatArray (settings -> environmentColor , 3u ));
@@ -842,6 +843,7 @@ static int applySceneSettings(
842843 uint32_t rrMaxDepth = settings .rrMaxDepth ;
843844 uint32_t toneMappingMode = settings .toneMappingMode ;
844845 uint32_t renderMode = settings .renderMode ;
846+ uint32_t spectralSamplingMode = settings .spectralSamplingMode ;
845847 float exposure = settings .exposure ;
846848 uint8_t autoExposureEnabled = settings .autoExposureEnabled ;
847849 vec3 environmentColor = {
@@ -861,6 +863,7 @@ static int applySceneSettings(
861863 !jsonReadOptionalUInt32Field (settingsObject , "rrMaxDepth" , & rrMaxDepth ) ||
862864 !jsonReadOptionalUInt32Field (settingsObject , "toneMappingMode" , & toneMappingMode ) ||
863865 !jsonReadOptionalUInt32Field (settingsObject , "renderMode" , & renderMode ) ||
866+ !jsonReadOptionalUInt32Field (settingsObject , "spectralSamplingMode" , & spectralSamplingMode ) ||
864867 !jsonReadOptionalFloatField (settingsObject , "exposure" , & exposure ) ||
865868 !jsonReadOptionalBoolField (settingsObject , "autoExposureEnabled" , & autoExposureEnabled ) ||
866869 !jsonReadOptionalFloatArrayField (settingsObject , "environmentColor" , environmentColor , 3u ) ||
@@ -876,6 +879,7 @@ static int applySceneSettings(
876879 return VKRT_setPathDepth (vkrt , rrMinDepth , rrMaxDepth ) == VKRT_SUCCESS &&
877880 VKRT_setToneMappingMode (vkrt , toneMappingMode ) == VKRT_SUCCESS &&
878881 VKRT_setRenderMode (vkrt , (VKRT_RenderMode )renderMode ) == VKRT_SUCCESS &&
882+ VKRT_setSpectralSamplingMode (vkrt , spectralSamplingMode ) == VKRT_SUCCESS &&
879883 VKRT_setExposure (vkrt , exposure ) == VKRT_SUCCESS &&
880884 VKRT_setAutoExposureEnabled (vkrt , autoExposureEnabled ) == VKRT_SUCCESS &&
881885 VKRT_setEnvironmentLight (vkrt , environmentColor , environmentStrength ) == VKRT_SUCCESS &&
@@ -1535,7 +1539,7 @@ static int loadSceneDocument(VKRT* vkrt, Session* session, cJSON* root, const ch
15351539 const cJSON * environmentTexturePath = cJSON_GetObjectItemCaseSensitive (root , "environmentTexturePath" );
15361540 uint32_t fileVersion = 0u ;
15371541 if (!cJSON_IsString (format ) || strcmp (format -> valuestring , "vkrt.scene" ) != 0 ||
1538- !jsonToUInt32 (version , & fileVersion ) || fileVersion != K_SCENE_FILE_VERSION ||
1542+ !jsonToUInt32 (version , & fileVersion ) || fileVersion != K_SCENE_FILE_VERSION ||
15391543 !cJSON_IsArray (meshImportsArray ) || (textureImportsArray && !cJSON_IsArray (textureImportsArray )) ||
15401544 !cJSON_IsArray (meshesArray ) || !cJSON_IsArray (sceneObjectsArray ) || !cJSON_IsObject (settingsObject ) ||
15411545 (materialsArray && !cJSON_IsArray (materialsArray )) ||
0 commit comments