MCPcopy Create free account
hub / github.com/Tencent/tgfx / emitCode

Method emitCode

src/gpu/glsl/processors/GLSLAlphaThresholdFragmentProcessor.cpp:27–39  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25}
26
27void GLSLAlphaThresholdFragmentProcessor::emitCode(EmitArgs& args) const {
28 auto uniformHandler = args.uniformHandler;
29 auto thresholdUniformName =
30 uniformHandler->addUniform("Threshold", UniformFormat::Float, ShaderStage::Fragment);
31
32 auto fragBuilder = args.fragBuilder;
33 fragBuilder->codeAppendf("%s.rgb = %s.rgb / %s.a;", args.outputColor.c_str(),
34 args.inputColor.c_str(), args.inputColor.c_str());
35 fragBuilder->codeAppendf("%s.a = step(%s, %s.a);", args.outputColor.c_str(),
36 thresholdUniformName.c_str(), args.inputColor.c_str());
37 fragBuilder->codeAppendf("%s = clamp(%s, 0.0, 1.0);", args.outputColor.c_str(),
38 args.outputColor.c_str());
39}
40
41void GLSLAlphaThresholdFragmentProcessor::onSetData(UniformBuffer* /*vertexUniformBuffer*/,
42 UniformBuffer* fragmentUniformBuffer) const {

Callers

nothing calls this directly

Calls 3

addUniformMethod · 0.80
codeAppendfMethod · 0.80
c_strMethod · 0.80

Tested by

no test coverage detected