Renderer/ShaderAst: Add Sample2D
This commit is contained in:
@@ -128,6 +128,15 @@ namespace Nz
|
||||
node->Visit(*this);
|
||||
}
|
||||
|
||||
void GlslWriter::Write(const ShaderAst::Sample2D& node)
|
||||
{
|
||||
Append("texture(");
|
||||
Write(node.sampler);
|
||||
Append(", ");
|
||||
Write(node.coordinates);
|
||||
Append(")");
|
||||
}
|
||||
|
||||
void GlslWriter::Write(const ShaderAst::AssignOp& node)
|
||||
{
|
||||
Write(node.variable);
|
||||
@@ -338,6 +347,9 @@ namespace Nz
|
||||
case ShaderAst::ExpressionType::Mat4x4:
|
||||
Append("mat4");
|
||||
break;
|
||||
case ShaderAst::ExpressionType::Sampler2D:
|
||||
Append("sampler2D");
|
||||
break;
|
||||
case ShaderAst::ExpressionType::Void:
|
||||
Append("void");
|
||||
break;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <Nazara/Renderer/ShaderWriter.hpp>
|
||||
#include <Nazara/Renderer/Debug.hpp>
|
||||
|
||||
namespace Nz { namespace ShaderAst
|
||||
namespace Nz::ShaderAst
|
||||
{
|
||||
void ExpressionStatement::Register(ShaderWriter& visitor)
|
||||
{
|
||||
@@ -192,5 +192,21 @@ namespace Nz { namespace ShaderAst
|
||||
{
|
||||
visitor.Write(*this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ExpressionType Sample2D::GetExpressionType() const
|
||||
{
|
||||
return ExpressionType::Float4;
|
||||
}
|
||||
|
||||
void Sample2D::Register(ShaderWriter& visitor)
|
||||
{
|
||||
sampler->Register(visitor);
|
||||
coordinates->Register(visitor);
|
||||
}
|
||||
|
||||
void Sample2D::Visit(ShaderWriter& visitor)
|
||||
{
|
||||
visitor.Write(*this);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user