Browse Source

ShaderGenerator: remove unnecessary member, define all stub methods

rdb 5 years ago
parent
commit
10bb4a33d3
2 changed files with 29 additions and 8 deletions
  1. 24 0
      panda/src/pgraphnodes/shaderGenerator.cxx
  2. 5 8
      panda/src/pgraphnodes/shaderGenerator.h

+ 24 - 0
panda/src/pgraphnodes/shaderGenerator.cxx

@@ -2032,4 +2032,28 @@ operator == (const ShaderKey &other) const {
       && _light_ramp == other._light_ramp;
 }
 
+#else
+
+// Stubs for when building without Cg support.
+ShaderGenerator::
+ShaderGenerator(const GraphicsStateGuardianBase *gsg) {
+}
+
+ShaderGenerator::
+~ShaderGenerator() {
+}
+
+void ShaderGenerator::
+rehash_generated_shaders() {
+}
+
+void ShaderGenerator::
+clear_generated_shaders() {
+}
+
+CPT(ShaderAttrib) ShaderGenerator::
+synthesize_shader(const RenderState *rs, const GeomVertexAnimationSpec &anim) {
+  return nullptr;
+}
+
 #endif  // HAVE_CG

+ 5 - 8
panda/src/pgraphnodes/shaderGenerator.h

@@ -89,7 +89,6 @@ protected:
 
   // RenderState analysis information.  Created by analyze_renderstate:
 
-  CPT(RenderState) _state;
   struct ShaderKey {
     ShaderKey();
     bool operator < (const ShaderKey &other) const;
@@ -197,16 +196,14 @@ private:
 // If we don't have Cg, let's replace this with a stub.
 class EXPCL_PANDA_PGRAPHNODES ShaderGenerator : public TypedReferenceCount {
 PUBLISHED:
-  ShaderGenerator(const GraphicsStateGuardianBase *gsg) {}
-  virtual ~ShaderGenerator() {}
+  ShaderGenerator(const GraphicsStateGuardianBase *gsg);
+  virtual ~ShaderGenerator();
 
   virtual CPT(ShaderAttrib) synthesize_shader(const RenderState *rs,
-                                              const GeomVertexAnimationSpec &anim) {
-    return nullptr;
-  }
+                                              const GeomVertexAnimationSpec &anim);
 
-  void rehash_generated_shaders() {}
-  void clear_generated_shaders() {}
+  void rehash_generated_shaders();
+  void clear_generated_shaders();
 
 public:
   static TypeHandle get_class_type() {