From cc35d0dd41455ebb29a17dc62b372bd28271aa13 Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 3 Jul 2014 19:14:36 +0000 Subject: [PATCH] Allow Shader parameter in ShaderAttrib::make --- panda/src/pgraph/shaderAttrib.cxx | 9 +++++++-- panda/src/pgraph/shaderAttrib.h | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/panda/src/pgraph/shaderAttrib.cxx b/panda/src/pgraph/shaderAttrib.cxx index e4289c56d7..02ff8ab652 100755 --- a/panda/src/pgraph/shaderAttrib.cxx +++ b/panda/src/pgraph/shaderAttrib.cxx @@ -52,13 +52,18 @@ make_off() { // set. //////////////////////////////////////////////////////////////////// CPT(RenderAttrib) ShaderAttrib:: -make() { +make(const Shader *shader) { static CPT(RenderAttrib) _null_attrib; if (_null_attrib == 0) { ShaderAttrib *attrib = new ShaderAttrib; _null_attrib = return_new(attrib); } - return _null_attrib; + + if (shader == NULL) { + return _null_attrib; + } else { + return DCAST(ShaderAttrib, _null_attrib)->set_shader(shader); + } } //////////////////////////////////////////////////////////////////// diff --git a/panda/src/pgraph/shaderAttrib.h b/panda/src/pgraph/shaderAttrib.h index 9b83494bc7..fba1340751 100755 --- a/panda/src/pgraph/shaderAttrib.h +++ b/panda/src/pgraph/shaderAttrib.h @@ -43,10 +43,10 @@ private: INLINE ShaderAttrib(const ShaderAttrib ©); PUBLISHED: - static CPT(RenderAttrib) make(); + static CPT(RenderAttrib) make(const Shader *shader = NULL); static CPT(RenderAttrib) make_off(); static CPT(RenderAttrib) make_default(); - + enum { F_disable_alpha_write = 0, // Suppress writes to color buffer alpha channel. F_subsume_alpha_test = 1, // Shader promises to subsume the alpha test using TEXKILL