X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fgenerate.cpp;fp=source%2Fglsl%2Fgenerate.cpp;h=635d9f15dcec1b6720a13df6285d83a6e329c3aa;hp=cc427d05c30c3f9d66a32556d4ee2c5aa8d042d5;hb=46e04b29e95019e4f384d321d29adea1e5fa3ea9;hpb=d6a04ea0146ea58c13a10098957e1d48492e26c0 diff --git a/source/glsl/generate.cpp b/source/glsl/generate.cpp index cc427d05..635d9f15 100644 --- a/source/glsl/generate.cpp +++ b/source/glsl/generate.cpp @@ -2,6 +2,7 @@ #include #include #include "generate.h" +#include "reflect.h" using namespace std; @@ -105,6 +106,11 @@ VariableDeclaration *InterfaceGenerator::generate_interface(VariableDeclaration VariableDeclaration* iface_var = new VariableDeclaration; iface_var->sampling = var.sampling; + if(stage->type==Stage::FRAGMENT && iface=="in") + if(BasicTypeDeclaration *basic = dynamic_cast(var.type_declaration)) + if(BasicTypeDeclaration *elem = get_element_type(*basic)) + if(elem->kind==BasicTypeDeclaration::INT) + iface_var->interpolation = "flat"; iface_var->interface = iface; iface_var->type = var.type; iface_var->name = name;