| 133 | } |
| 134 | |
| 135 | std::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 | } |
nothing calls this directly
no outgoing calls
no test coverage detected