Browse Source

Shader stuff

Josh Yelon 20 years ago
parent
commit
844a822aea
1 changed files with 10 additions and 4 deletions
  1. 10 4
      panda/src/gsgbase/graphicsStateGuardianBase.h

+ 10 - 4
panda/src/gsgbase/graphicsStateGuardianBase.h

@@ -59,11 +59,13 @@ class GeomMunger;
 
 
 class PreparedGraphicsObjects;
 class PreparedGraphicsObjects;
 class GraphicsOutput;
 class GraphicsOutput;
-class TextureContext;
 class Texture;
 class Texture;
+class TextureContext;
+class Shader;
+class ShaderContext;
+class ShaderMode;
 class RenderState;
 class RenderState;
 class TransformState;
 class TransformState;
-
 class Material;
 class Material;
 
 
 class ColorScaleAttrib;
 class ColorScaleAttrib;
@@ -81,13 +83,14 @@ class AlphaTestAttrib;
 class DepthTestAttrib;
 class DepthTestAttrib;
 class DepthWriteAttrib;
 class DepthWriteAttrib;
 class TexGenAttrib;
 class TexGenAttrib;
-class CgShaderAttrib;
+class ShaderAttrib;
 class CullFaceAttrib;
 class CullFaceAttrib;
 class ClipPlaneAttrib;
 class ClipPlaneAttrib;
 class ShadeModelAttrib;
 class ShadeModelAttrib;
 class TransparencyAttrib;
 class TransparencyAttrib;
 class FogAttrib;
 class FogAttrib;
 class DepthOffsetAttrib;
 class DepthOffsetAttrib;
+class ShaderAttrib;
 
 
 class PointLight;
 class PointLight;
 class DirectionalLight;
 class DirectionalLight;
@@ -136,6 +139,9 @@ public:
   virtual GeomContext *prepare_geom(Geom *geom)=0;
   virtual GeomContext *prepare_geom(Geom *geom)=0;
   virtual void release_geom(GeomContext *gc)=0;
   virtual void release_geom(GeomContext *gc)=0;
 
 
+  virtual ShaderContext *prepare_shader(Shader *shader)=0;
+  virtual void release_shader(ShaderContext *sc)=0;
+  
   virtual VertexBufferContext *prepare_vertex_buffer(GeomVertexArrayData *data)=0;
   virtual VertexBufferContext *prepare_vertex_buffer(GeomVertexArrayData *data)=0;
   virtual void release_vertex_buffer(VertexBufferContext *vbc)=0;
   virtual void release_vertex_buffer(VertexBufferContext *vbc)=0;
 
 
@@ -224,7 +230,7 @@ public:
   virtual void issue_depth_offset(const DepthOffsetAttrib *) { }
   virtual void issue_depth_offset(const DepthOffsetAttrib *) { }
   virtual void issue_color_blend(const ColorBlendAttrib *) { }
   virtual void issue_color_blend(const ColorBlendAttrib *) { }
   virtual void issue_tex_gen(const TexGenAttrib *) { }
   virtual void issue_tex_gen(const TexGenAttrib *) { }
-  virtual void issue_cg_shader_bind(const CgShaderAttrib *){}
+  virtual void issue_shader(const ShaderAttrib *) { }
   virtual void issue_clip_plane(const ClipPlaneAttrib *) { }
   virtual void issue_clip_plane(const ClipPlaneAttrib *) { }
   virtual void issue_shade_model(const ShadeModelAttrib *) { }
   virtual void issue_shade_model(const ShadeModelAttrib *) { }