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_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 215 def self.create_callback(sym, *opts, &blk) return bind(@@glu_cb_signature[sym], opts, &blk) end
import_symbols(output_error = false)
click to toggle source
# File lib/glu.rb, line 303 def self.import_symbols(output_error = false) # function @@lib_signature.each do |sig| begin extern sig rescue $stderr.puts("[Warning] Failed to import #{sig}.") if output_error end end # Convert method names (e.g.: GLU.gluBeginCurve -> GLU.BeginCurve) self.singleton_methods(false).each do |method_name| m = singleton_method(method_name) if m.name.to_s.start_with? 'glu' modified_api = m.name.to_s[3..-1] # omit prefix "glu" define_singleton_method(modified_api, m) # define alias end end # Convert constant names (e.g.: GLU::GLU_TRUE -> GLU::TRUE) self.constants.each do |constant| cs = constant.to_s if cs[0..3] == "GLU_" if cs[4] =~ /\d/ # We have to abandon name conversion like 'GL_2D, GL_3D_COLOR, GL_4_BYTES, etc. # Because constants can't start with a digit or underscore. # [Note] This rule has been inherited from Yoshi's very original ruby-opengl (confirmed with opengl-0.32g, 2004-07-17). else # Convert by omitting the 'GLU_' prefix const_set(cs[4..-1], GLU.const_get(constant)) end end end @@glu_import_done = true end
load_lib(lib_path = nil, output_error = false)
click to toggle source
Load native library.
# File lib/glu.rb, line 224 def self.load_lib(lib_path = nil, output_error = false) if lib_path == nil lib_path = case GL.get_platform when :OPENGL_PLATFORM_WINDOWS 'C:/Windows/System32/GLU32.dll' when :OPENGL_PLATFORM_MACOSX '/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib' else 'libGLU.so' # not tested end end dlload(lib_path) import_symbols(output_error) unless @@glu_import_done end