@@ -389,6 +389,52 @@ PBR_Renderer::DebugViewType HnViewModeToDebugViewType(HN_VIEW_MODE ViewMode)
389389 return ViewModeToDebugViewType[ViewMode];
390390}
391391
392+ const char * GetViewModeString (HN_VIEW_MODE ViewMode)
393+ {
394+ static_assert (HN_VIEW_MODE_COUNT == 27 , " Please handle the new view mode below" );
395+
396+ static const std::array<const char *, HN_VIEW_MODE_COUNT> ViewModeToStr = []() {
397+ std::array<const char *, HN_VIEW_MODE_COUNT> Strs;
398+
399+ Strs[HN_VIEW_MODE_SHADED] = " Shaded" ;
400+ Strs[HN_VIEW_MODE_TEXCOORD0] = " Texcoord0" ;
401+ Strs[HN_VIEW_MODE_TEXCOORD1] = " Texcoord1" ;
402+ Strs[HN_VIEW_MODE_BASE_COLOR] = " BaseColor" ;
403+ Strs[HN_VIEW_MODE_TRANSPARENCY] = " Transparency" ;
404+ Strs[HN_VIEW_MODE_OCCLUSION] = " Occlusion" ;
405+ Strs[HN_VIEW_MODE_EMISSIVE] = " Emissive" ;
406+ Strs[HN_VIEW_MODE_METALLIC] = " Metallic" ;
407+ Strs[HN_VIEW_MODE_ROUGHNESS] = " Roughness" ;
408+ Strs[HN_VIEW_MODE_DIFFUSE_COLOR] = " DiffuseColor" ;
409+ Strs[HN_VIEW_MODE_SPECULAR_COLOR] = " SpecularColor" ;
410+ Strs[HN_VIEW_MODE_REFLECTANCE90] = " Reflectance90" ;
411+ Strs[HN_VIEW_MODE_MESH_NORMAL] = " MeshNormal" ;
412+ Strs[HN_VIEW_MODE_SHADING_NORMAL] = " ShadingNormal" ;
413+ Strs[HN_VIEW_MODE_MOTION_VECTORS] = " MotionVectors" ;
414+ Strs[HN_VIEW_MODE_NDOTV] = " NdotV" ;
415+ Strs[HN_VIEW_MODE_PUNCTUAL_LIGHTING] = " PunctualLighting" ;
416+ Strs[HN_VIEW_MODE_DIFFUSE_IBL] = " DiffuseIBL" ;
417+ Strs[HN_VIEW_MODE_SPECULAR_IBL] = " SpecularIBL" ;
418+ Strs[HN_VIEW_MODE_WHITE_BASE_COLOR] = " WhiteBaseColor" ;
419+ Strs[HN_VIEW_MODE_CLEARCOAT] = " ClearCoat" ;
420+ Strs[HN_VIEW_MODE_CLEARCOAT_FACTOR] = " ClearCoatFactor" ;
421+ Strs[HN_VIEW_MODE_CLEARCOAT_ROUGHNESS] = " ClearCoatRoughness" ;
422+ Strs[HN_VIEW_MODE_CLEARCOAT_NORMAL] = " ClearCoatNormal" ;
423+ Strs[HN_VIEW_MODE_SCENE_DEPTH] = " SceneDepth" ;
424+ Strs[HN_VIEW_MODE_EDGE_MAP] = " EdgeMap" ;
425+ Strs[HN_VIEW_MODE_MESH_ID] = " MeshID" ;
426+ return Strs;
427+ }();
428+
429+ if (ViewMode < 0 || ViewMode >= HN_VIEW_MODE_COUNT)
430+ {
431+ UNEXPECTED (" Unexpected view mode" );
432+ return " Unknown" ;
433+ }
434+
435+ return ViewModeToStr[ViewMode];
436+ }
437+
392438} // namespace USD
393439
394440} // namespace Diligent
0 commit comments