From da664d51bab2e649f2cc8927e99ff2cb9f7fcfc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Sat, 5 Jun 2021 01:29:48 +0200 Subject: [PATCH] Shader/LangWriter: Fix texture sampling output --- src/Nazara/Shader/LangWriter.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Nazara/Shader/LangWriter.cpp b/src/Nazara/Shader/LangWriter.cpp index f6b061cea..cfa1e7a50 100644 --- a/src/Nazara/Shader/LangWriter.cpp +++ b/src/Nazara/Shader/LangWriter.cpp @@ -717,6 +717,7 @@ namespace Nz void LangWriter::Visit(ShaderAst::IntrinsicExpression& node) { + bool method = false; switch (node.intrinsic) { case ShaderAst::IntrinsicType::CrossProduct: @@ -740,12 +741,15 @@ namespace Nz break; case ShaderAst::IntrinsicType::SampleTexture: - Append("texture"); + assert(!node.parameters.empty()); + Visit(node.parameters.front(), true); + Append(".Sample"); + method = true; break; } 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) Append(", ");