/** SGX

The   sss    gggg x   x   
     s      g      x x    Engine
      sss   g  gg   x
         s  g   g  x x          Copyright 1995-2008.
     ssss    gggg x   x         Steven Goodwin. All Rights Reserved.
    
This version has been released under the GNU Public License v2.0.

Please see the license files for details.

File: src/drivers/common/opengl/ogl_surface_properties.hpp

*/

#ifndef SGX_OGL_SURFACE_PROPERTIES_HPP
#define SGX_OGL_SURFACE_PROPERTIES_HPP	1

// All functions should return TRUE if they handled the request
// _in its entirety_ This means no other states will be applied
// if TRUE is returned.
class sgxOpenGLTextureProperty {
public:
	virtual tBOOL	applyTexture(GLuint texture_id) { return FALSE; }
	virtual tBOOL	drawSphere(tREAL32 radius) { return FALSE; }
};


class sgxOpenGLTexturePropertyQuadric : public sgxTexturePropertyQuadric, public sgxOpenGLTextureProperty {
public:
	sgxOpenGLTexturePropertyQuadric();
	virtual ~sgxOpenGLTexturePropertyQuadric();

	virtual tBOOL	applyTexture(GLuint texture_id);
	virtual tBOOL	drawSphere(tREAL32 radius);

	GLUquadricObj	*m_Quadratic;
};



#endif /* SGX_OGL_SURFACE_PROPERTIES_HPP */
