Browse Source

Cg shader support added

Shalin Shodhan 21 years ago
parent
commit
4ac8cbba22

+ 2 - 1
panda/src/display/graphicsStateGuardian.cxx

@@ -228,8 +228,9 @@ release_geom(GeomContext *) {
 void GraphicsStateGuardian::
 void GraphicsStateGuardian::
 set_state_and_transform(const RenderState *state,
 set_state_and_transform(const RenderState *state,
                         const TransformState *transform) {
                         const TransformState *transform) {
-  set_state(state);
+
   set_transform(transform);
   set_transform(transform);
+  set_state(state);
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////

+ 1 - 3
panda/src/glgsg/Sources.pp

@@ -1,9 +1,7 @@
 #define BUILD_DIRECTORY $[HAVE_GL]
 #define BUILD_DIRECTORY $[HAVE_GL]
-
 #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
 #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
                    dtoolutil:c dtoolbase:c dtool:m
                    dtoolutil:c dtoolbase:c dtool:m
-#define USE_PACKAGES gl
-
+#define USE_PACKAGES gl cg cggl
 #begin lib_target
 #begin lib_target
   #define TARGET glgsg
   #define TARGET glgsg
   #define LOCAL_LIBS \
   #define LOCAL_LIBS \

+ 1 - 0
panda/src/glgsg/glgsg.h

@@ -35,6 +35,7 @@
 #define EXPCL_GL EXPCL_PANDAGL
 #define EXPCL_GL EXPCL_PANDAGL
 #define EXPTP_GL EXPTP_PANDAGL
 #define EXPTP_GL EXPTP_PANDAGL
 
 
+
 #ifdef WIN32_VC
 #ifdef WIN32_VC
 // Must include windows.h before gl.h on NT
 // Must include windows.h before gl.h on NT
 #include <windows.h>
 #include <windows.h>

+ 2 - 0
panda/src/gsgbase/graphicsStateGuardianBase.h

@@ -66,6 +66,7 @@ class AlphaTestAttrib;
 class DepthTestAttrib;
 class DepthTestAttrib;
 class DepthWriteAttrib;
 class DepthWriteAttrib;
 class TexGenAttrib;
 class TexGenAttrib;
+class CgShaderAttrib;
 class CullFaceAttrib;
 class CullFaceAttrib;
 class StencilAttrib;
 class StencilAttrib;
 class ClipPlaneAttrib;
 class ClipPlaneAttrib;
@@ -192,6 +193,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_stencil(const StencilAttrib *) { }
   virtual void issue_stencil(const StencilAttrib *) { }
   virtual void issue_clip_plane(const ClipPlaneAttrib *) { }
   virtual void issue_clip_plane(const ClipPlaneAttrib *) { }
 
 

+ 2 - 0
panda/src/mesadisplay/mesagsg.h

@@ -41,6 +41,8 @@
 #define EXPCL_GL EXPCL_PANDAMESA
 #define EXPCL_GL EXPCL_PANDAMESA
 #define EXPTP_GL EXPTP_PANDAMESA
 #define EXPTP_GL EXPTP_PANDAMESA
 
 
+#undef HAVE_CGGL // Mesa does not support Nvidia Cg... make sure it tries to compile
+                 // without it
 #include <GL/gl.h>
 #include <GL/gl.h>
 #include <GL/glu.h>
 #include <GL/glu.h>
 #include <GL/osmesa.h>
 #include <GL/osmesa.h>

+ 1 - 0
panda/src/wgldisplay/Sources.pp

@@ -2,6 +2,7 @@
 
 
 #define USE_PACKAGES gl
 #define USE_PACKAGES gl
 
 
+
 #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
 #define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
                    dtoolutil:c dtoolbase:c dtool:m
                    dtoolutil:c dtoolbase:c dtool:m