MCPcopy Create free account
hub / github.com/DiligentGraphics/DiligentFX / GetPSOFlagsString

Method GetPSOFlagsString

PBR/src/PBR_Renderer.cpp:135–196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133}
134
135std::string PBR_Renderer::GetPSOFlagsString(PSO_FLAGS Flags)
136{
137 std::string FlagsStr;
138 while (Flags != PSO_FLAG_NONE)
139 {
140 if (!FlagsStr.empty())
141 FlagsStr += " | ";
142
143 const PSO_FLAGS Flag = ExtractLSB(Flags);
144 switch (Flag)
145 {
146 // clang-format off
147 case PSO_FLAG_USE_COLOR_MAP: FlagsStr += "COLOR_MAP"; break;
148 case PSO_FLAG_USE_NORMAL_MAP: FlagsStr += "NORMAL_MAP"; break;
149 case PSO_FLAG_USE_PHYS_DESC_MAP: FlagsStr += "PHYS_DESC_MAP"; break;
150 case PSO_FLAG_USE_METALLIC_MAP: FlagsStr += "METALLIC_MAP"; break;
151 case PSO_FLAG_USE_ROUGHNESS_MAP: FlagsStr += "ROUGHNESS_MAP"; break;
152 case PSO_FLAG_USE_AO_MAP: FlagsStr += "AO_MAP"; break;
153 case PSO_FLAG_USE_EMISSIVE_MAP: FlagsStr += "EMISSIVE_MAP"; break;
154 case PSO_FLAG_USE_CLEAR_COAT_MAP: FlagsStr += "CLEAR_COAT_MAP"; break;
155 case PSO_FLAG_USE_CLEAR_COAT_ROUGHNESS_MAP: FlagsStr += "CLEAR_COAT_ROUGHNESS_MAP"; break;
156 case PSO_FLAG_USE_CLEAR_COAT_NORMAL_MAP: FlagsStr += "CLEAR_COAT_NORMAL_MAP"; break;
157 case PSO_FLAG_USE_SHEEN_COLOR_MAP: FlagsStr += "SHEEN_COLOR_MAP"; break;
158 case PSO_FLAG_USE_SHEEN_ROUGHNESS_MAP: FlagsStr += "SHEEN_ROUGHNESS_MAP"; break;
159 case PSO_FLAG_USE_ANISOTROPY_MAP: FlagsStr += "ANISOTROPY_MAP"; break;
160 case PSO_FLAG_USE_IRIDESCENCE_MAP: FlagsStr += "IRIDESCENCE_MAP"; break;
161 case PSO_FLAG_USE_IRIDESCENCE_THICKNESS_MAP: FlagsStr += "IRIDESCENCE_THICKNESS_MAP"; break;
162 case PSO_FLAG_USE_TRANSMISSION_MAP: FlagsStr += "TRANSMISSION_MAP"; break;
163
164 case PSO_FLAG_USE_VERTEX_COLORS: FlagsStr += "VERTEX_COLORS"; break;
165 case PSO_FLAG_USE_VERTEX_NORMALS: FlagsStr += "VERTEX_NORMALS"; break;
166 case PSO_FLAG_USE_VERTEX_TANGENTS: FlagsStr += "VERTEX_TANGENTS"; break;
167 case PSO_FLAG_USE_TEXCOORD0: FlagsStr += "TEXCOORD0"; break;
168 case PSO_FLAG_USE_TEXCOORD1: FlagsStr += "TEXCOORD1"; break;
169 case PSO_FLAG_USE_JOINTS: FlagsStr += "JOINTS"; break;
170 case PSO_FLAG_ENABLE_CLEAR_COAT: FlagsStr += "CLEAR_COAT"; break;
171 case PSO_FLAG_ENABLE_SHEEN: FlagsStr += "SHEEN"; break;
172 case PSO_FLAG_ENABLE_ANISOTROPY: FlagsStr += "ANISOTROPY"; break;
173 case PSO_FLAG_ENABLE_IRIDESCENCE: FlagsStr += "IRIDESCENCE"; break;
174 case PSO_FLAG_ENABLE_TRANSMISSION: FlagsStr += "TRANSMISSION"; break;
175 case PSO_FLAG_ENABLE_VOLUME: FlagsStr += "VOLUME"; break;
176
177 case PSO_FLAG_USE_IBL: FlagsStr += "IBL"; break;
178 case PSO_FLAG_USE_LIGHTS: FlagsStr += "LIGHTS"; break;
179 case PSO_FLAG_USE_TEXTURE_ATLAS: FlagsStr += "TEXTURE_ATLAS"; break;
180 case PSO_FLAG_ENABLE_TEXCOORD_TRANSFORM: FlagsStr += "TEXCOORD_TRANSFORM"; break;
181 case PSO_FLAG_CONVERT_OUTPUT_TO_SRGB: FlagsStr += "SRGB"; break;
182 case PSO_FLAG_ENABLE_CUSTOM_DATA_OUTPUT: FlagsStr += "CUSTOM_DATA"; break;
183 case PSO_FLAG_ENABLE_TONE_MAPPING: FlagsStr += "TONE_MAPPING"; break;
184 case PSO_FLAG_UNSHADED: FlagsStr += "UNSHADED"; break;
185 case PSO_FLAG_COMPUTE_MOTION_VECTORS: FlagsStr += "MOTION_VECTORS"; break;
186 case PSO_FLAG_ENABLE_SHADOWS: FlagsStr += "SHADOWS"; break;
187 // clang-format on
188
189 default:
190 FlagsStr += std::to_string(PlatformMisc::GetLSB(Flag));
191 }
192 }

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected