mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
split glgsg into glmisc; expand on mesadisplay
This commit is contained in:
parent
c2778d8716
commit
ae685dcf4b
@ -18,7 +18,7 @@
|
||||
parametrics pnm \
|
||||
pnmimagetypes pnmimage sgattrib sgmanip sgraph sgraphutil \
|
||||
switchnode pnmtext text tform tiff lerp loader putil \
|
||||
audio pgui pandabase
|
||||
audio pgui pandabase glstuff
|
||||
|
||||
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
// We don't have any components if we're linking the GL library
|
||||
// directly into Panda.
|
||||
#define COMPONENT_LIBS \
|
||||
glgsg glxdisplay mesadisplay \
|
||||
glgsg glxdisplay \
|
||||
wgldisplay
|
||||
#endif
|
||||
|
||||
|
@ -112,7 +112,7 @@ get_hw_channel(GraphicsOutput *, int) {
|
||||
PT(GraphicsDevice) GraphicsPipe::
|
||||
make_device(void *scrn) {
|
||||
display_cat.error()
|
||||
<< "Error: make_device() unimplemented by graphicsPipe!\n";
|
||||
<< "make_device() unimplemented by " << get_type() << "\n";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -125,8 +125,8 @@ make_device(void *scrn) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
PT(GraphicsStateGuardian) GraphicsPipe::
|
||||
make_gsg(const FrameBufferProperties &properties) {
|
||||
// shouldnt this method really be pure virtual? it's an error for a pipe to not implement it
|
||||
display_cat.error() << "Error: make_gsg() unimplemented by graphicsPipe!\n";
|
||||
display_cat.error()
|
||||
<< "make_gsg() unimplemented by " << get_type() << "\n";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -155,6 +155,8 @@ close_gsg(GraphicsStateGuardian *gsg) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
PT(GraphicsWindow) GraphicsPipe::
|
||||
make_window(GraphicsStateGuardian *) {
|
||||
display_cat.error()
|
||||
<< get_type() << " cannot create onscreen windows.\n";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -165,5 +167,7 @@ make_window(GraphicsStateGuardian *) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
PT(GraphicsBuffer) GraphicsPipe::
|
||||
make_buffer(GraphicsStateGuardian *, int, int, bool) {
|
||||
display_cat.error()
|
||||
<< get_type() << " cannot create offscreen buffers.\n";
|
||||
return NULL;
|
||||
}
|
||||
|
@ -7,25 +7,15 @@
|
||||
#begin lib_target
|
||||
#define TARGET glgsg
|
||||
#define LOCAL_LIBS \
|
||||
gsgmisc gsgbase gobj display \
|
||||
glstuff gsgmisc gsgbase gobj display \
|
||||
putil linmath mathutil pnmimage
|
||||
|
||||
#define COMBINED_SOURCES $[TARGET]_composite1.cxx
|
||||
|
||||
#define SOURCES \
|
||||
glGraphicsStateGuardian.cxx \
|
||||
config_glgsg.h glGraphicsStateGuardian.I \
|
||||
glGraphicsStateGuardian.h glSavedFrameBuffer.I \
|
||||
glSavedFrameBuffer.h glTextureContext.I glext.h \
|
||||
glGeomNodeContext.I glGeomNodeContext.h glTextureContext.h
|
||||
|
||||
#define INCLUDED_SOURCES \
|
||||
config_glgsg.cxx glSavedFrameBuffer.cxx \
|
||||
glGeomNodeContext.cxx glTextureContext.cxx
|
||||
|
||||
config_glgsg.h config_glgsg.cxx \
|
||||
glgsg.h glgsg.cxx
|
||||
|
||||
#define INSTALL_HEADERS \
|
||||
config_glgsg.h glGraphicsStateGuardian.I glGraphicsStateGuardian.h
|
||||
config_glgsg.h glgsg.h
|
||||
|
||||
#end lib_target
|
||||
|
||||
|
@ -17,77 +17,13 @@
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "config_glgsg.h"
|
||||
#include "glGraphicsStateGuardian.h"
|
||||
#include "glSavedFrameBuffer.h"
|
||||
#include "glTextureContext.h"
|
||||
#include "glGeomNodeContext.h"
|
||||
#include "glgsg.h"
|
||||
|
||||
#include "dconfig.h"
|
||||
|
||||
Configure(config_glgsg);
|
||||
ConfigureDef(config_glgsg);
|
||||
NotifyCategoryDef(glgsg, ":display:gsg");
|
||||
|
||||
// Configure this true to glHint the textures into the cheapest
|
||||
// possible mode.
|
||||
bool gl_cheap_textures = config_glgsg.GetBool("gl-cheap-textures", false);
|
||||
|
||||
// Configure this true to ignore texture modes like modulate that
|
||||
// blend texture color with polygon color (a little cheaper for
|
||||
// software renderers).
|
||||
bool gl_always_decal_textures = config_glgsg.GetBool("gl-always-decal-textures", false);
|
||||
|
||||
// Configure this true to disable texture clamp mode (all textures
|
||||
// repeat, a little cheaper for software renderers).
|
||||
bool gl_ignore_clamp = config_glgsg.GetBool("gl-ignore-clamp", false);
|
||||
|
||||
// Configure this true to disable any texture filters at all (forcing
|
||||
// point sampling).
|
||||
bool gl_ignore_filters = config_glgsg.GetBool("gl-ignore-filters", false);
|
||||
|
||||
// Configure this true to disable mipmapping only.
|
||||
bool gl_ignore_mipmaps = config_glgsg.GetBool("gl-ignore-mipmaps", false) || gl_ignore_filters;
|
||||
|
||||
// Configure this true to enable full trilinear mipmapping on every
|
||||
// texture, whether it asks for it or not.
|
||||
bool gl_force_mipmaps = config_glgsg.GetBool("gl-force-mipmaps", false);
|
||||
|
||||
// Configure this true to cause mipmaps to be rendered with phony
|
||||
// colors, using mipmap_level_*.rgb if they are available.
|
||||
bool gl_show_mipmaps = config_glgsg.GetBool("gl-show-mipmaps", false);
|
||||
|
||||
// Configure this true to cause the generated mipmap images to be
|
||||
// written out to image files on the disk as they are generated.
|
||||
bool gl_save_mipmaps = config_glgsg.GetBool("gl-save-mipmaps", false);
|
||||
|
||||
// Configure this true to cause all lighting normals to automatically
|
||||
// be normalized by the graphics hardware before rendering. This is
|
||||
// necessary if you intend to render things under scale transforms and
|
||||
// expect lighting to work correctly. Maybe one day there will be
|
||||
// another way to set this at runtime, instead of only as a configure
|
||||
// variable.
|
||||
bool gl_auto_normalize_lighting = config_glgsg.GetBool("auto-normalize-lighting", true);
|
||||
|
||||
// Configure this true to try to implement decals using a
|
||||
// DepthOffsetAttrib, false to do them with the more reliable 3-pass
|
||||
// rendering method instead.
|
||||
bool gl_depth_offset_decals = config_glgsg.GetBool("depth-offset-decals", false);
|
||||
|
||||
// Configure this true to indicate the current version of GL fully
|
||||
// supports textures with B, G, R ordering; false if it only supports
|
||||
// R, G, B. false will always work, but true might be faster if the
|
||||
// implementation supports it.
|
||||
#ifdef GL_BGR
|
||||
bool gl_supports_bgr = config_glgsg.GetBool("gl-supports-bgr", false);
|
||||
#else
|
||||
// If it's not even defined, we can't use it.
|
||||
bool gl_supports_bgr = false;
|
||||
#endif // GL_BGR
|
||||
|
||||
// Configure this false if your GL's implementation of glColorMask()
|
||||
// is broken (some are). This will force the use of a (presumably)
|
||||
// more expensive blending operation instead.
|
||||
bool gl_color_mask = config_glgsg.GetBool("gl-color-mask", true);
|
||||
|
||||
ConfigureFn(config_glgsg) {
|
||||
init_libglgsg();
|
||||
}
|
||||
@ -108,8 +44,5 @@ init_libglgsg() {
|
||||
}
|
||||
initialized = true;
|
||||
|
||||
GLGraphicsStateGuardian::init_type();
|
||||
GLSavedFrameBuffer::init_type();
|
||||
GLTextureContext::init_type();
|
||||
GLGeomNodeContext::init_type();
|
||||
GLinit_classes();
|
||||
}
|
||||
|
@ -21,23 +21,11 @@
|
||||
|
||||
#include "pandabase.h"
|
||||
#include "notifyCategoryProxy.h"
|
||||
#include "dconfig.h"
|
||||
|
||||
ConfigureDecl(config_glgsg, EXPCL_PANDAGL, EXPTP_PANDAGL);
|
||||
NotifyCategoryDecl(glgsg, EXPCL_PANDAGL, EXPTP_PANDAGL);
|
||||
|
||||
extern bool gl_cheap_textures;
|
||||
extern bool gl_always_decal_textures;
|
||||
extern bool gl_ignore_clamp;
|
||||
extern bool gl_ignore_filters;
|
||||
extern bool gl_ignore_mipmaps;
|
||||
extern bool gl_force_mipmaps;
|
||||
extern bool gl_show_mipmaps;
|
||||
extern bool gl_save_mipmaps;
|
||||
extern bool gl_auto_normalize_lighting;
|
||||
extern bool gl_depth_offset_decals;
|
||||
extern bool gl_supports_bgr;
|
||||
extern bool gl_color_mask;
|
||||
|
||||
|
||||
extern EXPCL_PANDAGL void init_libglgsg();
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,3 @@
|
||||
|
||||
#include "config_glgsg.cxx"
|
||||
#include "glSavedFrameBuffer.cxx"
|
||||
#include "glGeomNodeContext.cxx"
|
||||
#include "glTextureContext.cxx"
|
||||
#include "glgsg.cxx"
|
||||
|
34
panda/src/glstuff/Sources.pp
Normal file
34
panda/src/glstuff/Sources.pp
Normal file
@ -0,0 +1,34 @@
|
||||
#define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
|
||||
dtoolutil:c dtoolbase:c dtool:m
|
||||
|
||||
// Most of the files here are not actually compiled into anything;
|
||||
// they're just included by various other directories.
|
||||
|
||||
#begin lib_target
|
||||
#define TARGET glstuff
|
||||
#define LOCAL_LIBS \
|
||||
gsgmisc gsgbase gobj display \
|
||||
putil linmath mathutil pnmimage
|
||||
|
||||
#define INSTALL_HEADERS \
|
||||
glstuff_src.cxx \
|
||||
glstuff_src.h \
|
||||
glstuff_undef_src.h \
|
||||
glGraphicsStateGuardian_src.cxx \
|
||||
glGraphicsStateGuardian_src.I \
|
||||
glGraphicsStateGuardian_src.h \
|
||||
glSavedFrameBuffer_src.cxx \
|
||||
glSavedFrameBuffer_src.I \
|
||||
glSavedFrameBuffer_src.h \
|
||||
glTextureContext_src.cxx \
|
||||
glTextureContext_src.I \
|
||||
glTextureContext_src.h \
|
||||
glGeomNodeContext_src.cxx \
|
||||
glGeomNodeContext_src.I \
|
||||
glGeomNodeContext_src.h
|
||||
|
||||
#define SOURCES \
|
||||
$[INSTALL_HEADERS] glpure.cxx
|
||||
|
||||
#end lib_target
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Filename: glGeomNodeContext.I
|
||||
// Filename: glGeomNodeContext_src.I
|
||||
// Created by: drose (12Jun01)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -18,12 +18,12 @@
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: GLGeomNodeContext::Constructor
|
||||
// Function: CLP(GeomNodeContext)::Constructor
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE GLGeomNodeContext::
|
||||
GLGeomNodeContext(GeomNode *node) :
|
||||
INLINE CLP(GeomNodeContext)::
|
||||
CLP(GeomNodeContext)(GeomNode *node) :
|
||||
GeomNodeContext(node)
|
||||
{
|
||||
_index = 0;
|
@ -1,4 +1,4 @@
|
||||
// Filename: glGeomNodeContext.cxx
|
||||
// Filename: glGeomNodeContext_src.cxx
|
||||
// Created by: drose (12Jun01)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,6 +16,4 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "glGeomNodeContext.h"
|
||||
|
||||
TypeHandle GLGeomNodeContext::_type_handle;
|
||||
TypeHandle CLP(GeomNodeContext)::_type_handle;
|
@ -1,4 +1,4 @@
|
||||
// Filename: glGeomNodeContext.h
|
||||
// Filename: glGeomNodeContext_src.h
|
||||
// Created by: drose (12Jun01)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,30 +16,18 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef GLGEOMNODECONTEXT_H
|
||||
#define GLGEOMNODECONTEXT_H
|
||||
|
||||
#include "pandabase.h"
|
||||
#include "geomNodeContext.h"
|
||||
#include "geomNode.h"
|
||||
#include "pvector.h"
|
||||
|
||||
#ifdef WIN32_VC
|
||||
// Must include windows.h before gl.h on NT
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
#include <GL/gl.h>
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : GLGeomNodeContext
|
||||
// Description :
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class EXPCL_PANDAGL GLGeomNodeContext : public GeomNodeContext {
|
||||
class EXPCL_GL CLP(GeomNodeContext) : public GeomNodeContext {
|
||||
public:
|
||||
INLINE GLGeomNodeContext(GeomNode *node);
|
||||
INLINE CLP(GeomNodeContext)(GeomNode *node);
|
||||
|
||||
// The GL display list index that draws the contents of this
|
||||
// GeomNode.
|
||||
@ -60,7 +48,7 @@ public:
|
||||
}
|
||||
static void init_type() {
|
||||
GeomNodeContext::init_type();
|
||||
register_type(_type_handle, "GLGeomNodeContext",
|
||||
register_type(_type_handle, CLASSPREFIX_QUOTED "GeomNodeContext",
|
||||
GeomNodeContext::get_class_type());
|
||||
}
|
||||
virtual TypeHandle get_type() const {
|
||||
@ -72,7 +60,4 @@ private:
|
||||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
#include "glGeomNodeContext.I"
|
||||
|
||||
#endif
|
||||
|
||||
#include "glGeomNodeContext_src.I"
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
// Filename: glGraphicsStateGuardian.h
|
||||
// Filename: glGraphicsStateGuardian_src.h
|
||||
// Created by: drose (02Feb99)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,11 +16,6 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef GLGRAPHICSSTATEGUARDIAN_H
|
||||
#define GLGRAPHICSSTATEGUARDIAN_H
|
||||
|
||||
//#define GSG_VERBOSE 1
|
||||
|
||||
#include "pandabase.h"
|
||||
|
||||
#include "graphicsStateGuardian.h"
|
||||
@ -33,38 +28,21 @@
|
||||
#include "textureApplyAttrib.h"
|
||||
#include "pointerToArray.h"
|
||||
#include "fog.h"
|
||||
|
||||
#ifdef WIN32_VC
|
||||
// Must include windows.h before gl.h on NT
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
#include <GL/gl.h>
|
||||
|
||||
#include "graphicsWindow.h"
|
||||
|
||||
class PlaneNode;
|
||||
class Light;
|
||||
|
||||
#if !defined(WIN32) && defined(GSG_VERBOSE)
|
||||
ostream &output_gl_enum(ostream &out, GLenum v);
|
||||
INLINE ostream &operator << (ostream &out, GLenum v) {
|
||||
return output_gl_enum(out, v);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : GLGraphicsStateGuardian
|
||||
// Description : A GraphicsStateGuardian specialized for rendering
|
||||
// into OpenGL contexts. There should be no GL calls
|
||||
// outside of this object.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class EXPCL_PANDAGL GLGraphicsStateGuardian : public GraphicsStateGuardian {
|
||||
class EXPCL_GL CLP(GraphicsStateGuardian) : public GraphicsStateGuardian {
|
||||
public:
|
||||
GLGraphicsStateGuardian(const FrameBufferProperties &properties);
|
||||
virtual ~GLGraphicsStateGuardian();
|
||||
CLP(GraphicsStateGuardian)(const FrameBufferProperties &properties);
|
||||
virtual ~CLP(GraphicsStateGuardian)();
|
||||
|
||||
virtual void reset();
|
||||
|
||||
@ -332,22 +310,4 @@ private:
|
||||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
#ifdef DO_PSTATS
|
||||
#define DO_PSTATS_STUFF(XX) XX;
|
||||
#else
|
||||
#define DO_PSTATS_STUFF(XX)
|
||||
#endif
|
||||
|
||||
#define ISPOW2(X) (((X) & ((X)-1))==0)
|
||||
|
||||
#ifndef NDEBUG
|
||||
#define report_gl_errors() \
|
||||
GLGraphicsStateGuardian::report_errors(__LINE__, __FILE__)
|
||||
#else
|
||||
#define report_gl_errors()
|
||||
#endif
|
||||
|
||||
#include "glGraphicsStateGuardian.I"
|
||||
|
||||
#endif
|
||||
|
||||
#include "glGraphicsStateGuardian_src.I"
|
@ -1,4 +1,4 @@
|
||||
// Filename: glSavedFrameBuffer.I
|
||||
// Filename: glSavedFrameBuffer_src.I
|
||||
// Created by: drose (06Oct99)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -18,22 +18,22 @@
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: GLSavedFrameBuffer::Constructor
|
||||
// Function: CLP(SavedFrameBuffer)::Constructor
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE GLSavedFrameBuffer::
|
||||
GLSavedFrameBuffer(const RenderBuffer &buffer, CPT(DisplayRegion) dr) :
|
||||
INLINE CLP(SavedFrameBuffer)::
|
||||
CLP(SavedFrameBuffer)(const RenderBuffer &buffer, CPT(DisplayRegion) dr) :
|
||||
SavedFrameBuffer(buffer, dr)
|
||||
{
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: GLSavedFrameBuffer::Destructor
|
||||
// Function: CLP(SavedFrameBuffer)::Destructor
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE GLSavedFrameBuffer::
|
||||
~GLSavedFrameBuffer() {
|
||||
INLINE CLP(SavedFrameBuffer)::
|
||||
~CLP(SavedFrameBuffer)() {
|
||||
}
|
||||
|
@ -16,6 +16,4 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "glSavedFrameBuffer.h"
|
||||
|
||||
TypeHandle GLSavedFrameBuffer::_type_handle;
|
||||
TypeHandle CLP(SavedFrameBuffer)::_type_handle;
|
@ -1,4 +1,4 @@
|
||||
// Filename: glSavedFrameBuffer.h
|
||||
// Filename: glSavedFrameBuffer_src.h
|
||||
// Created by: drose (06Oct99)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,26 +16,23 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef GLSAVEDFRAMEBUFFER_H
|
||||
#define GLSAVEDFRAMEBUFFER_H
|
||||
|
||||
#include "pandabase.h"
|
||||
|
||||
#include <savedFrameBuffer.h>
|
||||
#include <texture.h>
|
||||
#include <textureContext.h>
|
||||
#include <pixelBuffer.h>
|
||||
#include "savedFrameBuffer.h"
|
||||
#include "texture.h"
|
||||
#include "textureContext.h"
|
||||
#include "pixelBuffer.h"
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : GLSavedFrameBuffer
|
||||
// Description :
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class EXPCL_PANDAGL GLSavedFrameBuffer : public SavedFrameBuffer {
|
||||
class EXPCL_GL CLP(SavedFrameBuffer) : public SavedFrameBuffer {
|
||||
public:
|
||||
INLINE GLSavedFrameBuffer(const RenderBuffer &buffer,
|
||||
INLINE CLP(SavedFrameBuffer)(const RenderBuffer &buffer,
|
||||
CPT(DisplayRegion) dr);
|
||||
INLINE ~GLSavedFrameBuffer();
|
||||
INLINE ~CLP(SavedFrameBuffer)();
|
||||
|
||||
PT(Texture) _back_rgba;
|
||||
PT(PixelBuffer) _depth;
|
||||
@ -46,7 +43,7 @@ public:
|
||||
}
|
||||
static void init_type() {
|
||||
SavedFrameBuffer::init_type();
|
||||
register_type(_type_handle, "GLSavedFrameBuffer",
|
||||
register_type(_type_handle, CLASSPREFIX_QUOTED "SavedFrameBuffer",
|
||||
SavedFrameBuffer::get_class_type());
|
||||
}
|
||||
virtual TypeHandle get_type() const {
|
||||
@ -58,7 +55,5 @@ private:
|
||||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
#include "glSavedFrameBuffer.I"
|
||||
|
||||
#endif
|
||||
#include "glSavedFrameBuffer_src.I"
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Filename: glTextureContext.I
|
||||
// Filename: glTextureContext_src.I
|
||||
// Created by: drose (07Oct99)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -18,12 +18,12 @@
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: GLTextureContext::Constructor
|
||||
// Function: CLP(TextureContext)::Constructor
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE GLTextureContext::
|
||||
GLTextureContext(Texture *tex) :
|
||||
INLINE CLP(TextureContext)::
|
||||
CLP(TextureContext)(Texture *tex) :
|
||||
TextureContext(tex)
|
||||
{
|
||||
_index = 0;
|
@ -16,6 +16,4 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "glTextureContext.h"
|
||||
|
||||
TypeHandle GLTextureContext::_type_handle;
|
||||
TypeHandle CLP(TextureContext)::_type_handle;
|
@ -1,4 +1,4 @@
|
||||
// Filename: glTextureContext.h
|
||||
// Filename: glTextureContext_src.h
|
||||
// Created by: drose (07Oct99)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,28 +16,16 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef GLTEXTURECONTEXT_H
|
||||
#define GLTEXTURECONTEXT_H
|
||||
|
||||
#include "pandabase.h"
|
||||
|
||||
#ifdef WIN32_VC
|
||||
// Must include windows.h before gl.h on NT
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <textureContext.h>
|
||||
#include "textureContext.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : GLTextureContext
|
||||
// Description :
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class EXPCL_PANDAGL GLTextureContext : public TextureContext {
|
||||
class EXPCL_GL CLP(TextureContext) : public TextureContext {
|
||||
public:
|
||||
INLINE GLTextureContext(Texture *tex);
|
||||
INLINE CLP(TextureContext)(Texture *tex);
|
||||
|
||||
// This is the GL "name" of the texture object.
|
||||
GLuint _index;
|
||||
@ -51,7 +39,7 @@ public:
|
||||
}
|
||||
static void init_type() {
|
||||
TextureContext::init_type();
|
||||
register_type(_type_handle, "GLTextureContext",
|
||||
register_type(_type_handle, CLASSPREFIX_QUOTED "TextureContext",
|
||||
TextureContext::get_class_type());
|
||||
}
|
||||
virtual TypeHandle get_type() const {
|
||||
@ -63,7 +51,5 @@ private:
|
||||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
#include "glTextureContext.I"
|
||||
|
||||
#endif
|
||||
#include "glTextureContext_src.I"
|
||||
|
87
panda/src/glstuff/glmisc_src.cxx
Normal file
87
panda/src/glstuff/glmisc_src.cxx
Normal file
@ -0,0 +1,87 @@
|
||||
// Filename: glmisc_src.cxx
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
// Configure this true to GLP(Hint) the textures into the cheapest
|
||||
// possible mode.
|
||||
bool CLP(cheap_textures) = CONFIGOBJ.GetBool("gl-cheap-textures", false);
|
||||
|
||||
// Configure this true to ignore texture modes like modulate that
|
||||
// blend texture color with polygon color (a little cheaper for
|
||||
// software renderers).
|
||||
bool CLP(always_decal_textures) = CONFIGOBJ.GetBool("gl-always-decal-textures", false);
|
||||
|
||||
// Configure this true to disable texture clamp mode (all textures
|
||||
// repeat, a little cheaper for software renderers).
|
||||
bool CLP(ignore_clamp) = CONFIGOBJ.GetBool("gl-ignore-clamp", false);
|
||||
|
||||
// Configure this true to disable any texture filters at all (forcing
|
||||
// point sampling).
|
||||
bool CLP(ignore_filters) = CONFIGOBJ.GetBool("gl-ignore-filters", false);
|
||||
|
||||
// Configure this true to disable mipmapping only.
|
||||
bool CLP(ignore_mipmaps) = CONFIGOBJ.GetBool("gl-ignore-mipmaps", false) || CLP(ignore_filters);
|
||||
|
||||
// Configure this true to enable full trilinear mipmapping on every
|
||||
// texture, whether it asks for it or not.
|
||||
bool CLP(force_mipmaps) = CONFIGOBJ.GetBool("gl-force-mipmaps", false);
|
||||
|
||||
// Configure this true to cause mipmaps to be rendered with phony
|
||||
// colors, using mipmap_level_*.rgb if they are available.
|
||||
bool CLP(show_mipmaps) = CONFIGOBJ.GetBool("gl-show-mipmaps", false);
|
||||
|
||||
// Configure this true to cause the generated mipmap images to be
|
||||
// written out to image files on the disk as they are generated.
|
||||
bool CLP(save_mipmaps) = CONFIGOBJ.GetBool("gl-save-mipmaps", false);
|
||||
|
||||
// Configure this true to cause all lighting normals to automatically
|
||||
// be normalized by the graphics hardware before rendering. This is
|
||||
// necessary if you intend to render things under scale transforms and
|
||||
// expect lighting to work correctly. Maybe one day there will be
|
||||
// another way to set this at runtime, instead of only as a configure
|
||||
// variable.
|
||||
bool CLP(auto_normalize_lighting) = CONFIGOBJ.GetBool("auto-normalize-lighting", true);
|
||||
|
||||
// Configure this true to try to implement decals using a
|
||||
// DepthOffsetAttrib, false to do them with the more reliable 3-pass
|
||||
// rendering method instead.
|
||||
bool CLP(depth_offset_decals) = CONFIGOBJ.GetBool("depth-offset-decals", false);
|
||||
|
||||
// Configure this true to indicate the current version of GL fully
|
||||
// supports textures with B, G, R ordering; false if it only supports
|
||||
// R, G, B. false will always work, but true might be faster if the
|
||||
// implementation supports it.
|
||||
#ifdef GL_BGR
|
||||
bool CLP(supports_bgr) = CONFIGOBJ.GetBool("gl-supports-bgr", false);
|
||||
#else
|
||||
// If it's not even defined, we can't use it.
|
||||
bool CLP(supports_bgr) = false;
|
||||
#endif // GL_BGR
|
||||
|
||||
// Configure this false if your GL's implementation of GLP(ColorMask)()
|
||||
// is broken (some are). This will force the use of a (presumably)
|
||||
// more expensive blending operation instead.
|
||||
bool CLP(color_mask) = CONFIGOBJ.GetBool("gl-color-mask", true);
|
||||
|
||||
void CLP(init_classes)() {
|
||||
CLP(GraphicsStateGuardian)::init_type();
|
||||
CLP(SavedFrameBuffer)::init_type();
|
||||
CLP(TextureContext)::init_type();
|
||||
CLP(GeomNodeContext)::init_type();
|
||||
}
|
||||
|
60
panda/src/glstuff/glmisc_src.h
Normal file
60
panda/src/glstuff/glmisc_src.h
Normal file
@ -0,0 +1,60 @@
|
||||
// Filename: glmisc_src.h
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "pandabase.h"
|
||||
|
||||
//#define GSG_VERBOSE 1
|
||||
|
||||
extern bool CLP(cheap_textures);
|
||||
extern bool CLP(always_decal_textures);
|
||||
extern bool CLP(ignore_clamp);
|
||||
extern bool CLP(ignore_filters);
|
||||
extern bool CLP(ignore_mipmaps);
|
||||
extern bool CLP(force_mipmaps);
|
||||
extern bool CLP(show_mipmaps);
|
||||
extern bool CLP(save_mipmaps);
|
||||
extern bool CLP(auto_normalize_lighting);
|
||||
extern bool CLP(depth_offset_decals);
|
||||
extern bool CLP(supports_bgr);
|
||||
extern bool CLP(color_mask);
|
||||
|
||||
extern EXPCL_GL void CLP(init_classes)();
|
||||
|
||||
|
||||
#if !defined(WIN32) && defined(GSG_VERBOSE)
|
||||
ostream &output_gl_enum(ostream &out, GLenum v);
|
||||
INLINE ostream &operator << (ostream &out, GLenum v) {
|
||||
return output_gl_enum(out, v);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef DO_PSTATS
|
||||
#define DO_PSTATS_STUFF(XX) XX;
|
||||
#else
|
||||
#define DO_PSTATS_STUFF(XX)
|
||||
#endif
|
||||
|
||||
#define ISPOW2(X) (((X) & ((X)-1))==0)
|
||||
|
||||
#ifndef NDEBUG
|
||||
#define report_gl_errors() \
|
||||
CLP(GraphicsStateGuardian)::report_errors(__LINE__, __FILE__)
|
||||
#else
|
||||
#define report_gl_errors()
|
||||
#endif
|
26
panda/src/glstuff/glpure.cxx
Normal file
26
panda/src/glstuff/glpure.cxx
Normal file
@ -0,0 +1,26 @@
|
||||
// Filename: glpure.cxx
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "pandabase.h"
|
||||
|
||||
// This is the one file in this directory which is actually compiled.
|
||||
// It exists just so we can have some symbols and make the compiler
|
||||
// happy.
|
||||
|
||||
int glpure;
|
||||
|
29
panda/src/glstuff/glstuff_src.cxx
Normal file
29
panda/src/glstuff/glstuff_src.cxx
Normal file
@ -0,0 +1,29 @@
|
||||
// Filename: glstuff_src.cxx
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This .cxx file includes all of the gl-related .cxx files in this
|
||||
// directory. It works just like glstuff_src.h; see the comments in
|
||||
// that file for an explanation for what you're supposed to declare in
|
||||
// order to include this file.
|
||||
|
||||
#include "glmisc_src.cxx"
|
||||
#include "glGeomNodeContext_src.cxx"
|
||||
#include "glTextureContext_src.cxx"
|
||||
#include "glSavedFrameBuffer_src.cxx"
|
||||
#include "glGraphicsStateGuardian_src.cxx"
|
||||
|
44
panda/src/glstuff/glstuff_src.h
Normal file
44
panda/src/glstuff/glstuff_src.h
Normal file
@ -0,0 +1,44 @@
|
||||
// Filename: glstuff_src.h
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This header file includes all of the gl-related header files in
|
||||
// this directory. To include a CLP(GraphicsStateGuardian)-like thing of
|
||||
// some kind (e.g., "true" GL calls, or Mesa-prefixed GL calls, or
|
||||
// some such), define the following symbols and #include this header
|
||||
// file.
|
||||
|
||||
// #define GLP(name): returns name prefixed by the gl prefix, e.g. gl##name
|
||||
// #define CLP(name): returns name prefixed by the class prefix, e.g. GL##name
|
||||
// #define CLASSPREFIX_QUOTED: the quoted prefix of CLP, e.g. "GL"
|
||||
// #define CONFIGOBJ: a Configrc object, e.g. config_glgsg
|
||||
// #define GLCAT: a Notify category, e.g. glgsg_cat
|
||||
// #define EXPCL_GL, EXPTP_GL: according to the DLL currently being compiled.
|
||||
|
||||
// Also, be sure you include the appropriate GL.h header file to get
|
||||
// all the GL symbols declared.
|
||||
|
||||
// This file is not protected from multiple inclusion; it may need to
|
||||
// be included multiple times.
|
||||
|
||||
|
||||
#include "glmisc_src.h"
|
||||
#include "glGeomNodeContext_src.h"
|
||||
#include "glTextureContext_src.h"
|
||||
#include "glSavedFrameBuffer_src.h"
|
||||
#include "glGraphicsStateGuardian_src.h"
|
||||
|
29
panda/src/glstuff/glstuff_undef_src.h
Normal file
29
panda/src/glstuff/glstuff_undef_src.h
Normal file
@ -0,0 +1,29 @@
|
||||
// Filename: glstuff_undef_src.h
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This header file #undefs all the stuff you had to #define to
|
||||
// include glstuff_src.h or glstuff_src.cxx.
|
||||
|
||||
#undef GLP
|
||||
#undef CLP
|
||||
#undef CLASSPREFIX_QUOTED
|
||||
#undef CONFIGOBJ
|
||||
#undef GLCAT
|
||||
#undef EXPCL
|
||||
#undef EXPTP
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "glxGraphicsPipe.h"
|
||||
|
||||
#include "graphicsPipe.h"
|
||||
#include "glGraphicsStateGuardian.h"
|
||||
#include "glgsg.h"
|
||||
|
||||
TypeHandle glxGraphicsBuffer::_type_handle;
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include "pandabase.h"
|
||||
|
||||
#include "glGraphicsStateGuardian.h"
|
||||
#include "glgsg.h"
|
||||
#include "glxGraphicsPipe.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "graphicsPipe.h"
|
||||
#include "keyboardButton.h"
|
||||
#include "mouseButton.h"
|
||||
#include "glGraphicsStateGuardian.h"
|
||||
#include "glgsg.h"
|
||||
#include "clockObject.h"
|
||||
|
||||
#include <errno.h>
|
||||
|
@ -1,22 +1,25 @@
|
||||
#define BUILD_DIRECTORY $[HAVE_MESA]
|
||||
#define BUILDING_DLL BUILDING_PANDAMESA
|
||||
|
||||
#define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
|
||||
dtoolutil:c dtoolbase:c dtool:m
|
||||
#define USE_PACKAGES gl mesa
|
||||
#define USE_PACKAGES mesa
|
||||
|
||||
#begin lib_target
|
||||
#define TARGET mesadisplay
|
||||
#define LOCAL_LIBS \
|
||||
glgsg
|
||||
glstuff gsgmisc gsgbase gobj display \
|
||||
putil linmath mathutil pnmimage
|
||||
|
||||
#define SOURCES \
|
||||
config_mesadisplay.cxx config_mesadisplay.h \
|
||||
mesaGraphicsBuffer.I mesaGraphicsBuffer.cxx mesaGraphicsBuffer.h \
|
||||
mesaGraphicsPipe.I mesaGraphicsPipe.cxx mesaGraphicsPipe.h \
|
||||
mesaGraphicsStateGuardian.h mesaGraphicsStateGuardian.cxx \
|
||||
mesaGraphicsStateGuardian.I
|
||||
mesagsg.h mesagsg.cxx \
|
||||
osMesaGraphicsBuffer.I osMesaGraphicsBuffer.cxx osMesaGraphicsBuffer.h \
|
||||
osMesaGraphicsPipe.I osMesaGraphicsPipe.cxx osMesaGraphicsPipe.h \
|
||||
osMesaGraphicsStateGuardian.h osMesaGraphicsStateGuardian.cxx \
|
||||
osMesaGraphicsStateGuardian.I
|
||||
|
||||
#define IGATESCAN mesaGraphicsPipe.h
|
||||
#define IGATESCAN osMesaGraphicsPipe.h
|
||||
|
||||
#end lib_target
|
||||
|
||||
|
@ -17,13 +17,14 @@
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "config_mesadisplay.h"
|
||||
#include "mesaGraphicsBuffer.h"
|
||||
#include "mesaGraphicsPipe.h"
|
||||
#include "mesaGraphicsStateGuardian.h"
|
||||
#include "osMesaGraphicsBuffer.h"
|
||||
#include "osMesaGraphicsPipe.h"
|
||||
#include "osMesaGraphicsStateGuardian.h"
|
||||
#include "graphicsPipeSelection.h"
|
||||
#include "dconfig.h"
|
||||
#include "mesagsg.h"
|
||||
|
||||
Configure(config_mesadisplay);
|
||||
ConfigureDef(config_mesadisplay);
|
||||
NotifyCategoryDef(mesadisplay, "display");
|
||||
|
||||
ConfigureFn(config_mesadisplay) {
|
||||
@ -46,12 +47,13 @@ init_libmesadisplay() {
|
||||
}
|
||||
initialized = true;
|
||||
|
||||
MesaGraphicsBuffer::init_type();
|
||||
MesaGraphicsPipe::init_type();
|
||||
MesaGraphicsStateGuardian::init_type();
|
||||
OsMesaGraphicsBuffer::init_type();
|
||||
OsMesaGraphicsPipe::init_type();
|
||||
OSMesaGraphicsStateGuardian::init_type();
|
||||
|
||||
cerr << "Adding MesaGraphicsPipe\n";
|
||||
GraphicsPipeSelection *selection = GraphicsPipeSelection::get_global_ptr();
|
||||
selection->add_pipe_type(MesaGraphicsPipe::get_class_type(),
|
||||
MesaGraphicsPipe::pipe_constructor);
|
||||
selection->add_pipe_type(OsMesaGraphicsPipe::get_class_type(),
|
||||
OsMesaGraphicsPipe::pipe_constructor);
|
||||
|
||||
Mesainit_classes();
|
||||
}
|
||||
|
@ -21,9 +21,11 @@
|
||||
|
||||
#include "pandabase.h"
|
||||
#include "notifyCategoryProxy.h"
|
||||
#include "dconfig.h"
|
||||
|
||||
NotifyCategoryDecl(mesadisplay, EXPCL_PANDAGL, EXPTP_PANDAGL);
|
||||
ConfigureDecl(config_mesadisplay, EXPCL_PANDAMESA, EXPTP_PANDAMESA);
|
||||
NotifyCategoryDecl(mesadisplay, EXPCL_PANDAMESA, EXPTP_PANDAMESA);
|
||||
|
||||
extern EXPCL_PANDAGL void init_libmesadisplay();
|
||||
extern EXPCL_PANDAMESA void init_libmesadisplay();
|
||||
|
||||
#endif
|
||||
|
24
panda/src/mesadisplay/mesagsg.cxx
Normal file
24
panda/src/mesadisplay/mesagsg.cxx
Normal file
@ -0,0 +1,24 @@
|
||||
// Filename: mesagsg.cxx
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This is the actual .cxx file to include if you want to pick up
|
||||
// any or all of the header files in this directory as compiled to use
|
||||
// the Mesa library.
|
||||
|
||||
#include "mesagsg.h"
|
||||
#include "glstuff_src.cxx"
|
46
panda/src/mesadisplay/mesagsg.h
Normal file
46
panda/src/mesadisplay/mesagsg.h
Normal file
@ -0,0 +1,46 @@
|
||||
// Filename: mesagsg.h
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved
|
||||
//
|
||||
// All use of this software is subject to the terms of the Panda 3d
|
||||
// Software license. You should have received a copy of this license
|
||||
// along with this source code; you will also find a current copy of
|
||||
// the license at http://www.panda3d.org/license.txt .
|
||||
//
|
||||
// To contact the maintainers of this program write to
|
||||
// panda3d@yahoogroups.com .
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef MESAGSG_H
|
||||
#define MESAGSG_H
|
||||
|
||||
// This is the actual header file to include if you want to pick up
|
||||
// any or all of the header files in this directory as compiled to use
|
||||
// the Mesa library.
|
||||
|
||||
#include "pandabase.h"
|
||||
#include "config_mesadisplay.h"
|
||||
|
||||
#ifdef USE_MGL_NAMESPACE
|
||||
#define GLP(name) mgl##name
|
||||
#else
|
||||
#define GLP(name) gl##name
|
||||
#endif
|
||||
#define CLP(name) Mesa##name
|
||||
#define CLASSPREFIX_QUOTED "Mesa"
|
||||
#define CONFIGOBJ config_mesadisplay
|
||||
#define GLCAT mesadisplay_cat
|
||||
#define EXPCL_GL EXPCL_PANDAMESA
|
||||
#define EXPTP_GL EXPTP_PANDAMESA
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#include "glstuff_src.h"
|
||||
|
||||
#endif // MESAGSG_H
|
@ -1,4 +1,4 @@
|
||||
// Filename: mesaGraphicsPipe.I
|
||||
// Filename: osMesaGraphicsBuffer.I
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
@ -1,4 +1,4 @@
|
||||
// Filename: mesaGraphicsBuffer.cxx
|
||||
// Filename: osMesaGraphicsBuffer.cxx
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,20 +16,20 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "mesaGraphicsBuffer.h"
|
||||
#include "osMesaGraphicsBuffer.h"
|
||||
#include "config_mesadisplay.h"
|
||||
#include "mesaGraphicsPipe.h"
|
||||
#include "mesaGraphicsStateGuardian.h"
|
||||
#include "osMesaGraphicsPipe.h"
|
||||
#include "osMesaGraphicsStateGuardian.h"
|
||||
|
||||
TypeHandle MesaGraphicsBuffer::_type_handle;
|
||||
TypeHandle OsMesaGraphicsBuffer::_type_handle;
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsBuffer::Constructor
|
||||
// Function: OsMesaGraphicsBuffer::Constructor
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
MesaGraphicsBuffer::
|
||||
MesaGraphicsBuffer(GraphicsPipe *pipe, GraphicsStateGuardian *gsg,
|
||||
OsMesaGraphicsBuffer::
|
||||
OsMesaGraphicsBuffer(GraphicsPipe *pipe, GraphicsStateGuardian *gsg,
|
||||
int x_size, int y_size, bool want_texture) :
|
||||
GraphicsBuffer(pipe, gsg, x_size, y_size, want_texture)
|
||||
{
|
||||
@ -37,24 +37,24 @@ MesaGraphicsBuffer(GraphicsPipe *pipe, GraphicsStateGuardian *gsg,
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsBuffer::Destructor
|
||||
// Function: OsMesaGraphicsBuffer::Destructor
|
||||
// Access: Public, Virtual
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
MesaGraphicsBuffer::
|
||||
~MesaGraphicsBuffer() {
|
||||
OsMesaGraphicsBuffer::
|
||||
~OsMesaGraphicsBuffer() {
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsBuffer::make_current
|
||||
// Function: OsMesaGraphicsBuffer::make_current
|
||||
// Access: Public, Virtual
|
||||
// Description: This function will be called within the draw thread
|
||||
// during begin_frame() to ensure the graphics context
|
||||
// is ready for drawing.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void MesaGraphicsBuffer::
|
||||
void OsMesaGraphicsBuffer::
|
||||
make_current() {
|
||||
MesaGraphicsStateGuardian *mesagsg;
|
||||
OSMesaGraphicsStateGuardian *mesagsg;
|
||||
DCAST_INTO_V(mesagsg, _gsg);
|
||||
OSMesaMakeCurrent(mesagsg->_context, _image.p(), _type,
|
||||
_x_size, _y_size);
|
||||
@ -63,7 +63,7 @@ make_current() {
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsBuffer::begin_flip
|
||||
// Function: OsMesaGraphicsBuffer::begin_flip
|
||||
// Access: Public, Virtual
|
||||
// Description: This function will be called within the draw thread
|
||||
// after end_frame() has been called on all windows, to
|
||||
@ -76,7 +76,7 @@ make_current() {
|
||||
// end_flip(), to make it easier to flip all of the
|
||||
// windows at the same time.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void MesaGraphicsBuffer::
|
||||
void OsMesaGraphicsBuffer::
|
||||
begin_flip() {
|
||||
if (has_texture()) {
|
||||
// Use glCopyTexImage2D to copy the framebuffer to the texture.
|
||||
@ -89,25 +89,25 @@ begin_flip() {
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsBuffer::close_buffer
|
||||
// Function: OsMesaGraphicsBuffer::close_buffer
|
||||
// Access: Protected, Virtual
|
||||
// Description: Closes the buffer right now. Called from the window
|
||||
// thread.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void MesaGraphicsBuffer::
|
||||
void OsMesaGraphicsBuffer::
|
||||
close_buffer() {
|
||||
_image.clear();
|
||||
_is_valid = false;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsBuffer::open_buffer
|
||||
// Function: OsMesaGraphicsBuffer::open_buffer
|
||||
// Access: Protected, Virtual
|
||||
// Description: Opens the buffer right now. Called from the window
|
||||
// thread. Returns true if the buffer is successfully
|
||||
// opened, or false if there was a problem.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
bool MesaGraphicsBuffer::
|
||||
bool OsMesaGraphicsBuffer::
|
||||
open_buffer() {
|
||||
_image = PTA_uchar::empty_array(_x_size * _y_size * 4);
|
||||
_is_valid = true;
|
@ -1,4 +1,4 @@
|
||||
// Filename: mesaGraphicsBuffer.h
|
||||
// Filename: osMesaGraphicsBuffer.h
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,26 +16,26 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef MESAGRAPHICSBUFFER_H
|
||||
#define MESAGRAPHICSBUFFER_H
|
||||
#ifndef OSMESAGRAPHICSBUFFER_H
|
||||
#define OSMESAGRAPHICSBUFFER_H
|
||||
|
||||
#include "pandabase.h"
|
||||
|
||||
#include "mesaGraphicsPipe.h"
|
||||
#include "osMesaGraphicsPipe.h"
|
||||
#include "graphicsBuffer.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : MesaGraphicsBuffer
|
||||
// Class : OsMesaGraphicsBuffer
|
||||
// Description : An offscreen buffer using direct calls to Mesa. This
|
||||
// is the only kind of graphics output supported by
|
||||
// osmesa.h.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class MesaGraphicsBuffer : public GraphicsBuffer {
|
||||
class EXPCL_PANDAMESA OsMesaGraphicsBuffer : public GraphicsBuffer {
|
||||
public:
|
||||
MesaGraphicsBuffer(GraphicsPipe *pipe, GraphicsStateGuardian *gsg,
|
||||
OsMesaGraphicsBuffer(GraphicsPipe *pipe, GraphicsStateGuardian *gsg,
|
||||
int x_size, int y_size, bool want_texture);
|
||||
|
||||
virtual ~MesaGraphicsBuffer();
|
||||
virtual ~OsMesaGraphicsBuffer();
|
||||
|
||||
virtual void make_current();
|
||||
|
||||
@ -55,7 +55,7 @@ public:
|
||||
}
|
||||
static void init_type() {
|
||||
GraphicsBuffer::init_type();
|
||||
register_type(_type_handle, "MesaGraphicsBuffer",
|
||||
register_type(_type_handle, "OsMesaGraphicsBuffer",
|
||||
GraphicsBuffer::get_class_type());
|
||||
}
|
||||
virtual TypeHandle get_type() const {
|
||||
@ -67,6 +67,6 @@ private:
|
||||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
#include "mesaGraphicsBuffer.I"
|
||||
#include "osMesaGraphicsBuffer.I"
|
||||
|
||||
#endif
|
@ -1,4 +1,4 @@
|
||||
// Filename: mesaGraphicsBuffer.I
|
||||
// Filename: osMesaGraphicsPipe.I
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
@ -1,5 +1,5 @@
|
||||
// Filename: mesaGraphicsPipe.cxx
|
||||
// Created by: mike (09Jan97)
|
||||
// Filename: osMesaGraphicsPipe.cxx
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@ -16,37 +16,37 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "mesaGraphicsPipe.h"
|
||||
#include "mesaGraphicsBuffer.h"
|
||||
#include "mesaGraphicsStateGuardian.h"
|
||||
#include "osMesaGraphicsPipe.h"
|
||||
#include "osMesaGraphicsBuffer.h"
|
||||
#include "osMesaGraphicsStateGuardian.h"
|
||||
#include "config_mesadisplay.h"
|
||||
#include "frameBufferProperties.h"
|
||||
#include "mutexHolder.h"
|
||||
|
||||
TypeHandle MesaGraphicsPipe::_type_handle;
|
||||
TypeHandle OsMesaGraphicsPipe::_type_handle;
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsPipe::Constructor
|
||||
// Function: OsMesaGraphicsPipe::Constructor
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
MesaGraphicsPipe::
|
||||
MesaGraphicsPipe() {
|
||||
OsMesaGraphicsPipe::
|
||||
OsMesaGraphicsPipe() {
|
||||
_supported_types = OT_buffer | OT_texture_buffer;
|
||||
_is_valid = true;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsPipe::Destructor
|
||||
// Function: OsMesaGraphicsPipe::Destructor
|
||||
// Access: Public, Virtual
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
MesaGraphicsPipe::
|
||||
~MesaGraphicsPipe() {
|
||||
OsMesaGraphicsPipe::
|
||||
~OsMesaGraphicsPipe() {
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsPipe::get_interface_name
|
||||
// Function: OsMesaGraphicsPipe::get_interface_name
|
||||
// Access: Published, Virtual
|
||||
// Description: Returns the name of the rendering interface
|
||||
// associated with this GraphicsPipe. This is used to
|
||||
@ -55,41 +55,41 @@ MesaGraphicsPipe::
|
||||
// particular platform, so the name should be meaningful
|
||||
// and unique for a given platform.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
string MesaGraphicsPipe::
|
||||
string OsMesaGraphicsPipe::
|
||||
get_interface_name() const {
|
||||
return "Offscreen Mesa";
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsPipe::pipe_constructor
|
||||
// Function: OsMesaGraphicsPipe::pipe_constructor
|
||||
// Access: Public, Static
|
||||
// Description: This function is passed to the GraphicsPipeSelection
|
||||
// object to allow the user to make a default
|
||||
// MesaGraphicsPipe.
|
||||
// OsMesaGraphicsPipe.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
PT(GraphicsPipe) MesaGraphicsPipe::
|
||||
PT(GraphicsPipe) OsMesaGraphicsPipe::
|
||||
pipe_constructor() {
|
||||
return new MesaGraphicsPipe;
|
||||
return new OsMesaGraphicsPipe;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsPipe::make_gsg
|
||||
// Function: OsMesaGraphicsPipe::make_gsg
|
||||
// Access: Protected, Virtual
|
||||
// Description: Creates a new GSG to use the pipe (but no windows
|
||||
// have been created yet for the GSG). This method will
|
||||
// be called in the draw thread for the GSG.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
PT(GraphicsStateGuardian) MesaGraphicsPipe::
|
||||
PT(GraphicsStateGuardian) OsMesaGraphicsPipe::
|
||||
make_gsg(const FrameBufferProperties &properties) {
|
||||
return new MesaGraphicsStateGuardian(properties);
|
||||
return new OSMesaGraphicsStateGuardian(properties);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsPipe::make_buffer
|
||||
// Function: OsMesaGraphicsPipe::make_buffer
|
||||
// Access: Protected, Virtual
|
||||
// Description: Creates a new offscreen buffer on the pipe, if possible.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
PT(GraphicsBuffer) MesaGraphicsPipe::
|
||||
PT(GraphicsBuffer) OsMesaGraphicsPipe::
|
||||
make_buffer(GraphicsStateGuardian *gsg, int x_size, int y_size, bool want_texture) {
|
||||
return new MesaGraphicsBuffer(this, gsg, x_size, y_size, want_texture);
|
||||
return new OsMesaGraphicsBuffer(this, gsg, x_size, y_size, want_texture);
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
// Filename: mesaGraphicsPipe.h
|
||||
// Filename: osMesaGraphicsPipe.h
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,8 +16,8 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef MESAGRAPHICSPIPE_H
|
||||
#define MESAGRAPHICSPIPE_H
|
||||
#ifndef OSMESAGRAPHICSPIPE_H
|
||||
#define OSMESAGRAPHICSPIPE_H
|
||||
|
||||
#include "pandabase.h"
|
||||
#include "graphicsWindow.h"
|
||||
@ -28,7 +28,7 @@
|
||||
class FrameBufferProperties;
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : MesaGraphicsPipe
|
||||
// Class : OsMesaGraphicsPipe
|
||||
// Description : This graphics pipe represents the interface for
|
||||
// rendering with direct calls to the Mesa open-source
|
||||
// software-only implementation of OpenGL.
|
||||
@ -38,10 +38,10 @@ class FrameBufferProperties;
|
||||
// buffers without having any X server or other
|
||||
// operating system infrastructure in place.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class MesaGraphicsPipe : public GraphicsPipe {
|
||||
class EXPCL_PANDAMESA OsMesaGraphicsPipe : public GraphicsPipe {
|
||||
public:
|
||||
MesaGraphicsPipe();
|
||||
virtual ~MesaGraphicsPipe();
|
||||
OsMesaGraphicsPipe();
|
||||
virtual ~OsMesaGraphicsPipe();
|
||||
|
||||
virtual string get_interface_name() const;
|
||||
static PT(GraphicsPipe) pipe_constructor();
|
||||
@ -59,7 +59,7 @@ public:
|
||||
}
|
||||
static void init_type() {
|
||||
GraphicsPipe::init_type();
|
||||
register_type(_type_handle, "MesaGraphicsPipe",
|
||||
register_type(_type_handle, "OsMesaGraphicsPipe",
|
||||
GraphicsPipe::get_class_type());
|
||||
}
|
||||
virtual TypeHandle get_type() const {
|
||||
@ -71,6 +71,6 @@ private:
|
||||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
#include "mesaGraphicsPipe.I"
|
||||
#include "osMesaGraphicsPipe.I"
|
||||
|
||||
#endif
|
@ -1,5 +1,5 @@
|
||||
// Filename: glxGraphicsStateGuardian.I
|
||||
// Created by: drose (27Jan03)
|
||||
// Filename: osMesaGraphicsStateGuardian.I
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
@ -1,4 +1,4 @@
|
||||
// Filename: mesaGraphicsStateGuardian.cxx
|
||||
// Filename: osMesaGraphicsStateGuardian.cxx
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,29 +16,29 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "mesaGraphicsStateGuardian.h"
|
||||
#include "osMesaGraphicsStateGuardian.h"
|
||||
|
||||
TypeHandle MesaGraphicsStateGuardian::_type_handle;
|
||||
TypeHandle OSMesaGraphicsStateGuardian::_type_handle;
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsStateGuardian::Constructor
|
||||
// Function: OSMesaGraphicsStateGuardian::Constructor
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
MesaGraphicsStateGuardian::
|
||||
MesaGraphicsStateGuardian(const FrameBufferProperties &properties) :
|
||||
GLGraphicsStateGuardian(properties)
|
||||
OSMesaGraphicsStateGuardian::
|
||||
OSMesaGraphicsStateGuardian(const FrameBufferProperties &properties) :
|
||||
MesaGraphicsStateGuardian(properties)
|
||||
{
|
||||
_context = OSMesaCreateContext(OSMESA_RGBA, NULL);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MesaGraphicsStateGuardian::Destructor
|
||||
// Function: OSMesaGraphicsStateGuardian::Destructor
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
MesaGraphicsStateGuardian::
|
||||
~MesaGraphicsStateGuardian() {
|
||||
OSMesaGraphicsStateGuardian::
|
||||
~OSMesaGraphicsStateGuardian() {
|
||||
if (_context != (OSMesaContext)NULL) {
|
||||
OSMesaDestroyContext(_context);
|
||||
_context = (OSMesaContext)NULL;
|
@ -1,4 +1,4 @@
|
||||
// Filename: mesaGraphicsStateGuardian.h
|
||||
// Filename: osMesaGraphicsStateGuardian.h
|
||||
// Created by: drose (09Feb04)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -16,23 +16,23 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef MESAGRAPHICSSTATEGUARDIAN_H
|
||||
#define MESAGRAPHICSSTATEGUARDIAN_H
|
||||
#ifndef OSMESAGRAPHICSSTATEGUARDIAN_H
|
||||
#define OSMESAGRAPHICSSTATEGUARDIAN_H
|
||||
|
||||
#include "pandabase.h"
|
||||
#include "mesagsg.h"
|
||||
|
||||
#include "glGraphicsStateGuardian.h"
|
||||
#include "mesaGraphicsPipe.h"
|
||||
#include <GL/osmesa.h>
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : MesaGraphicsStateGuardian
|
||||
// Description : A tiny specialization on GLGraphicsStateGuardian to
|
||||
// add some Mesa-specific information.
|
||||
// Class : OSMesaGraphicsStateGuardian
|
||||
// Description : A tiny specialization on MesaGraphicsStateGuardian to
|
||||
// add a reference to the OSMesaContext.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class MesaGraphicsStateGuardian : public GLGraphicsStateGuardian {
|
||||
class EXPCL_PANDAMESA OSMesaGraphicsStateGuardian : public MesaGraphicsStateGuardian {
|
||||
public:
|
||||
MesaGraphicsStateGuardian(const FrameBufferProperties &properties);
|
||||
virtual ~MesaGraphicsStateGuardian();
|
||||
OSMesaGraphicsStateGuardian(const FrameBufferProperties &properties);
|
||||
virtual ~OSMesaGraphicsStateGuardian();
|
||||
|
||||
OSMesaContext _context;
|
||||
|
||||
@ -41,9 +41,9 @@ public:
|
||||
return _type_handle;
|
||||
}
|
||||
static void init_type() {
|
||||
GLGraphicsStateGuardian::init_type();
|
||||
register_type(_type_handle, "MesaGraphicsStateGuardian",
|
||||
GLGraphicsStateGuardian::get_class_type());
|
||||
MesaGraphicsStateGuardian::init_type();
|
||||
register_type(_type_handle, "OSMesaGraphicsStateGuardian",
|
||||
MesaGraphicsStateGuardian::get_class_type());
|
||||
}
|
||||
virtual TypeHandle get_type() const {
|
||||
return get_class_type();
|
||||
@ -54,6 +54,6 @@ private:
|
||||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
#include "mesaGraphicsStateGuardian.I"
|
||||
#include "osMesaGraphicsStateGuardian.I"
|
||||
|
||||
#endif
|
@ -124,6 +124,14 @@
|
||||
#define EXPTP_PANDAGLUT extern
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAMESA
|
||||
#define EXPCL_PANDAMESA __declspec(dllexport)
|
||||
#define EXPTP_PANDAMESA
|
||||
#else
|
||||
#define EXPCL_PANDAMESA __declspec(dllimport)
|
||||
#define EXPTP_PANDAMESA extern
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAPHYSICS
|
||||
#define EXPCL_PANDAPHYSICS __declspec(dllexport)
|
||||
#define EXPTP_PANDAPHYSICS
|
||||
@ -194,6 +202,9 @@
|
||||
#define EXPCL_PANDAGLUT
|
||||
#define EXPTP_PANDAGLUT
|
||||
|
||||
#define EXPCL_PANDAMESA
|
||||
#define EXPTP_PANDAMESA
|
||||
|
||||
#define EXPCL_PANDAPHYSICS
|
||||
#define EXPTP_PANDAPHYSICS
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
#include "wglGraphicsBuffer.h"
|
||||
#include "config_wgldisplay.h"
|
||||
#include "wglGraphicsPipe.h"
|
||||
#include "glGraphicsStateGuardian.h"
|
||||
#include "glgsg.h"
|
||||
#include "frameBufferProperties.h"
|
||||
|
||||
#include <wingdi.h>
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "pandabase.h"
|
||||
|
||||
#include "wglExtensions.h"
|
||||
#include "glGraphicsStateGuardian.h"
|
||||
#include "glgsg.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : wglGraphicsStateGuardian
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "config_wgldisplay.h"
|
||||
#include "config_windisplay.h"
|
||||
#include "wglGraphicsPipe.h"
|
||||
#include "glGraphicsStateGuardian.h"
|
||||
#include "glgsg.h"
|
||||
|
||||
#include <wingdi.h>
|
||||
#include <ddraw.h>
|
||||
|
Loading…
x
Reference in New Issue
Block a user