Initial commit
This commit is contained in:
57
Torque/SDK/engine/platformMacCarb/macCarbNPatch.h
Normal file
57
Torque/SDK/engine/platformMacCarb/macCarbNPatch.h
Normal file
@@ -0,0 +1,57 @@
|
||||
// macCarbNPatch.h
|
||||
//
|
||||
// mac specific implementation(s) of NPatch functionality
|
||||
// since each platform might use slightly diff methods to control.
|
||||
|
||||
// current Mac NPatches is ATI TRUFORM implementation, accessed on OS9 via a
|
||||
// back door method. OSX tests for the ATIX extension.
|
||||
|
||||
#if !defined(TORQUE_OS_MAC_OSX)
|
||||
#define AGLSETINT_NPATCH_FLAG ((unsigned long)500)
|
||||
#define AGLSETINT_NPATCH_LOD ((unsigned long)501)
|
||||
#define AGLSETINT_NPATCH_POINTINTERP ((unsigned long)502)
|
||||
#define AGLSETINT_NPATCH_NORMALINTERP ((unsigned long)503)
|
||||
#endif
|
||||
|
||||
// for the moment, this seems to be the best roundup of
|
||||
// the npatch extensions on the PC.
|
||||
|
||||
#ifndef GL_ATIX_pn_triangles
|
||||
#define GL_ATIX_pn_triangles 1
|
||||
#define GL_PN_TRIANGLES_ATIX 0x6090
|
||||
#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATIX 0x6091
|
||||
#define GL_PN_TRIANGLES_POINT_MODE_ATIX 0x6092
|
||||
#define GL_PN_TRIANGLES_NORMAL_MODE_ATIX 0x6093
|
||||
#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATIX 0x6094
|
||||
#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATIX 0x6095
|
||||
#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATIX 0x6096
|
||||
#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATIX 0x6097
|
||||
#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATIX 0x6098
|
||||
|
||||
#if defined(TORQUE_OS_MAC_OSX) // for the moment...
|
||||
extern void glPNTrianglesiATIX(GLenum pname, GLint param);
|
||||
extern void glPNTrianglesfATIX(GLenum pname, GLfloat param);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef void (*PFNGLPNTRIANGLESIATIPROC)(GLenum pname, GLint param);
|
||||
//typedef void (APIENTRY *PFNGLPNTRIANGLESFATIPROC)(GLenum pname, GLfloat param);
|
||||
|
||||
#define GL_NPATCH_EXT_STRING "GL_ATIX_pn_triangles"
|
||||
#define GL_NPATCH_SETINT_STRING "glPNTrianglesiATIX"
|
||||
typedef PFNGLPNTRIANGLESIATIPROC PFNNPatchSetInt;
|
||||
|
||||
#define GETINT_NPATCH_MAX_LEVEL GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATIX
|
||||
|
||||
#define GL_NPATCH_FLAG GL_PN_TRIANGLES_ATIX
|
||||
|
||||
#define SETINT_NPATCH_LOD GL_PN_TRIANGLES_TESSELATION_LEVEL_ATIX
|
||||
|
||||
#define SETINT_NPATCH_POINTINTERP GL_PN_TRIANGLES_POINT_MODE_ATIX
|
||||
#define SETINT_NPATCH_NORMALINTERP GL_PN_TRIANGLES_NORMAL_MODE_ATIX
|
||||
|
||||
#define NPATCH_POINTINTERP_MIN GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATIX
|
||||
#define NPATCH_POINTINTERP_MAX GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATIX
|
||||
|
||||
#define NPATCH_NORMALINTERP_MIN GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATIX
|
||||
#define NPATCH_NORMALINTERP_MAX GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATIX
|
||||
Reference in New Issue
Block a user