Skip to content

Commit

Permalink
#5585: Expose vertex colour mode
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Apr 11, 2021
1 parent c3b3840 commit b99b075
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 0 deletions.
1 change: 1 addition & 0 deletions install/scripts/materialtest.py
Expand Up @@ -94,6 +94,7 @@
print('Stage colour expression ALPHA: {0}'.format(stage.getColourExpressionString(dr.MaterialStage.ColourComponent.ALPHA)))
print('Stage colour expression RGB: {0}'.format(stage.getColourExpressionString(dr.MaterialStage.ColourComponent.RGB)))
print('Stage colour expression RGBA: {0}'.format(stage.getColourExpressionString(dr.MaterialStage.ColourComponent.RGBA)))
print('Stage vertex colour mode: {0}'.format(stage.getVertexColourMode()))

newMaterial.swapStagePosition(diffuseStageIndex, bumpStageIndex)

Expand Down
7 changes: 7 additions & 0 deletions plugins/script/interfaces/ShaderSystemInterface.cpp
Expand Up @@ -323,6 +323,12 @@ void ShaderSystemInterface::registerInterface(py::module& scope, py::dict& globa
.value("RGBA", IShaderLayer::COMP_RGBA)
.export_values();

py::enum_<IShaderLayer::VertexColourMode>(stage, "VertexColourMode")
.value("NONE", IShaderLayer::VERTEX_COLOUR_NONE)
.value("MULTIPLY", IShaderLayer::VERTEX_COLOUR_MULTIPLY)
.value("INVERSE_MULTIPLY", IShaderLayer::VERTEX_COLOUR_INVERSE_MULTIPLY)
.export_values();

// Shader Stage
stage.def(py::init<const IShaderLayer::Ptr&>());
stage.def("getType", &ScriptMaterialStage::getType);
Expand All @@ -332,6 +338,7 @@ void ShaderSystemInterface::registerInterface(py::module& scope, py::dict& globa
stage.def("getTexGenType", &ScriptMaterialStage::getTexGenType);
stage.def("getTexGenExpressionString", &ScriptMaterialStage::getTexGenExpressionString);
stage.def("getColourExpressionString", &ScriptMaterialStage::getColourExpressionString);
stage.def("getVertexColourMode", &ScriptMaterialStage::getVertexColourMode);

// Expose the MaterialVisitor interface

Expand Down
5 changes: 5 additions & 0 deletions plugins/script/interfaces/ShaderSystemInterface.h
Expand Up @@ -55,6 +55,11 @@ class ScriptMaterialStage
return _layer && _layer->getColourExpression(component) ?
_layer->getColourExpression(component)->getExpressionString() : std::string();
}

IShaderLayer::VertexColourMode getVertexColourMode()
{
return _layer ? _layer->getVertexColourMode() : IShaderLayer::VERTEX_COLOUR_NONE;
}
};

/**
Expand Down

0 comments on commit b99b075

Please sign in to comment.