Skip to content

Commit 54c4730

Browse files
Hydrogent: added GetViewModeString utility function
1 parent b4e0a90 commit 54c4730

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

Hydrogent/include/HnTypeConversions.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ const pxr::TfToken& PBRTextureAttribIdToPxrName(PBR_Renderer::TEXTURE_ATTRIB_ID
6868

6969
PBR_Renderer::DebugViewType HnViewModeToDebugViewType(HN_VIEW_MODE ViewMode);
7070

71+
const char* GetViewModeString(HN_VIEW_MODE ViewMode);
72+
7173
} // namespace USD
7274

7375
} // namespace Diligent

Hydrogent/src/HnTypeConversions.cpp

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)