MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/OpenColorIO / float4GreaterThan

Method float4GreaterThan

src/OpenColorIO/GpuShaderUtils.cpp:1183–1226  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1181}
1182
1183std::string GpuShaderText::float4GreaterThan(const std::string & a,
1184 const std::string & b) const
1185{
1186 std::ostringstream kw;
1187 switch (m_lang)
1188 {
1189 case GPU_LANGUAGE_GLSL_1_2:
1190 case GPU_LANGUAGE_GLSL_1_3:
1191 case GPU_LANGUAGE_GLSL_4_0:
1192 case GPU_LANGUAGE_GLSL_VK_4_6:
1193 case GPU_LANGUAGE_GLSL_ES_1_0:
1194 case GPU_LANGUAGE_GLSL_ES_3_0:
1195 case GPU_LANGUAGE_CG:
1196 {
1197 kw << float4Keyword() << "(greaterThan( " << a << ", " << b << "))";
1198 break;
1199 }
1200 case GPU_LANGUAGE_MSL_2_0:
1201 case GPU_LANGUAGE_HLSL_SM_5_0:
1202 {
1203 kw << float4Keyword() << "("
1204 << "(" << a << "[0] > " << b << "[0]) ? 1.0 : 0.0, "
1205 << "(" << a << "[1] > " << b << "[1]) ? 1.0 : 0.0, "
1206 << "(" << a << "[2] > " << b << "[2]) ? 1.0 : 0.0, "
1207 << "(" << a << "[3] > " << b << "[3]) ? 1.0 : 0.0)";
1208 break;
1209 }
1210 case LANGUAGE_OSL_1:
1211 {
1212 kw << float4Keyword() << "("
1213 << "(" << a << ".rgb.r > " << b << ".x) ? 1.0 : 0.0, "
1214 << "(" << a << ".rgb.g > " << b << ".y) ? 1.0 : 0.0, "
1215 << "(" << a << ".rgb.b > " << b << ".z) ? 1.0 : 0.0, "
1216 << "(" << a << ".a > " << b << ".w) ? 1.0 : 0.0)";
1217 break;
1218 }
1219
1220 default:
1221 {
1222 throw Exception("Unknown GPU shader language.");
1223 }
1224 }
1225 return kw.str();
1226}
1227
1228std::string GpuShaderText::float3GreaterThanEqual(const std::string& a,
1229 const std::string& b) const

Callers 6

AddMoncurveFwdShaderFunction · 0.80
AddMoncurveRevShaderFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected