module GLU
Constants
- GLU_AUTO_LOAD_MATRIX
NurbsProperty
- GLU_BEGIN
- GLU_CCW
- GLU_CULLING
- GLU_CW
TessContour
- GLU_DISPLAY_MODE
- GLU_DOMAIN_DISTANCE
- GLU_EDGE_FLAG
- GLU_END
- GLU_ERROR
- GLU_EXTENSIONS
- GLU_EXTERIOR
- GLU_EXT_nurbs_tessellator
- GLU_EXT_object_space_tess
Extensions
- GLU_FALSE
Boolean
- GLU_FILL
- GLU_FLAT
- GLU_FUNCTIONS_MAP
Fiddle’s default ‘extern’ stores all methods into local variable ‘@func_map’, that makes difficult to ‘include GLFW’. So I override it and replace ‘@func_map’ into ‘GLFW_FUNCTIONS_MAP’. Ref.: /lib/ruby/2.0.0/fiddle/import.rb
- GLU_INCOMPATIBLE_GL_VERSION
- GLU_INSIDE
- GLU_INTERIOR
- GLU_INVALID_ENUM
ErrorCode
- GLU_INVALID_OPERATION
- GLU_INVALID_VALUE
- GLU_LINE
- GLU_MAP1_TRIM_2
NurbsTrim
- GLU_MAP1_TRIM_3
- GLU_NONE
- GLU_NURBS_BEGIN
- GLU_NURBS_BEGIN_DATA
- GLU_NURBS_BEGIN_DATA_EXT
- GLU_NURBS_BEGIN_EXT
- GLU_NURBS_COLOR
- GLU_NURBS_COLOR_DATA
- GLU_NURBS_COLOR_DATA_EXT
- GLU_NURBS_COLOR_EXT
- GLU_NURBS_END
- GLU_NURBS_END_DATA
- GLU_NURBS_END_DATA_EXT
- GLU_NURBS_END_EXT
- GLU_NURBS_ERROR
NurbsCallback
- GLU_NURBS_ERROR1
NurbsError
- GLU_NURBS_ERROR10
- GLU_NURBS_ERROR11
- GLU_NURBS_ERROR12
- GLU_NURBS_ERROR13
- GLU_NURBS_ERROR14
- GLU_NURBS_ERROR15
- GLU_NURBS_ERROR16
- GLU_NURBS_ERROR17
- GLU_NURBS_ERROR18
- GLU_NURBS_ERROR19
- GLU_NURBS_ERROR2
- GLU_NURBS_ERROR20
- GLU_NURBS_ERROR21
- GLU_NURBS_ERROR22
- GLU_NURBS_ERROR23
- GLU_NURBS_ERROR24
- GLU_NURBS_ERROR25
- GLU_NURBS_ERROR26
- GLU_NURBS_ERROR27
- GLU_NURBS_ERROR28
- GLU_NURBS_ERROR29
- GLU_NURBS_ERROR3
- GLU_NURBS_ERROR30
- GLU_NURBS_ERROR31
- GLU_NURBS_ERROR32
- GLU_NURBS_ERROR33
- GLU_NURBS_ERROR34
- GLU_NURBS_ERROR35
- GLU_NURBS_ERROR36
- GLU_NURBS_ERROR37
- GLU_NURBS_ERROR4
- GLU_NURBS_ERROR5
- GLU_NURBS_ERROR6
- GLU_NURBS_ERROR7
- GLU_NURBS_ERROR8
- GLU_NURBS_ERROR9
- GLU_NURBS_MODE
- GLU_NURBS_MODE_EXT
- GLU_NURBS_NORMAL
- GLU_NURBS_NORMAL_DATA
- GLU_NURBS_NORMAL_DATA_EXT
- GLU_NURBS_NORMAL_EXT
- GLU_NURBS_RENDERER
- GLU_NURBS_RENDERER_EXT
- GLU_NURBS_TESSELLATOR
- GLU_NURBS_TESSELLATOR_EXT
- GLU_NURBS_TEXTURE_COORD
- GLU_NURBS_TEXTURE_COORD_DATA
- GLU_NURBS_TEX_COORD_DATA_EXT
- GLU_NURBS_TEX_COORD_EXT
- GLU_NURBS_VERTEX
- GLU_NURBS_VERTEX_DATA
- GLU_NURBS_VERTEX_DATA_EXT
- GLU_NURBS_VERTEX_EXT
- GLU_OBJECT_PARAMETRIC_ERROR
NurbsSampling
- GLU_OBJECT_PARAMETRIC_ERROR_EXT
- GLU_OBJECT_PATH_LENGTH
- GLU_OBJECT_PATH_LENGTH_EXT
- GLU_OUTLINE_PATCH
- GLU_OUTLINE_POLYGON
NurbsDisplay
GLU_FILL
- GLU_OUTSIDE
QuadricOrientation
- GLU_OUT_OF_MEMORY
- GLU_PARAMETRIC_ERROR
- GLU_PARAMETRIC_TOLERANCE
- GLU_PATH_LENGTH
- GLU_POINT
QuadricDrawStyle
- GLU_SAMPLING_METHOD
- GLU_SAMPLING_TOLERANCE
- GLU_SILHOUETTE
- GLU_SMOOTH
QuadricNormal
- GLU_TESS_BEGIN
TessCallback
- GLU_TESS_BEGIN_DATA
- GLU_TESS_BOUNDARY_ONLY
- GLU_TESS_COMBINE
- GLU_TESS_COMBINE_DATA
- GLU_TESS_COORD_TOO_LARGE
- GLU_TESS_EDGE_FLAG
- GLU_TESS_EDGE_FLAG_DATA
- GLU_TESS_END
- GLU_TESS_END_DATA
- GLU_TESS_ERROR
- GLU_TESS_ERROR1
TessError
- GLU_TESS_ERROR2
- GLU_TESS_ERROR3
- GLU_TESS_ERROR4
- GLU_TESS_ERROR5
- GLU_TESS_ERROR6
- GLU_TESS_ERROR7
- GLU_TESS_ERROR8
- GLU_TESS_ERROR_DATA
- GLU_TESS_MAX_COORD
- GLU_TESS_MISSING_BEGIN_CONTOUR
- GLU_TESS_MISSING_BEGIN_POLYGON
- GLU_TESS_MISSING_END_CONTOUR
- GLU_TESS_MISSING_END_POLYGON
- GLU_TESS_NEED_COMBINE_CALLBACK
- GLU_TESS_TOLERANCE
- GLU_TESS_VERTEX
- GLU_TESS_VERTEX_DATA
- GLU_TESS_WINDING_ABS_GEQ_TWO
- GLU_TESS_WINDING_NEGATIVE
- GLU_TESS_WINDING_NONZERO
- GLU_TESS_WINDING_ODD
TessWinding
- GLU_TESS_WINDING_POSITIVE
- GLU_TESS_WINDING_RULE
TessProperty
- GLU_TRUE
- GLU_UNKNOWN
- GLU_U_STEP
- GLU_VERSION
StringName
- GLU_VERSION_1_1
Version
- GLU_VERSION_1_2
- GLU_VERSION_1_3
- GLU_VERTEX
- GLU_V_STEP
Public Class Methods
create_callback( sym, *opts, &blk )
click to toggle source
# File lib/glu.rb, line 243 def self.create_callback( sym, *opts, &blk ) return bind( @@glu_cb_signature[sym], opts, &blk ) end
extern(signature, *opts)
click to toggle source
# File lib/glu.rb, line 14 def self.extern(signature, *opts) symname, ctype, argtype = parse_signature(signature, @type_alias) opt = parse_bind_options(opts) f = import_function(symname, ctype, argtype, opt[:call_type]) name = symname.gsub(/@.+/,'') GLU_FUNCTIONS_MAP[name] = f begin /^(.+?):(\d+)/ =~ caller.first file, line = $1, $2.to_i rescue file, line = __FILE__, __LINE__+3 end args_str="*args" module_eval(<<-EOS, file, line) def #{name}(*args, &block) GLU_FUNCTIONS_MAP['#{name}'].call(*args,&block) end EOS module_function(name) f end
import_symbols()
click to toggle source
# File lib/glu.rb, line 276 def self.import_symbols # function extern 'void gluBeginCurve (void*)' extern 'void gluBeginPolygon (void*)' extern 'void gluBeginSurface (void*)' extern 'void gluBeginTrim (void*)' # extern 'int gluBuild1DMipmapLevels (unsigned int, int, int, unsigned int, unsigned int, int, int, int, void*)' # Unavailable on Windows extern 'int gluBuild1DMipmaps (unsigned int, int, int, unsigned int, unsigned int, void*)' # extern 'int gluBuild2DMipmapLevels (unsigned int, int, int, int, unsigned int, unsigned int, int, int, int, void*)' # Unavailable on Windows extern 'int gluBuild2DMipmaps (unsigned int, int, int, int, unsigned int, unsigned int, void*)' # extern 'int gluBuild3DMipmapLevels (unsigned int, int, int, int, int, unsigned int, unsigned int, int, int, int, void*)' # Unavailable on Windows # extern 'int gluBuild3DMipmaps (unsigned int, int, int, int, int, unsigned int, unsigned int, void*)' # Unavailable on Windows # extern 'unsigned char gluCheckExtension ( unsigned char*, unsigned char*)' # Unavailable on Windows extern 'void gluCylinder (void*, double, double, double, int, int)' extern 'void gluDeleteNurbsRenderer (void*)' extern 'void gluDeleteQuadric (void*)' extern 'void gluDeleteTess (void*)' extern 'void gluDisk (void*, double, double, int, int)' extern 'void gluEndCurve (void*)' extern 'void gluEndPolygon (void*)' extern 'void gluEndSurface (void*)' extern 'void gluEndTrim (void*)' extern 'unsigned char* gluErrorString (unsigned int)' extern 'void gluGetNurbsProperty (void*, unsigned int, float*)' extern 'unsigned char* gluGetString (unsigned int)' extern 'void gluGetTessProperty (void*, unsigned int, double*)' extern 'void gluLoadSamplingMatrices (void*, float *, float *, int *)' extern 'void gluLookAt (double, double, double , double, double , double, double , double, double)' extern 'void* gluNewNurbsRenderer ()' extern 'void* gluNewQuadric ()' extern 'void* gluNewTess ()' extern 'void gluNextContour (void*, unsigned int)' extern 'void gluNurbsCallback (void*, unsigned int, void*)' # extern 'void gluNurbsCallbackData (void*, void*)' # Unavailable on Windows # extern 'void gluNurbsCallbackDataEXT (void*, void*)' # Unavailable on Windows extern 'void gluNurbsCurve (void*, int, float *, int, float* , int, unsigned int)' extern 'void gluNurbsProperty (void*, unsigned int, float)' extern 'void gluNurbsSurface (void*, int, float*, int, float*, int, int, float*, int, int, unsigned int)' extern 'void gluOrtho2D (double, double, double, double)' extern 'void gluPartialDisk (void*, double, double, int, int, double, double)' extern 'void gluPerspective (double, double, double, double)' extern 'void gluPickMatrix (double, double, double, double, int *)' extern 'int gluProject (double, double, double, double *, double *, int *, double*, double*, double*)' extern 'void gluPwlCurve (void*, int, float*, int, unsigned int)' extern 'void gluQuadricCallback (void*, unsigned int, void*)' extern 'void gluQuadricDrawStyle (void*, unsigned int)' extern 'void gluQuadricNormals (void*, unsigned int)' extern 'void gluQuadricOrientation (void*, unsigned int)' extern 'void gluQuadricTexture (void*, unsigned char)' extern 'int gluScaleImage (unsigned int, int, int, unsigned int, void*, int, int, unsigned int, void*)' extern 'void gluSphere (void*, double, int, int)' extern 'void gluTessBeginContour (void*)' extern 'void gluTessBeginPolygon (void*, void*)' extern 'void gluTessCallback (void*, unsigned int, void*)' extern 'void gluTessEndContour (void*)' extern 'void gluTessEndPolygon (void*)' extern 'void gluTessNormal (void*, double, double, double)' extern 'void gluTessProperty (void*, unsigned int, double)' extern 'void gluTessVertex (void*, double *, void*)' extern 'int gluUnProject (double, double, double, double *, double *, int *, double*, double*, double*)' # extern 'int gluUnProject4 (double, double, double, double, double *, double *, int *, double, double, double*, double*, double*, double*)' # Unavailable on Windows @@glu_import_done = true end
load_dll(lib = nil, path = nil)
click to toggle source
# File lib/glu.rb, line 271 def self.load_dll(lib = nil, path = nil) puts "Warning GLU.load_dll is deprecated, use GLU.load_lib instead" self.load_lib(lib, path) end
load_lib(lib = nil, path = nil)
click to toggle source
Load native library.
# File lib/glu.rb, line 252 def self.load_lib(lib = nil, path = nil) if lib == nil && path == nil case OpenGL.get_platform when :OPENGL_PLATFORM_WINDOWS lib, path = 'GLU32.dll', 'C:/Windows/System32' when :OPENGL_PLATFORM_MACOSX lib, path = 'libGLU.dylib', '/System/Library/Frameworks/OpenGL.framework/Libraries' else lib = 'libGLU.so' end end if path dlload (path + '/' + lib) else dlload (lib) end import_symbols() unless @@glu_import_done end