view dstep/opengl/glu.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Sep 24, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.opengl.glu;

import dstep.opengl.gl;

struct GLUnurbs;
struct GLUquadric;
struct GLUtesselator;

alias GLUnurbs GLUnurbsObj;
alias GLUquadric GLUquadricObj;
alias GLUtesselator GLUtesselatorObj;
alias GLUtesselator GLUtriangulatorObj;

extern (C)
{
	void gluBeginCurve (GLUnurbs* nurb);
	void gluBeginPolygon (GLUtesselator* tess);
	void gluBeginSurface (GLUnurbs* nurb);
	void gluBeginTrim (GLUnurbs* nurb);
	int gluBuild1DMipmapLevels (uint target, int internalFormat, int width, uint format, uint type, int level, int base, int max, void* data);
	int gluBuild1DMipmaps (uint target, int internalFormat, int width, uint format, uint type, void* data);
	int gluBuild2DMipmapLevels (uint target, int internalFormat, int width, int height, uint format, uint type, int level, int base, int max, void* data);
	int gluBuild2DMipmaps (uint target, int internalFormat, int width, int height, uint format, uint type, void* data);
	int gluBuild3DMipmapLevels (uint target, int internalFormat, int width, int height, int depth, uint format, uint type, int level, int base, int max, void* data);
	int gluBuild3DMipmaps (uint target, int internalFormat, int width, int height, int depth, uint format, uint type, void* data);
	ubyte gluCheckExtension (char* extName, char* extString);
	void gluCylinder (GLUquadric* quad, double base, double top, double height, int slices, int stacks);
	void gluDeleteNurbsRenderer (GLUnurbs* nurb);
	void gluDeleteQuadric (GLUquadric* quad);
	void gluDeleteTess (GLUtesselator* tess);
	void gluDisk (GLUquadric* quad, double inner, double outer, int slices, int loops);
	void gluEndCurve (GLUnurbs* nurb);
	void gluEndPolygon (GLUtesselator* tess);
	void gluEndSurface (GLUnurbs* nurb);
	void gluEndTrim (GLUnurbs* nurb);
	char* gluErrorString (uint error);
	void gluGetNurbsProperty (GLUnurbs* nurb, uint property, GLfloat* data);
	char* gluGetString (uint name);
	void gluGetTessProperty (GLUtesselator* tess, uint which, GLdouble* data);
	void gluLoadSamplingMatrices (GLUnurbs* nurb, GLfloat* model, GLfloat* perspective, GLint* view);
	void gluLookAt (double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ);
	GLUnurbs* gluNewNurbsRenderer ();
	GLUquadric* gluNewQuadric ();
	GLUtesselator* gluNewTess ();
	void gluNextContour (GLUtesselator* tess, uint type);
	void gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData);
	void gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
	void gluNurbsCurve (GLUnurbs* nurb, int knotCount, GLfloat* knots, int stride, GLfloat* control, int order, uint type);
	void gluNurbsProperty (GLUnurbs* nurb, uint property, float value);
	void gluNurbsSurface (GLUnurbs* nurb, int sKnotCount, GLfloat* sKnots, int tKnotCount, GLfloat* tKnots, int sStride, int tStride, GLfloat* control, int sOrder, int tOrder, uint type);
	void gluOrtho2D (double left, double right, double bottom, double top);
	void gluPartialDisk (GLUquadric* quad, double inner, double outer, int slices, int loops, double start, double sweep);
	void gluPerspective (double fovy, double aspect, double zNear, double zFar);
	void gluPickMatrix (double x, double y, double delX, double delY, GLint* viewport);
	int gluProject (double objX, double objY, double objZ, GLdouble* model, GLdouble* proj, GLint* view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
	void gluPwlCurve (GLUnurbs* nurb, int count, GLfloat* data, int stride, uint type);
	void gluQuadricDrawStyle (GLUquadric* quad, uint draw);
	void gluQuadricNormals (GLUquadric* quad, uint normal);
	void gluQuadricOrientation (GLUquadric* quad, uint orientation);
	void gluQuadricTexture (GLUquadric* quad, ubyte texture);
	int gluScaleImage (uint format, int wIn, int hIn, uint typeIn, void* dataIn, int wOut, int hOut, uint typeOut, GLvoid* dataOut);
	void gluSphere (GLUquadric* quad, double radius, int slices, int stacks);
	void gluTessBeginContour (GLUtesselator* tess);
	void gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
	void gluTessEndContour (GLUtesselator* tess);
	void gluTessEndPolygon (GLUtesselator* tess);
	void gluTessNormal (GLUtesselator* tess, double valueX, double valueY, double valueZ);
	void gluTessProperty (GLUtesselator* tess, uint which, double data);
	void gluTessVertex (GLUtesselator* tess, GLdouble* location, GLvoid* data);
	int gluUnProject (double winX, double winY, double winZ, GLdouble* model, GLdouble* proj, GLint* view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
	int gluUnProject4 (double winX, double winY, double winZ, double clipW, GLdouble* model, GLdouble* proj, GLint* view, double nearPlane, double farPlane, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
}