11/*
2- * Copyright (c) 2023, NVIDIA CORPORATION. All rights reserved.
2+ * Copyright (c) 2023-2024 , NVIDIA CORPORATION. All rights reserved.
33 *
44 * Permission is hereby granted, free of charge, to any person obtaining a
55 * copy of this software and associated documentation files (the "Software"),
@@ -365,23 +365,30 @@ namespace remix {
365365 subsurfaceSingleScatteringAlbedoTexture = {};
366366 subsurfaceTransmittanceColor = { 0 .5f , 0 .5f , 0 .5f };
367367 subsurfaceMeasurementDistance = 0 .0f ;
368- subsurfaceSingleScatteringAlbedo = { 0 .5f , 0 .5f , 0 .5f };;
368+ subsurfaceSingleScatteringAlbedo = { 0 .5f , 0 .5f , 0 .5f };
369369 subsurfaceVolumetricAnisotropy = 0 .0f ;
370- static_assert (sizeof remixapi_MaterialInfoOpaqueSubsurfaceEXT == 72 );
370+ subsurfaceDiffusionProfile = false ;
371+ subsurfaceRadius = { 0 .5f , 0 .5f , 0 .5f };
372+ subsurfaceRadiusScale = 0 .0f ;
373+ subsurfaceMaxSampleRadius = 0 .0f ;
374+ subsurfaceRadiusTexture = {};
375+ static_assert (sizeof remixapi_MaterialInfoOpaqueSubsurfaceEXT == 104 );
371376 }
372377
373378 MaterialInfoOpaqueSubsurfaceEXT (const MaterialInfoOpaqueSubsurfaceEXT& other)
374379 : remixapi_MaterialInfoOpaqueSubsurfaceEXT(other)
375380 , cpp_subsurfaceTransmittanceTexture(other.cpp_subsurfaceTransmittanceTexture)
376381 , cpp_subsurfaceThicknessTexture(other.cpp_subsurfaceThicknessTexture)
377- , cpp_subsurfaceSingleScatteringAlbedoTexture(other.cpp_subsurfaceSingleScatteringAlbedoTexture) {
382+ , cpp_subsurfaceSingleScatteringAlbedoTexture(other.cpp_subsurfaceSingleScatteringAlbedoTexture)
383+ , cpp_subsurfaceRadiusTexture(other.cpp_subsurfaceRadiusTexture) {
378384 cpp_fixPointers ();
379385 }
380386 MaterialInfoOpaqueSubsurfaceEXT (MaterialInfoOpaqueSubsurfaceEXT&& other) noexcept
381387 : remixapi_MaterialInfoOpaqueSubsurfaceEXT(other)
382388 , cpp_subsurfaceTransmittanceTexture(std::move(other.cpp_subsurfaceTransmittanceTexture))
383389 , cpp_subsurfaceThicknessTexture(std::move(other.cpp_subsurfaceThicknessTexture))
384- , cpp_subsurfaceSingleScatteringAlbedoTexture(std::move(other.cpp_subsurfaceSingleScatteringAlbedoTexture)) {
390+ , cpp_subsurfaceSingleScatteringAlbedoTexture(std::move(other.cpp_subsurfaceSingleScatteringAlbedoTexture))
391+ , cpp_subsurfaceRadiusTexture(std::move(other.cpp_subsurfaceRadiusTexture)) {
385392 cpp_fixPointers ();
386393 }
387394 MaterialInfoOpaqueSubsurfaceEXT& operator =(const MaterialInfoOpaqueSubsurfaceEXT& other) {
@@ -392,6 +399,7 @@ namespace remix {
392399 cpp_subsurfaceTransmittanceTexture = other.cpp_subsurfaceTransmittanceTexture ;
393400 cpp_subsurfaceThicknessTexture = other.cpp_subsurfaceThicknessTexture ;
394401 cpp_subsurfaceSingleScatteringAlbedoTexture = other.cpp_subsurfaceSingleScatteringAlbedoTexture ;
402+ cpp_subsurfaceRadiusTexture = other.cpp_subsurfaceRadiusTexture ;
395403 cpp_fixPointers ();
396404 return *this ;
397405 }
@@ -403,6 +411,7 @@ namespace remix {
403411 cpp_subsurfaceTransmittanceTexture = std::move (other.cpp_subsurfaceTransmittanceTexture );
404412 cpp_subsurfaceThicknessTexture = std::move (other.cpp_subsurfaceThicknessTexture );
405413 cpp_subsurfaceSingleScatteringAlbedoTexture = std::move (other.cpp_subsurfaceSingleScatteringAlbedoTexture );
414+ cpp_subsurfaceRadiusTexture = std::move (other.cpp_subsurfaceRadiusTexture );
406415 cpp_fixPointers ();
407416 return *this ;
408417 }
@@ -419,18 +428,24 @@ namespace remix {
419428 cpp_subsurfaceSingleScatteringAlbedoTexture = std::move (v);
420429 subsurfaceSingleScatteringAlbedoTexture = cpp_subsurfaceSingleScatteringAlbedoTexture.c_str ();
421430 }
431+ void set_subsurfaceRadiusTexture (std::filesystem::path v) {
432+ cpp_subsurfaceRadiusTexture = std::move (v);
433+ subsurfaceRadiusTexture = cpp_subsurfaceRadiusTexture.c_str ();
434+ }
422435
423436 private:
424437 void cpp_fixPointers () {
425438 subsurfaceTransmittanceTexture = cpp_subsurfaceTransmittanceTexture.c_str ();
426439 subsurfaceThicknessTexture = cpp_subsurfaceThicknessTexture.c_str ();
427440 subsurfaceSingleScatteringAlbedoTexture = cpp_subsurfaceSingleScatteringAlbedoTexture.c_str ();
428- static_assert (sizeof remixapi_MaterialInfoOpaqueSubsurfaceEXT == 72 , " Recheck pointers" );
441+ subsurfaceRadiusTexture = cpp_subsurfaceRadiusTexture.c_str ();
442+ static_assert (sizeof remixapi_MaterialInfoOpaqueSubsurfaceEXT == 104 , " Recheck pointers" );
429443 }
430444
431445 std::filesystem::path cpp_subsurfaceTransmittanceTexture {};
432446 std::filesystem::path cpp_subsurfaceThicknessTexture {};
433447 std::filesystem::path cpp_subsurfaceSingleScatteringAlbedoTexture {};
448+ std::filesystem::path cpp_subsurfaceRadiusTexture{};
434449 };
435450
436451 struct MaterialInfoTranslucentEXT : remixapi_MaterialInfoTranslucentEXT {
@@ -759,6 +774,7 @@ namespace remix {
759774 radius = 0 .05f ;
760775 shaping_hasvalue = false ;
761776 shaping_value = detail::defaultLightShaping ();
777+ volumetricRadianceScale = 1 .0f ;
762778 static_assert (sizeof remixapi_LightInfoSphereEXT == 64 );
763779 }
764780
@@ -779,6 +795,7 @@ namespace remix {
779795 direction = { 0 .0f , 0 .0f , 1 .0f };
780796 shaping_hasvalue = false ;
781797 shaping_value = detail::defaultLightShaping ();
798+ volumetricRadianceScale = 1 .0f ;
782799 static_assert (sizeof remixapi_LightInfoRectEXT == 104 );
783800 }
784801
@@ -799,6 +816,7 @@ namespace remix {
799816 direction = { 0 .0f , 0 .0f , 1 .0f };
800817 shaping_hasvalue = false ;
801818 shaping_value = detail::defaultLightShaping ();
819+ volumetricRadianceScale = 1 .0f ;
802820 static_assert (sizeof remixapi_LightInfoDiskEXT == 104 );
803821 }
804822
@@ -815,7 +833,8 @@ namespace remix {
815833 radius = 1 .0f ;
816834 axis = { 1 .0f , 0 .0f , 0 .0f };
817835 axisLength = 1 .0f ;
818- static_assert (sizeof remixapi_LightInfoCylinderEXT == 48 );
836+ volumetricRadianceScale = 1 .0f ;
837+ static_assert (sizeof remixapi_LightInfoCylinderEXT == 56 );
819838 }
820839 };
821840
@@ -825,7 +844,8 @@ namespace remix {
825844 pNext = nullptr ;
826845 direction = { 0 .0f , -1 .0f , 0 .0f };
827846 angularDiameterDegrees = 0 .5f ;
828- static_assert (sizeof remixapi_LightInfoDistantEXT == 32 );
847+ volumetricRadianceScale = 1 .0f ;
848+ static_assert (sizeof remixapi_LightInfoDistantEXT == 40 );
829849 }
830850 };
831851
0 commit comments