MCPcopy Create free account
hub / github.com/axmolengine/axmol / updateBlendState

Method updateBlendState

core/2d/DrawNode.cpp:173–193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171}
172
173void DrawNode::updateBlendState(CustomCommand& cmd)
174{
175 backend::BlendDescriptor& blendDescriptor = cmd.getPipelineDescriptor().blendDescriptor;
176 blendDescriptor.blendEnabled = true;
177 if (_blendFunc == BlendFunc::ALPHA_NON_PREMULTIPLIED)
178 {
179 blendDescriptor.sourceRGBBlendFactor = backend::BlendFactor::SRC_ALPHA;
180 blendDescriptor.destinationRGBBlendFactor = backend::BlendFactor::ONE_MINUS_SRC_ALPHA;
181 blendDescriptor.sourceAlphaBlendFactor = backend::BlendFactor::SRC_ALPHA;
182 blendDescriptor.destinationAlphaBlendFactor = backend::BlendFactor::ONE_MINUS_SRC_ALPHA;
183 setOpacityModifyRGB(false);
184 }
185 else
186 {
187 blendDescriptor.sourceRGBBlendFactor = _blendFunc.src;
188 blendDescriptor.destinationRGBBlendFactor = _blendFunc.dst;
189 blendDescriptor.sourceAlphaBlendFactor = _blendFunc.src;
190 blendDescriptor.destinationAlphaBlendFactor = _blendFunc.dst;
191 setOpacityModifyRGB(true);
192 }
193}
194
195void DrawNode::updateUniforms(const Mat4& transform, CustomCommand& cmd)
196{

Callers

nothing calls this directly

Calls 1

setOpacityModifyRGBFunction · 0.85

Tested by

no test coverage detected