mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
Exposes Opengl Vendor, Driver, Shader Model information to python
This commit is contained in:
parent
b4fcbfff0a
commit
a56760cbcf
@ -130,6 +130,7 @@ TypeHandle GraphicsStateGuardian::_type_handle;
|
|||||||
// Access: Public
|
// Access: Public
|
||||||
// Description:
|
// Description:
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
GraphicsStateGuardian::
|
GraphicsStateGuardian::
|
||||||
GraphicsStateGuardian(CoordinateSystem internal_coordinate_system,
|
GraphicsStateGuardian(CoordinateSystem internal_coordinate_system,
|
||||||
GraphicsEngine *engine, GraphicsPipe *pipe) :
|
GraphicsEngine *engine, GraphicsPipe *pipe) :
|
||||||
@ -2664,3 +2665,52 @@ make_shadow_buffer(const NodePath &light_np, GraphicsOutputBase *host) {
|
|||||||
return tex;
|
return tex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: GraphicsStateGuardian::get_driver_vendor
|
||||||
|
// Access: Public, Virtual
|
||||||
|
// Description: Returns the vendor of the video card driver
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
string GraphicsStateGuardian::get_driver_vendor() { return string("0"); }
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: GraphicsStateGuardian::get_driver_vendor
|
||||||
|
// Access: Public, Virtual
|
||||||
|
// Description: Returns GL_Renderer
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
string GraphicsStateGuardian::get_driver_renderer() { return string("0"); }
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: GraphicsStateGuardian::get_driver_version
|
||||||
|
// Access: Public, Virtual
|
||||||
|
// Description: Returns driver version
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
string GraphicsStateGuardian::get_driver_version() { return string("0"); }
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: GraphicsStateGuardian::get_driver_version_major
|
||||||
|
// Access: Public, Virtual
|
||||||
|
// Description: Returns major version of the video driver
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
int GraphicsStateGuardian::get_driver_version_major() { return -1; }
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: GraphicsStateGuardian::get_driver_version_minor
|
||||||
|
// Access: Public, Virtual
|
||||||
|
// Description: Returns the minor version of the video driver
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
int GraphicsStateGuardian::get_driver_version_minor() { return -1; }
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: GraphicsStateGuardian::get_driver_shader_version_major
|
||||||
|
// Access: Public, Virtual
|
||||||
|
// Description: Returns the major version of the shader model
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
int GraphicsStateGuardian::get_driver_shader_version_major() { return -1; }
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: GraphicsStateGuardian::get_driver_shader_version_minor
|
||||||
|
// Access: Public, Virtual
|
||||||
|
// Description: Returns the minor version of the shader model
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
int GraphicsStateGuardian::get_driver_shader_version_minor() { return -1; }
|
||||||
|
|
||||||
|
@ -191,6 +191,15 @@ PUBLISHED:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
|
|
||||||
|
virtual string get_driver_vendor();
|
||||||
|
virtual string get_driver_renderer();
|
||||||
|
virtual string get_driver_version();
|
||||||
|
virtual int get_driver_version_major();
|
||||||
|
virtual int get_driver_version_minor();
|
||||||
|
virtual int get_driver_shader_version_major();
|
||||||
|
virtual int get_driver_shader_version_minor();
|
||||||
|
|
||||||
bool set_scene(SceneSetup *scene_setup);
|
bool set_scene(SceneSetup *scene_setup);
|
||||||
virtual SceneSetup *get_scene() const;
|
virtual SceneSetup *get_scene() const;
|
||||||
|
|
||||||
|
@ -276,6 +276,16 @@ fix_component_ordering(PTA_uchar &new_image,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//#--- Zhao Nov/2011
|
||||||
|
string CLP(GraphicsStateGuardian)::get_driver_vendor() { return _gl_vendor; }
|
||||||
|
string CLP(GraphicsStateGuardian)::get_driver_renderer() { return _gl_renderer; }
|
||||||
|
|
||||||
|
string CLP(GraphicsStateGuardian)::get_driver_version() { return _gl_version; }
|
||||||
|
int CLP(GraphicsStateGuardian)::get_driver_version_major() { return _gl_version_major; }
|
||||||
|
int CLP(GraphicsStateGuardian)::get_driver_version_minor() { return _gl_version_minor; }
|
||||||
|
int CLP(GraphicsStateGuardian)::get_driver_shader_version_major() { return _gl_shadlang_ver_major; }
|
||||||
|
int CLP(GraphicsStateGuardian)::get_driver_shader_version_minor() { return _gl_shadlang_ver_minor; }
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: GLGraphicsStateGuardian::Constructor
|
// Function: GLGraphicsStateGuardian::Constructor
|
||||||
// Access: Public
|
// Access: Public
|
||||||
@ -5398,6 +5408,24 @@ query_gl_version() {
|
|||||||
<< _gl_version_major << "." << _gl_version_minor
|
<< _gl_version_major << "." << _gl_version_minor
|
||||||
<< "\n";
|
<< "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_gl_version_major==1) {
|
||||||
|
const char *extstr = (const char *) GLP(GetString)(GL_EXTENSIONS);
|
||||||
|
if (extstr != NULL) {
|
||||||
|
if (strstr( extstr, "GL_ARB_shading_language_100") != NULL)
|
||||||
|
{
|
||||||
|
_gl_shadlang_ver_major = 1;
|
||||||
|
_gl_shadlang_ver_minor = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (_gl_version_major >= 2) {
|
||||||
|
const char *verstr = (const char *) GLP(GetString)(GL_SHADING_LANGUAGE_VERSION);
|
||||||
|
if ((verstr == NULL) || (sscanf(verstr, "%d.%d", &_gl_shadlang_ver_major, &_gl_shadlang_ver_minor) != 2))
|
||||||
|
{
|
||||||
|
GLCAT.warning() << "Invalid GL_SHADING_LANGUAGE_VERSION format.\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,6 +186,15 @@ public:
|
|||||||
CLP(GraphicsStateGuardian)(GraphicsEngine *engine, GraphicsPipe *pipe);
|
CLP(GraphicsStateGuardian)(GraphicsEngine *engine, GraphicsPipe *pipe);
|
||||||
virtual ~CLP(GraphicsStateGuardian)();
|
virtual ~CLP(GraphicsStateGuardian)();
|
||||||
|
|
||||||
|
//#--- Zhao Nov/2011
|
||||||
|
virtual string get_driver_vendor();
|
||||||
|
virtual string get_driver_renderer();
|
||||||
|
virtual string get_driver_version();
|
||||||
|
virtual int get_driver_version_major();
|
||||||
|
virtual int get_driver_version_minor();
|
||||||
|
virtual int get_driver_shader_version_major();
|
||||||
|
virtual int get_driver_shader_version_minor();
|
||||||
|
|
||||||
virtual void reset();
|
virtual void reset();
|
||||||
|
|
||||||
virtual void prepare_display_region(DisplayRegionPipelineReader *dr);
|
virtual void prepare_display_region(DisplayRegionPipelineReader *dr);
|
||||||
@ -520,6 +529,8 @@ protected:
|
|||||||
string _gl_renderer;
|
string _gl_renderer;
|
||||||
string _gl_version;
|
string _gl_version;
|
||||||
int _gl_version_major, _gl_version_minor;
|
int _gl_version_major, _gl_version_minor;
|
||||||
|
//#--- Zhao Nov/2011
|
||||||
|
int _gl_shadlang_ver_major, _gl_shadlang_ver_minor;
|
||||||
pset<string> _extensions;
|
pset<string> _extensions;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user