26#if ! defined (octave_oct_opengl_h)
27#define octave_oct_opengl_h 1
29#include "octave-config.h"
31#if defined (HAVE_OPENGL)
33# if defined (HAVE_GL_GL_H)
35# elif defined (HAVE_OPENGL_GL_H) || defined (HAVE_FRAMEWORK_OPENGL)
36# include <OpenGL/gl.h>
39# if defined (HAVE_GL_GLU_H)
41# elif defined (HAVE_OPENGL_GLU_H) || defined (HAVE_FRAMEWORK_OPENGL)
42# include <OpenGL/glu.h>
45# if defined (HAVE_GL_GLEXT_H)
47# elif defined (HAVE_OPENGL_GLEXT_H) || defined (HAVE_FRAMEWORK_OPENGL)
48# include <OpenGL/glext.h>
67#if defined (HAVE_OPENGL)
75 ::glAlphaFunc (fcn, ref);
85 ::glBindTexture (target, texture);
88 virtual void glBitmap (GLsizei width, GLsizei height, GLfloat xorig,
89 GLfloat yorig, GLfloat xmove, GLfloat ymove,
90 const GLubyte *bitmap)
92 ::glBitmap (width, height, xorig, yorig, xmove, ymove, bitmap);
97 ::glBlendFunc (sfactor, dfactor);
100#if defined (HAVE_GLBLENDFUNCSEPARATE)
101 virtual void glBlendFuncSeparate (GLenum sfactor, GLenum dfactor,
102 GLenum salpha, GLenum dalpha)
104 ::glBlendFuncSeparate (sfactor, dfactor, salpha, dalpha);
113 virtual void glClearColor (GLclampf red, GLclampf green, GLclampf blue,
116 ::glClearColor (red, green, blue, alpha);
126 ::glClipPlane (plane, equation);
134 virtual void glColor3f (GLfloat red, GLfloat green, GLfloat blue)
136 ::glColor3f (red, green, blue);
144 virtual void glColor4d (GLdouble red, GLdouble green, GLdouble blue,
147 ::glColor4d (red, green, blue, alpha);
150 virtual void glColor4f (GLfloat red, GLfloat green, GLfloat blue,
153 ::glColor4f (red, green, blue, alpha);
163 ::glDeleteLists (list,
range);
168 ::glDeleteTextures (n, textures);
182 GLenum type,
const GLvoid *pixels)
184 ::glDrawPixels (width, height,
format, type, pixels);
214 return ::glGenLists (
range);
219 ::glGenTextures (n, textures);
224 ::glGetBooleanv (pname, data);
229 ::glGetDoublev (pname, data);
234 return ::glGetError ();
239 ::glGetFloatv (pname, data);
244 ::glGetIntegerv (pname, data);
249 return ::glGetString (name);
252 virtual void glHint (GLenum target, GLenum mode)
254 ::glHint (target, mode);
264 return ::glIsEnabled (cap);
267 virtual void glLightfv (GLenum light, GLenum pname,
const GLfloat *params)
269 ::glLightfv (light, pname, params);
274 ::glLineStipple (factor, pattern);
279 ::glLineWidth (width);
287 virtual void glMaterialf (GLenum face, GLenum pname, GLfloat param)
289 ::glMaterialf (face, pname, param);
292 virtual void glMaterialfv (GLenum face, GLenum pname,
const GLfloat *params)
294 ::glMaterialfv (face, pname, params);
299 ::glMatrixMode (mode);
309 ::glNewList (list, mode);
312 virtual void glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz)
314 ::glNormal3d (nx, ny, nz);
322 virtual void glOrtho (GLdouble left, GLdouble right, GLdouble bottom,
323 GLdouble top, GLdouble near_val, GLdouble far_val)
325 ::glOrtho (left, right, bottom, top, near_val, far_val);
330 ::glPixelStorei (pname, param);
335 ::glPixelZoom (xfactor, yfactor);
340 ::glPolygonMode (face, mode);
345 ::glPolygonOffset (factor, units);
365 ::glPushAttrib (mask);
380 ::glRasterPos3d (
x, y, z);
384 GLenum
format, GLenum type, GLvoid *pixels)
386 ::glReadPixels (
x, y, width, height,
format, type, pixels);
391 return ::glRenderMode (mode);
394 virtual void glRotated (GLdouble angle, GLdouble
x, GLdouble y, GLdouble z)
396 ::glRotated (angle,
x, y, z);
399 virtual void glScaled (GLdouble
x, GLdouble y, GLdouble z)
401 ::glScaled (
x, y, z);
406 ::glScalef (
x, y, z);
411 ::glSelectBuffer (size, buffer);
416 ::glShadeModel (mode);
421 ::glTexCoord2d (s, t);
424 virtual void glTexImage2D (GLenum target, GLint level, GLint internalFormat,
425 GLsizei width, GLsizei height, GLint border,
426 GLenum
format, GLenum type,
const GLvoid *pixels)
428 ::glTexImage2D (target, level, internalFormat, width, height, border,
434 ::glTexParameteri (target, pname, param);
439 ::glTranslated (
x, y, z);
444 ::glTranslatef (
x, y, z);
454 ::glVertex3d (
x, y, z);
462 virtual void glViewport (GLint
x, GLint y, GLsizei width, GLsizei height)
464 ::glViewport (
x, y, width, height);
470OCTAVE_END_NAMESPACE(octave)
virtual void glPushName(GLuint name)
virtual GLboolean glIsEnabled(GLenum cap)
virtual void glHint(GLenum target, GLenum mode)
virtual void glGetIntegerv(GLenum pname, GLint *data)
virtual void glBegin(GLenum mode)
virtual void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
virtual void glClipPlane(GLenum plane, const GLdouble *equation)
virtual void glGetFloatv(GLenum pname, GLfloat *data)
virtual void glMatrixMode(GLenum mode)
virtual void glBindTexture(GLenum target, GLuint texture)
virtual ~opengl_functions()=default
virtual void glVertex2d(GLdouble x, GLdouble y)
virtual void glNewList(GLuint list, GLenum mode)
virtual void glPopMatrix()
virtual void glDeleteTextures(GLsizei n, const GLuint *textures)
virtual void glVertex3d(GLdouble x, GLdouble y, GLdouble z)
virtual void glLineStipple(GLint factor, GLushort pattern)
virtual void glLoadIdentity()
virtual void glPolygonOffset(GLfloat factor, GLfloat units)
virtual void glSelectBuffer(GLsizei size, GLuint *buffer)
virtual void glLineWidth(GLfloat width)
virtual void glColor3fv(const GLfloat *v)
virtual void glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
virtual void glScalef(GLfloat x, GLfloat y, GLfloat z)
virtual void glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
virtual const GLubyte * glGetString(GLenum name)
virtual void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
virtual void glGenTextures(GLsizei n, GLuint *textures)
virtual GLint glRenderMode(GLenum mode)
virtual void glTranslatef(GLfloat x, GLfloat y, GLfloat z)
virtual void glDisable(GLenum cap)
virtual void glCallList(GLuint list)
virtual void glTexCoord2d(GLdouble s, GLdouble t)
virtual void glDepthFunc(GLenum fcn)
virtual void glClear(GLbitfield mask)
virtual void glNormal3dv(const GLdouble *v)
virtual void glColor3f(GLfloat red, GLfloat green, GLfloat blue)
virtual void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
virtual void glVertex3dv(const GLdouble *v)
virtual void glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz)
virtual void glAlphaFunc(GLenum fcn, GLclampf ref)
virtual void glMaterialf(GLenum face, GLenum pname, GLfloat param)
virtual void glPolygonMode(GLenum face, GLenum mode)
virtual void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
virtual void glColor3dv(const GLdouble *v)
virtual GLuint glGenLists(GLsizei range)
virtual void glDeleteLists(GLuint list, GLsizei range)
virtual void glColor4fv(const GLfloat *v)
virtual void glTexParameteri(GLenum target, GLenum pname, GLint param)
virtual void glPopAttrib()
virtual void glEnable(GLenum cap)
virtual void glGetBooleanv(GLenum pname, GLboolean *data)
virtual void glBlendFunc(GLenum sfactor, GLenum dfactor)
virtual void glShadeModel(GLenum mode)
virtual void glEdgeFlag(GLboolean flag)
virtual void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val)
virtual void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
virtual void glRasterPos3d(GLdouble x, GLdouble y, GLdouble z)
virtual void glTexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
virtual void glGetDoublev(GLenum pname, GLdouble *data)
virtual void glPushAttrib(GLbitfield mask)
virtual void glMultMatrixd(const GLdouble *m)
virtual void glPixelStorei(GLenum pname, GLint param)
virtual void glPushMatrix()
virtual void glScaled(GLdouble x, GLdouble y, GLdouble z)
opengl_functions(const opengl_functions &)=default
virtual void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
virtual void glLightfv(GLenum light, GLenum pname, const GLfloat *params)
virtual GLenum glGetError()
virtual void glTranslated(GLdouble x, GLdouble y, GLdouble z)
virtual void glInitNames()
virtual void glMaterialfv(GLenum face, GLenum pname, const GLfloat *params)
virtual void glPixelZoom(GLfloat xfactor, GLfloat yfactor)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
F77_RET_T const F77_DBLE * x
std::size_t format(std::ostream &os, const char *fmt,...)