X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fprogramcompiler.cpp;h=2bb2694609f89277b9d36efc50a0df5de0354d34;hp=541fd8e29cd1c6ddb059e4f3cf155e5cf4d4a5c2;hb=a209ca32465c61b38f3a57ee6577568f3994e8ab;hpb=5945ad9b63bbc55c3ed21f0c023d17f73aaac370 diff --git a/source/programcompiler.cpp b/source/programcompiler.cpp index 541fd8e2..2bb26946 100644 --- a/source/programcompiler.cpp +++ b/source/programcompiler.cpp @@ -656,6 +656,24 @@ void ProgramCompiler::InterfaceGenerator::visit(Passthrough &pass) } } + if(stage->type==GEOMETRY) + { + VariableReference *ref = new VariableReference; + ref->name = "gl_in"; + + BinaryExpression *subscript = new BinaryExpression; + subscript->left = ref; + subscript->oper = "["; + subscript->right = pass.subscript; + subscript->after = "]"; + + MemberAccess *memacc = new MemberAccess; + memacc->left = subscript; + memacc->member = "gl_Position"; + + insert_assignment("gl_Position", memacc); + } + for(vector::const_iterator i=pass_vars.begin(); i!=pass_vars.end(); ++i) { string out_name = change_prefix((*i)->name, out_prefix);