Shader/LangWriter: Fix texture sampling output
This commit is contained in:
parent
50bf26d92f
commit
da664d51ba
|
|
@ -717,6 +717,7 @@ namespace Nz
|
||||||
|
|
||||||
void LangWriter::Visit(ShaderAst::IntrinsicExpression& node)
|
void LangWriter::Visit(ShaderAst::IntrinsicExpression& node)
|
||||||
{
|
{
|
||||||
|
bool method = false;
|
||||||
switch (node.intrinsic)
|
switch (node.intrinsic)
|
||||||
{
|
{
|
||||||
case ShaderAst::IntrinsicType::CrossProduct:
|
case ShaderAst::IntrinsicType::CrossProduct:
|
||||||
|
|
@ -740,12 +741,15 @@ namespace Nz
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ShaderAst::IntrinsicType::SampleTexture:
|
case ShaderAst::IntrinsicType::SampleTexture:
|
||||||
Append("texture");
|
assert(!node.parameters.empty());
|
||||||
|
Visit(node.parameters.front(), true);
|
||||||
|
Append(".Sample");
|
||||||
|
method = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
Append("(");
|
Append("(");
|
||||||
for (std::size_t i = 0; i < node.parameters.size(); ++i)
|
for (std::size_t i = (method) ? 1 : 0; i < node.parameters.size(); ++i)
|
||||||
{
|
{
|
||||||
if (i != 0)
|
if (i != 0)
|
||||||
Append(", ");
|
Append(", ");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue