opengl3 0.0.1.pre6 → 0.0.2.pre1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -26,8 +26,6 @@ with C-style OpenGL entrypoints.
26
26
  Please take a look at `lib/opengl/wrapper/**/*.rb`
27
27
  to see if entrypoints are wrapped.
28
28
 
29
-
30
-
31
29
  * `glGetString(pname)` -> `String`
32
30
  * `glGen...`-like functions
33
31
  - `glGenTextures(count)` -> `Array<Integer>`
@@ -47,6 +45,10 @@ to see if entrypoints are wrapped.
47
45
  * `glShaderSource(shader, Array<String>)`
48
46
  * `glGetShaderInfoLog(shader)` -> `String`
49
47
  * `glGetProgramInfoLog(program)` -> `String`
48
+ * `glDrawElements`, `glDrawRangeElements` and its family
49
+ - its `indices` argument can be an Integer as offset in bytes
50
+ * `glVertexAttribPointer` and its family
51
+ - its `pointer` argument can be an Integer as offset in bytes
50
52
  * More Ruby-style functions coming soon
51
53
 
52
54
  block-style glMapBuffer / glMapBufferRange:
@@ -64,7 +66,6 @@ And helper functions
64
66
  * `glGetAvailableExtensions()` -> `Array<String>`
65
67
  * `glIsShaderCompiled?(shader)` -> `Boolean`
66
68
  * `glIsProgramLinked?(program)` -> `Boolean`
67
- * `glUniformMatrixf(location, Matrix, transpose = true)` (Experimental)
68
69
  * More helper functions coming soon
69
70
 
70
71
  Note for functions has a offset with GLvoid* type
@@ -0,0 +1,2 @@
1
+ module OpenGL
2
+ end
@@ -1,6 +1,7 @@
1
1
  require_relative "constants"
2
2
  require_relative "platform"
3
3
  require_relative "type"
4
+ require_relative "pointer_ext"
4
5
  require_relative "raw"
5
6
  require_relative "wrapper"
6
7
  require_relative "debugging"
@@ -0,0 +1,24 @@
1
+ require_relative "type"
2
+
3
+ module OpenGL
4
+ module PointerExt
5
+ Type.primitive_types.each do |gl_type, old_type|
6
+ code = <<-RUBY
7
+ def read_array_of_#{gl_type}(n)
8
+ read_array_of_#{old_type}(n)
9
+ end
10
+ def get_array_of_#{gl_type}(off, n)
11
+ get_array_of_#{old_type}(off, n)
12
+ end
13
+ def write_array_of_#{gl_type}(ary)
14
+ write_array_of_#{old_type}(ary)
15
+ end
16
+ def put_array_of_#{gl_type}(off, ary)
17
+ put_array_of_#{old_type}(off, ary)
18
+ end
19
+ RUBY
20
+
21
+ module_eval code, __FILE__, __LINE__
22
+ end
23
+ end
24
+ end
@@ -8,16 +8,26 @@ module OpenGL
8
8
  # Root path of type definition files
9
9
  ROOT = File.expand_path("../type", __FILE__)
10
10
 
11
+ # @private
11
12
  default_path = File.join(ROOT, "default.yml")
12
13
  platform_path = File.join(ROOT, "#{FFI::Platform::NAME}.yml")
14
+
15
+ # @private
13
16
  @primitive_types = YAML.load(File.read(default_path)).merge!(
14
17
  YAML.load(File.read(platform_path))
15
18
  )
16
19
 
20
+ # @!attribute [r] primitive_types
21
+ # @return [Hash] the table of primitive types
22
+ def self.primitive_types
23
+ return @primitive_types
24
+ end
25
+
26
+ # @private
17
27
  @type_map = Hash[
18
- @primitive_types.to_a +
19
- @primitive_types.keys.map {|t| [:"#{t}_in", :buffer_in] } +
20
- @primitive_types.keys.map {|t| [:"#{t}_out", :buffer_out] }
28
+ primitive_types.to_a +
29
+ primitive_types.keys.map {|t| [:"#{t}_in", :buffer_in] } +
30
+ primitive_types.keys.map {|t| [:"#{t}_out", :buffer_out] }
21
31
  ].merge!({
22
32
  :pointer_out => :buffer_out, :pointer_in => :buffer_in,
23
33
  :void => :void, :string => :string, :pointer => :pointer,
@@ -34,61 +44,46 @@ module OpenGL
34
44
  return @type_map.fetch(type.to_sym)
35
45
  end
36
46
 
37
- # @private
38
- MemoryPointerInstanceMethods = Module.new
39
- @primitive_types.each do |gl_type, old_type|
40
- code = <<-RUBY
41
- def read_array_of_#{gl_type}(n)
42
- read_array_of_#{old_type}(n)
43
- end
44
- def get_array_of_#{gl_type}(off, n)
45
- get_array_of_#{old_type}(off, n)
46
- end
47
- def write_array_of_#{gl_type}(ary)
48
- write_array_of_#{old_type}(ary)
49
- end
50
- def put_array_of_#{gl_type}(off, ary)
51
- put_array_of_#{old_type}(off, ary)
52
- end
53
- RUBY
54
- MemoryPointerInstanceMethods.module_eval code, __FILE__, __LINE__
55
- end
56
-
57
- @primitive_types.each do |gl_type, old_type|
58
- code = <<-RUBY
59
- def self.#{gl_type}(n)
60
- ptr = pointer(FFI::MemoryPointer.new(:#{old_type}, n))
61
- if block_given?
62
- yield ptr
63
- else
64
- return ptr
65
- end
66
- end
67
- RUBY
68
- self.module_eval code, __FILE__, __LINE__
47
+ # Create a buffer for input argument
48
+ #
49
+ # @param [Symbol] gl_type
50
+ # @param [Integer] count
51
+ #
52
+ # @overload buffer_in(gl_type, count)
53
+ # @return [FFI::Buffer]
54
+ #
55
+ # @overload buffer_in(gl_type, count)
56
+ # @yield [buf] Give a reference of the buffer
57
+ # @yieldparam [FFI::Buffer] buf
58
+ # @return [Object] result of the block
59
+ #
60
+ def self.buffer_in(gl_type, count)
61
+ orig_type = primitive_types.fetch(gl_type)
62
+ ptr = FFI::Buffer.new_in(orig_type, count).extend(PointerExt)
63
+ return (block_given? ? (yield ptr) : (ptr))
69
64
  end
70
65
 
66
+ # Create a buffer for output argument
71
67
  #
72
- # @overload pointer(count)
73
- # Create a memory pointer (FFI::MemoryPointer) with pointer type
74
- # @param [Integer] count
75
- # @return [FFI::MemoryPointer] with sizeof(pointer) * count
68
+ # @param [Symbol] gl_type
69
+ # @param [Integer] count
76
70
  #
77
- # @overload pointer(ptr)
78
- # Ensure the pointer can work with the library
79
- # If ptr is NULL (#null? == true), it returns nil
80
- # @param [FFI::Pointer] ptr
81
- # @return [FFI::Pointer] ptr (extended with extensions)
71
+ # @overload buffer_out(gl_type, count)
72
+ # @return [FFI::Buffer]
82
73
  #
83
- def self.pointer(ptr)
84
- if ptr.is_a? Integer
85
- ptr = FFI::MemoryPointer.new(:pointer, n)
86
- end
87
- ptr.extend MemoryPointerInstanceMethods
88
- ptr.null? ? nil : ptr
74
+ # @overload buffer_out(gl_type, count)
75
+ # @yield [buf] Give a reference of the buffer
76
+ # @yieldparam [FFI::Buffer] buf
77
+ # @return [Object] result of the block
78
+ #
79
+ def self.buffer_out(gl_type, count)
80
+ orig_type = primitive_types.fetch(gl_type)
81
+ ptr = FFI::Buffer.new_out(orig_type, count).extend(PointerExt)
82
+ return (block_given? ? (yield ptr) : (ptr))
89
83
  end
90
84
 
91
85
  # Make sure offset is a pointer type
86
+ #
92
87
  # @param [Integer, FFI::Pointer, nil] offset
93
88
  # @return [FFI::Pointer]
94
89
  #
@@ -1,3 +1,3 @@
1
1
  module OpenGL
2
- VERSION = "0.0.1.pre6"
2
+ VERSION = "0.0.2.pre1"
3
3
  end
@@ -6,27 +6,30 @@ module OpenGL
6
6
  # glGet*v
7
7
  def def_glGet(name, type)
8
8
  define_method(:"glGet#{name}v") do |*args, count|
9
- ptr = Type.send(:"#{type}", count)
10
- super(*args, ptr)
11
- return ptr.send(:"read_array_of_#{type}", count)
9
+ return Type.buffer_out(type, count) {|ptr|
10
+ super(*args, ptr)
11
+ ptr.send(:"read_array_of_#{type}", count)
12
+ }
12
13
  end
13
14
  end
14
15
 
15
16
  # gl*v
16
17
  def def_glSet(name, type)
17
18
  define_method(:"gl#{name}v") do |*args, params|
18
- ptr = Type.send(:"#{type}", params.count)
19
- ptr.send(:"write_array_of_#{type}", params)
20
- super(*args, ptr)
19
+ Type.buffer_in(type, params.count) {|ptr|
20
+ ptr.send(:"write_array_of_#{type}", params)
21
+ super(*args, ptr)
22
+ }
21
23
  end
22
24
  end
23
25
 
24
26
  # glGen*
25
27
  def def_glGen(type_name)
26
28
  define_method(:"glGen#{type_name}") do |count|
27
- ptr = Type.GLuint(count)
28
- super(count, ptr)
29
- return ptr.read_array_of_GLuint(count)
29
+ return Type.buffer_out(:GLuint, count) {|ptr|
30
+ super(count, ptr)
31
+ ptr.read_array_of_GLuint(count)
32
+ }
30
33
  end
31
34
  end
32
35
 
@@ -34,10 +37,10 @@ module OpenGL
34
37
  def def_glDelete(type_name)
35
38
  define_method(:"glDelete#{type_name}") do |ids|
36
39
  ids = Array(ids)
37
- raise ArgumentError unless ids.all?{|o| o.is_a? Integer }
38
- ptr = Type.GLuint(ids.count)
39
- ptr.write_array_of_GLuint(ids)
40
- super(ids.count, ptr)
40
+ Type.buffer_in(:GLuint, ids.count) {|ptr|
41
+ ptr.write_array_of_GLuint(ids)
42
+ super(ids.count, ptr)
43
+ }
41
44
  end
42
45
  end
43
46
 
@@ -45,7 +48,8 @@ module OpenGL
45
48
  def def_glMapBuffer(suffix = nil)
46
49
  define_method(:"glMapBuffer#{suffix}") do |*args, &block|
47
50
  target = args.first
48
- if (ptr_or_result = Type.pointer(super(*args)))
51
+ if (ptr_or_result = super(*args).extend(PointerExt))
52
+ # TODO: FFI::NullPointerError ?
49
53
  if block
50
54
  block.call ptr_or_result
51
55
  ptr_or_result = glUnmapBuffer(target)
@@ -59,9 +63,26 @@ module OpenGL
59
63
  def def_glGetInfoLog_of(name)
60
64
  define_method(:"glGet#{name}InfoLog") do |id|
61
65
  n = send(:"glGet#{name}iv", id, Constants::GL_INFO_LOG_LENGTH, 1)[0]
62
- ptr = Type.GLchar(n)
63
- super(id, n, nil, ptr)
64
- return ptr.read_string
66
+ return Type.buffer_out(:GLchar, n) {|ptr|
67
+ super(id, n, nil, ptr)
68
+ ptr.get_string(0)
69
+ }
70
+ end
71
+ end
72
+
73
+ # glVertexAttrib*Pointer
74
+ def def_glVertexAttribPointer(midname = nil)
75
+ define_method(:"glVertexAttrib#{midname}Pointer") do |*args|
76
+ ptr_or_offset = Type.pointer_offset(args.pop)
77
+ super(*args, ptr_or_offset)
78
+ end
79
+ end
80
+
81
+ # glDraw*Elements*
82
+ def def_glDrawElements(midname, suffix, where_is_indices = -1)
83
+ define_method(:"glDraw#{midname}Elements#{suffix}") do |*args|
84
+ args[where_is_indices] = Type.pointer_offset(args[where_is_indices])
85
+ super(*args)
65
86
  end
66
87
  end
67
88
 
@@ -12,5 +12,8 @@ module OpenGL
12
12
  # glGenTextures
13
13
  def_glGen 'Textures'
14
14
 
15
+ # glDrawElements
16
+ def_glDrawElements nil, nil
17
+
15
18
  end
16
19
  end
@@ -2,5 +2,9 @@ module OpenGL
2
2
  # Wrapper for OpenGL 1.2
3
3
  module Wrapper::GL_VERSION_1_2
4
4
  extend Wrapper::Base
5
+
6
+ # glDrawRangeElements
7
+ def_glDrawElements 'Range', nil
8
+
5
9
  end
6
10
  end
@@ -20,7 +20,7 @@ module OpenGL
20
20
  #
21
21
  def glDrawBuffers(*bufs)
22
22
  bufs.flatten!
23
- Type.GLenum(bufs.count) do |ptr|
23
+ Type.buffer_in(:GLenum, bufs.count) do |ptr|
24
24
  ptr.write_array_of_GLenum(bufs)
25
25
  super(bufs.count, ptr)
26
26
  end
@@ -53,6 +53,17 @@ module OpenGL
53
53
 
54
54
  # TODO: glGetShaderSource
55
55
 
56
+ # glGetUniformLocation
57
+ #
58
+ # @param [GLuint] program
59
+ # @param [string] name
60
+ # @return [GLint, nil]
61
+ #
62
+ def glGetUniformLocation(program, name)
63
+ loc = super(program, name)
64
+ return (loc != -1 ? loc : nil)
65
+ end
66
+
56
67
  # glGetUniformfv
57
68
  def_glGet 'Uniformf', :GLfloat
58
69
 
@@ -74,15 +85,16 @@ module OpenGL
74
85
  # glShaderSource
75
86
  #
76
87
  # @param [GLuint] shader
77
- # @param [String, Array<String>] codes
88
+ # @param [String, Array<String>, FFI::Pointer, Array<FFI::Pointer>] codes
78
89
  #
79
90
  def glShaderSource(shader, codes)
80
91
  pointers = Array(codes).map{|s|
92
+ # TODO: FFI::Buffer ?
81
93
  s.is_a?(FFI::Pointer) ? s : FFI::MemoryPointer.from_string(s)
82
94
  }
83
- ptr = FFI::MemoryPointer.new(:pointer, pointers.count)
84
- ptr.write_array_of_pointer(pointers)
85
- super(shader, pointers.count, ptr, nil)
95
+ buf = FFI::Buffer.new_in(:pointer, pointers.count)
96
+ buf.write_array_of_pointer(pointers)
97
+ super(shader, pointers.count, buf, nil)
86
98
  end
87
99
 
88
100
  # Check if the shader is successfully compiled
@@ -103,25 +115,8 @@ module OpenGL
103
115
  glGetProgramiv(program, Constants::GL_LINK_STATUS, 1)[0] != 0
104
116
  end
105
117
 
106
- # a variant of glUniformMatrix*fv
107
- #
108
- # @param [GLint] location
109
- # @param [Matrix] matrix
110
- # @param [Boolean] transpose
111
- #
112
- def glUniformMatrixf(location, mat, transpose = true)
113
- transpose = (transpose ? Constants::GL_TRUE : Constants::GL_FALSE)
114
-
115
- # TODO: refactor it
116
- if defined?(::Matrix) && mat.is_a?(::Matrix)
117
- m, n = mat.row_size, mat.column_size
118
- dim = (m == n ? "#{m}" : "#{n}x#{m}")
119
-
120
- ptr = Type.GLfloat(m*n).write_array_of_GLfloat(mat.to_a.flatten)
121
- end
122
-
123
- send(:"glUniformMatrix#{dim}fv", location, 1, transpose, ptr)
124
- end
118
+ # glVertexAttribPointer
119
+ def_glVertexAttribPointer
125
120
 
126
121
  end
127
122
  end
@@ -65,6 +65,9 @@ module OpenGL
65
65
  # glGetTexParameterIuiv
66
66
  def_glGet 'TexParameterIui', :GLuint
67
67
 
68
+ # glVertexAttribIPointer
69
+ def_glVertexAttribPointer 'I'
70
+
68
71
  # TODO: glClearBufferiv
69
72
  # TODO: glClearBufferuiv
70
73
  # TODO: glClearBufferfv
@@ -8,7 +8,9 @@ module OpenGL
8
8
  extend Wrapper::Base
9
9
 
10
10
  # TODO: glDrawArraysInstanced
11
- # TODO: glDrawElementsInstanced
11
+
12
+ # glDrawElementsInstanced
13
+ def_glDrawElements nil, 'Instanced', -2
12
14
 
13
15
  end
14
16
  end
@@ -3,6 +3,15 @@ module OpenGL
3
3
  module Wrapper::GL_ARB_draw_elements_base_vertex
4
4
  extend Wrapper::Base
5
5
 
6
+ # glDrawElementsBaseVertex
7
+ def_glDrawElements nil, 'BaseVertex', -2
8
+
9
+ # glDrawRangeElementsBaseVertex
10
+ def_glDrawElements 'Range', 'BaseVertex', -2
11
+
12
+ # glDrawElementsInstancedBaseVertex
13
+ def_glDrawElements nil, 'InstancedBaseVertex', -3
14
+
6
15
  # TODO: glMultiDrawElementsBaseVertex
7
16
 
8
17
  end
@@ -6,5 +6,8 @@ module OpenGL
6
6
  # glGetVertexAttribLdv
7
7
  def_glGet 'VertexAttribLd', :GLdouble
8
8
 
9
+ # glVertexAttribLPointer
10
+ def_glVertexAttribPointer 'L'
11
+
9
12
  end
10
13
  end
@@ -2,5 +2,12 @@ module OpenGL
2
2
  # Wrapper for GL_ARB_base_instance extension
3
3
  module Wrapper::GL_ARB_base_instance
4
4
  extend Wrapper::Base
5
+
6
+ # glDrawElementsInstancedBaseInstance
7
+ def_glDrawElements nil, 'InstancedBaseInstance', -3
8
+
9
+ # glDrawElementsInstancedBaseVertexBaseInstance
10
+ def_glDrawElements nil, 'InstancedBaseVertexBaseInstance', -4
11
+
5
12
  end
6
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opengl3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre6
4
+ version: 0.0.2.pre1
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,56 +9,56 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-13 00:00:00.000000000 Z
12
+ date: 2013-01-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: ffi
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
15
+ version_requirements: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.2.0
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
20
  none: false
21
+ name: ffi
22
+ prerelease: false
23
+ requirement: !ruby/object:Gem::Requirement
26
24
  requirements:
27
25
  - - ! '>='
28
26
  - !ruby/object:Gem::Version
29
27
  version: 1.2.0
30
- - !ruby/object:Gem::Dependency
31
- name: rake
32
- requirement: !ruby/object:Gem::Requirement
33
28
  none: false
29
+ type: :runtime
30
+ - !ruby/object:Gem::Dependency
31
+ version_requirements: !ruby/object:Gem::Requirement
34
32
  requirements:
35
33
  - - ~>
36
34
  - !ruby/object:Gem::Version
37
35
  version: 10.0.0
38
- type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
36
  none: false
37
+ name: rake
38
+ prerelease: false
39
+ requirement: !ruby/object:Gem::Requirement
42
40
  requirements:
43
41
  - - ~>
44
42
  - !ruby/object:Gem::Version
45
43
  version: 10.0.0
46
- - !ruby/object:Gem::Dependency
47
- name: minitest
48
- requirement: !ruby/object:Gem::Requirement
49
44
  none: false
45
+ type: :development
46
+ - !ruby/object:Gem::Dependency
47
+ version_requirements: !ruby/object:Gem::Requirement
50
48
  requirements:
51
49
  - - ! '>='
52
50
  - !ruby/object:Gem::Version
53
51
  version: 4.3.0
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
52
  none: false
53
+ name: minitest
54
+ prerelease: false
55
+ requirement: !ruby/object:Gem::Requirement
58
56
  requirements:
59
57
  - - ! '>='
60
58
  - !ruby/object:Gem::Version
61
59
  version: 4.3.0
60
+ none: false
61
+ type: :development
62
62
  description: An OpenGL wrapper library for Ruby (OpenGL 2.1-4.2)
63
63
  email:
64
64
  - davll.xc@gmail.com
@@ -66,9 +66,122 @@ executables: []
66
66
  extensions: []
67
67
  extra_rdoc_files: []
68
68
  files:
69
- - lib/glut/i386/freeglut.dll.gitkeep
70
- - lib/glut/x86_64/freeglut.dll.gitkeep
71
69
  - lib/glut.rb
70
+ - lib/opengl.rb
71
+ - lib/opengl/constants.rb
72
+ - lib/opengl/debugging.rb
73
+ - lib/opengl/error.rb
74
+ - lib/opengl/gl.rb
75
+ - lib/opengl/platform.rb
76
+ - lib/opengl/pointer_ext.rb
77
+ - lib/opengl/raw.rb
78
+ - lib/opengl/type.rb
79
+ - lib/opengl/version.rb
80
+ - lib/opengl/wrapper.rb
81
+ - lib/opengl/platform/base.rb
82
+ - lib/opengl/platform/darwin.rb
83
+ - lib/opengl/platform/linux.rb
84
+ - lib/opengl/platform/windows.rb
85
+ - lib/opengl/type/default.yml
86
+ - lib/opengl/type/i386-linux.yml
87
+ - lib/opengl/type/i386-windows.yml
88
+ - lib/opengl/type/x86_64-darwin.yml
89
+ - lib/opengl/type/x86_64-linux.yml
90
+ - lib/opengl/type/x86_64-windows.yml
91
+ - lib/opengl/wrapper/base.rb
92
+ - lib/opengl/wrapper/core/2_x/GL_VERSION_1_0.rb
93
+ - lib/opengl/wrapper/core/2_x/GL_VERSION_1_1.rb
94
+ - lib/opengl/wrapper/core/2_x/GL_VERSION_1_2.rb
95
+ - lib/opengl/wrapper/core/2_x/GL_VERSION_1_3.rb
96
+ - lib/opengl/wrapper/core/2_x/GL_VERSION_1_4.rb
97
+ - lib/opengl/wrapper/core/2_x/GL_VERSION_1_5.rb
98
+ - lib/opengl/wrapper/core/2_x/GL_VERSION_2_0.rb
99
+ - lib/opengl/wrapper/core/2_x/GL_VERSION_2_1.rb
100
+ - lib/opengl/wrapper/core/3_0/GL_ARB_framebuffer_object.rb
101
+ - lib/opengl/wrapper/core/3_0/GL_ARB_map_buffer_range.rb
102
+ - lib/opengl/wrapper/core/3_0/GL_ARB_vertex_array_object.rb
103
+ - lib/opengl/wrapper/core/3_0/GL_VERSION_3_0.rb
104
+ - lib/opengl/wrapper/core/3_1/GL_ARB_copy_buffer.rb
105
+ - lib/opengl/wrapper/core/3_1/GL_ARB_uniform_buffer_object.rb
106
+ - lib/opengl/wrapper/core/3_1/GL_VERSION_3_1.rb
107
+ - lib/opengl/wrapper/core/3_2/GL_ARB_draw_elements_base_vertex.rb
108
+ - lib/opengl/wrapper/core/3_2/GL_ARB_provoking_vertex.rb
109
+ - lib/opengl/wrapper/core/3_2/GL_ARB_sync.rb
110
+ - lib/opengl/wrapper/core/3_2/GL_ARB_texture_multisample.rb
111
+ - lib/opengl/wrapper/core/3_2/GL_VERSION_3_2.rb
112
+ - lib/opengl/wrapper/core/3_3/GL_ARB_blend_func_extended.rb
113
+ - lib/opengl/wrapper/core/3_3/GL_ARB_sampler_objects.rb
114
+ - lib/opengl/wrapper/core/3_3/GL_ARB_timer_query.rb
115
+ - lib/opengl/wrapper/core/3_3/GL_ARB_vertex_type_2_10_10_10_rev.rb
116
+ - lib/opengl/wrapper/core/3_3/GL_VERSION_3_3.rb
117
+ - lib/opengl/wrapper/core/4_0/GL_ARB_draw_indirect.rb
118
+ - lib/opengl/wrapper/core/4_0/GL_ARB_gpu_shader_fp64.rb
119
+ - lib/opengl/wrapper/core/4_0/GL_ARB_shader_subroutine.rb
120
+ - lib/opengl/wrapper/core/4_0/GL_ARB_tessellation_shader.rb
121
+ - lib/opengl/wrapper/core/4_0/GL_ARB_transform_feedback2.rb
122
+ - lib/opengl/wrapper/core/4_0/GL_ARB_transform_feedback3.rb
123
+ - lib/opengl/wrapper/core/4_0/GL_VERSION_4_0.rb
124
+ - lib/opengl/wrapper/core/4_1/GL_ARB_ES2_compatibility.rb
125
+ - lib/opengl/wrapper/core/4_1/GL_ARB_get_program_binary.rb
126
+ - lib/opengl/wrapper/core/4_1/GL_ARB_separate_shader_objects.rb
127
+ - lib/opengl/wrapper/core/4_1/GL_ARB_vertex_attrib_64bit.rb
128
+ - lib/opengl/wrapper/core/4_1/GL_ARB_viewport_array.rb
129
+ - lib/opengl/wrapper/core/4_1/GL_VERSION_4_1.rb
130
+ - lib/opengl/wrapper/core/4_2/GL_ARB_base_instance.rb
131
+ - lib/opengl/wrapper/core/4_2/GL_ARB_internalformat_query.rb
132
+ - lib/opengl/wrapper/core/4_2/GL_ARB_shader_atomic_counters.rb
133
+ - lib/opengl/wrapper/core/4_2/GL_ARB_shader_image_load_store.rb
134
+ - lib/opengl/wrapper/core/4_2/GL_ARB_texture_storage.rb
135
+ - lib/opengl/wrapper/core/4_2/GL_ARB_transform_feedback_instanced.rb
136
+ - lib/opengl/wrapper/core/4_2/GL_VERSION_4_2.rb
137
+ - lib/opengl/raw/core/2_x/GL_VERSION_1_0.yml
138
+ - lib/opengl/raw/core/2_x/GL_VERSION_1_1.yml
139
+ - lib/opengl/raw/core/2_x/GL_VERSION_1_2.yml
140
+ - lib/opengl/raw/core/2_x/GL_VERSION_1_3.yml
141
+ - lib/opengl/raw/core/2_x/GL_VERSION_1_4.yml
142
+ - lib/opengl/raw/core/2_x/GL_VERSION_1_5.yml
143
+ - lib/opengl/raw/core/2_x/GL_VERSION_2_0.yml
144
+ - lib/opengl/raw/core/2_x/GL_VERSION_2_1.yml
145
+ - lib/opengl/raw/core/3_0/GL_ARB_framebuffer_object.yml
146
+ - lib/opengl/raw/core/3_0/GL_ARB_map_buffer_range.yml
147
+ - lib/opengl/raw/core/3_0/GL_ARB_vertex_array_object.yml
148
+ - lib/opengl/raw/core/3_0/GL_VERSION_3_0.yml
149
+ - lib/opengl/raw/core/3_1/GL_ARB_copy_buffer.yml
150
+ - lib/opengl/raw/core/3_1/GL_ARB_uniform_buffer_object.yml
151
+ - lib/opengl/raw/core/3_1/GL_VERSION_3_1.yml
152
+ - lib/opengl/raw/core/3_2/GL_ARB_draw_elements_base_vertex.yml
153
+ - lib/opengl/raw/core/3_2/GL_ARB_provoking_vertex.yml
154
+ - lib/opengl/raw/core/3_2/GL_ARB_sync.yml
155
+ - lib/opengl/raw/core/3_2/GL_ARB_texture_multisample.yml
156
+ - lib/opengl/raw/core/3_2/GL_VERSION_3_2.yml
157
+ - lib/opengl/raw/core/3_3/GL_ARB_blend_func_extended.yml
158
+ - lib/opengl/raw/core/3_3/GL_ARB_sampler_objects.yml
159
+ - lib/opengl/raw/core/3_3/GL_ARB_timer_query.yml
160
+ - lib/opengl/raw/core/3_3/GL_ARB_vertex_type_2_10_10_10_rev.yml
161
+ - lib/opengl/raw/core/3_3/GL_VERSION_3_3.yml
162
+ - lib/opengl/raw/core/4_0/GL_ARB_draw_indirect.yml
163
+ - lib/opengl/raw/core/4_0/GL_ARB_gpu_shader_fp64.yml
164
+ - lib/opengl/raw/core/4_0/GL_ARB_shader_subroutine.yml
165
+ - lib/opengl/raw/core/4_0/GL_ARB_tessellation_shader.yml
166
+ - lib/opengl/raw/core/4_0/GL_ARB_transform_feedback2.yml
167
+ - lib/opengl/raw/core/4_0/GL_ARB_transform_feedback3.yml
168
+ - lib/opengl/raw/core/4_0/GL_VERSION_4_0.yml
169
+ - lib/opengl/raw/core/4_1/GL_ARB_ES2_compatibility.yml
170
+ - lib/opengl/raw/core/4_1/GL_ARB_get_program_binary.yml
171
+ - lib/opengl/raw/core/4_1/GL_ARB_separate_shader_objects.yml
172
+ - lib/opengl/raw/core/4_1/GL_ARB_vertex_attrib_64bit.yml
173
+ - lib/opengl/raw/core/4_1/GL_ARB_viewport_array.yml
174
+ - lib/opengl/raw/core/4_1/GL_VERSION_4_1.yml
175
+ - lib/opengl/raw/core/4_2/GL_ARB_base_instance.yml
176
+ - lib/opengl/raw/core/4_2/GL_ARB_internalformat_query.yml
177
+ - lib/opengl/raw/core/4_2/GL_ARB_shader_atomic_counters.yml
178
+ - lib/opengl/raw/core/4_2/GL_ARB_shader_image_load_store.yml
179
+ - lib/opengl/raw/core/4_2/GL_ARB_texture_storage.yml
180
+ - lib/opengl/raw/core/4_2/GL_ARB_transform_feedback_instanced.yml
181
+ - lib/opengl/raw/core/4_2/GL_VERSION_4_2.yml
182
+ - lib/opengl/constants/ext/GL_EXT_texture_compression_s3tc.yml
183
+ - lib/opengl/constants/ext/GL_EXT_texture_filter_anisotropic.yml
184
+ - lib/opengl/constants/ext/GL_EXT_texture_sRGB.yml
72
185
  - lib/opengl/constants/core/2_x/GL_VERSION_1_1.yml
73
186
  - lib/opengl/constants/core/2_x/GL_VERSION_1_2.yml
74
187
  - lib/opengl/constants/core/2_x/GL_VERSION_1_3.yml
@@ -135,119 +248,8 @@ files:
135
248
  - lib/opengl/constants/core/4_3/GL_ARB_vertex_attrib_binding.yml
136
249
  - lib/opengl/constants/core/4_3/GL_KHR_debug.yml
137
250
  - lib/opengl/constants/core/4_3/GL_VERSION_4_3.yml
138
- - lib/opengl/constants/ext/GL_EXT_texture_compression_s3tc.yml
139
- - lib/opengl/constants/ext/GL_EXT_texture_filter_anisotropic.yml
140
- - lib/opengl/constants/ext/GL_EXT_texture_sRGB.yml
141
- - lib/opengl/constants.rb
142
- - lib/opengl/debugging.rb
143
- - lib/opengl/gl.rb
144
- - lib/opengl/platform/base.rb
145
- - lib/opengl/platform/darwin.rb
146
- - lib/opengl/platform/linux.rb
147
- - lib/opengl/platform/windows.rb
148
- - lib/opengl/platform.rb
149
- - lib/opengl/raw/core/2_x/GL_VERSION_1_0.yml
150
- - lib/opengl/raw/core/2_x/GL_VERSION_1_1.yml
151
- - lib/opengl/raw/core/2_x/GL_VERSION_1_2.yml
152
- - lib/opengl/raw/core/2_x/GL_VERSION_1_3.yml
153
- - lib/opengl/raw/core/2_x/GL_VERSION_1_4.yml
154
- - lib/opengl/raw/core/2_x/GL_VERSION_1_5.yml
155
- - lib/opengl/raw/core/2_x/GL_VERSION_2_0.yml
156
- - lib/opengl/raw/core/2_x/GL_VERSION_2_1.yml
157
- - lib/opengl/raw/core/3_0/GL_ARB_framebuffer_object.yml
158
- - lib/opengl/raw/core/3_0/GL_ARB_map_buffer_range.yml
159
- - lib/opengl/raw/core/3_0/GL_ARB_vertex_array_object.yml
160
- - lib/opengl/raw/core/3_0/GL_VERSION_3_0.yml
161
- - lib/opengl/raw/core/3_1/GL_ARB_copy_buffer.yml
162
- - lib/opengl/raw/core/3_1/GL_ARB_uniform_buffer_object.yml
163
- - lib/opengl/raw/core/3_1/GL_VERSION_3_1.yml
164
- - lib/opengl/raw/core/3_2/GL_ARB_draw_elements_base_vertex.yml
165
- - lib/opengl/raw/core/3_2/GL_ARB_provoking_vertex.yml
166
- - lib/opengl/raw/core/3_2/GL_ARB_sync.yml
167
- - lib/opengl/raw/core/3_2/GL_ARB_texture_multisample.yml
168
- - lib/opengl/raw/core/3_2/GL_VERSION_3_2.yml
169
- - lib/opengl/raw/core/3_3/GL_ARB_blend_func_extended.yml
170
- - lib/opengl/raw/core/3_3/GL_ARB_sampler_objects.yml
171
- - lib/opengl/raw/core/3_3/GL_ARB_timer_query.yml
172
- - lib/opengl/raw/core/3_3/GL_ARB_vertex_type_2_10_10_10_rev.yml
173
- - lib/opengl/raw/core/3_3/GL_VERSION_3_3.yml
174
- - lib/opengl/raw/core/4_0/GL_ARB_draw_indirect.yml
175
- - lib/opengl/raw/core/4_0/GL_ARB_gpu_shader_fp64.yml
176
- - lib/opengl/raw/core/4_0/GL_ARB_shader_subroutine.yml
177
- - lib/opengl/raw/core/4_0/GL_ARB_tessellation_shader.yml
178
- - lib/opengl/raw/core/4_0/GL_ARB_transform_feedback2.yml
179
- - lib/opengl/raw/core/4_0/GL_ARB_transform_feedback3.yml
180
- - lib/opengl/raw/core/4_0/GL_VERSION_4_0.yml
181
- - lib/opengl/raw/core/4_1/GL_ARB_ES2_compatibility.yml
182
- - lib/opengl/raw/core/4_1/GL_ARB_get_program_binary.yml
183
- - lib/opengl/raw/core/4_1/GL_ARB_separate_shader_objects.yml
184
- - lib/opengl/raw/core/4_1/GL_ARB_vertex_attrib_64bit.yml
185
- - lib/opengl/raw/core/4_1/GL_ARB_viewport_array.yml
186
- - lib/opengl/raw/core/4_1/GL_VERSION_4_1.yml
187
- - lib/opengl/raw/core/4_2/GL_ARB_base_instance.yml
188
- - lib/opengl/raw/core/4_2/GL_ARB_internalformat_query.yml
189
- - lib/opengl/raw/core/4_2/GL_ARB_shader_atomic_counters.yml
190
- - lib/opengl/raw/core/4_2/GL_ARB_shader_image_load_store.yml
191
- - lib/opengl/raw/core/4_2/GL_ARB_texture_storage.yml
192
- - lib/opengl/raw/core/4_2/GL_ARB_transform_feedback_instanced.yml
193
- - lib/opengl/raw/core/4_2/GL_VERSION_4_2.yml
194
- - lib/opengl/raw.rb
195
- - lib/opengl/type/default.yml
196
- - lib/opengl/type/i386-linux.yml
197
- - lib/opengl/type/i386-windows.yml
198
- - lib/opengl/type/x86_64-darwin.yml
199
- - lib/opengl/type/x86_64-linux.yml
200
- - lib/opengl/type/x86_64-windows.yml
201
- - lib/opengl/type.rb
202
- - lib/opengl/version.rb
203
- - lib/opengl/wrapper/base.rb
204
- - lib/opengl/wrapper/core/2_x/GL_VERSION_1_0.rb
205
- - lib/opengl/wrapper/core/2_x/GL_VERSION_1_1.rb
206
- - lib/opengl/wrapper/core/2_x/GL_VERSION_1_2.rb
207
- - lib/opengl/wrapper/core/2_x/GL_VERSION_1_3.rb
208
- - lib/opengl/wrapper/core/2_x/GL_VERSION_1_4.rb
209
- - lib/opengl/wrapper/core/2_x/GL_VERSION_1_5.rb
210
- - lib/opengl/wrapper/core/2_x/GL_VERSION_2_0.rb
211
- - lib/opengl/wrapper/core/2_x/GL_VERSION_2_1.rb
212
- - lib/opengl/wrapper/core/3_0/GL_ARB_framebuffer_object.rb
213
- - lib/opengl/wrapper/core/3_0/GL_ARB_map_buffer_range.rb
214
- - lib/opengl/wrapper/core/3_0/GL_ARB_vertex_array_object.rb
215
- - lib/opengl/wrapper/core/3_0/GL_VERSION_3_0.rb
216
- - lib/opengl/wrapper/core/3_1/GL_ARB_copy_buffer.rb
217
- - lib/opengl/wrapper/core/3_1/GL_ARB_uniform_buffer_object.rb
218
- - lib/opengl/wrapper/core/3_1/GL_VERSION_3_1.rb
219
- - lib/opengl/wrapper/core/3_2/GL_ARB_draw_elements_base_vertex.rb
220
- - lib/opengl/wrapper/core/3_2/GL_ARB_provoking_vertex.rb
221
- - lib/opengl/wrapper/core/3_2/GL_ARB_sync.rb
222
- - lib/opengl/wrapper/core/3_2/GL_ARB_texture_multisample.rb
223
- - lib/opengl/wrapper/core/3_2/GL_VERSION_3_2.rb
224
- - lib/opengl/wrapper/core/3_3/GL_ARB_blend_func_extended.rb
225
- - lib/opengl/wrapper/core/3_3/GL_ARB_sampler_objects.rb
226
- - lib/opengl/wrapper/core/3_3/GL_ARB_timer_query.rb
227
- - lib/opengl/wrapper/core/3_3/GL_ARB_vertex_type_2_10_10_10_rev.rb
228
- - lib/opengl/wrapper/core/3_3/GL_VERSION_3_3.rb
229
- - lib/opengl/wrapper/core/4_0/GL_ARB_draw_indirect.rb
230
- - lib/opengl/wrapper/core/4_0/GL_ARB_gpu_shader_fp64.rb
231
- - lib/opengl/wrapper/core/4_0/GL_ARB_shader_subroutine.rb
232
- - lib/opengl/wrapper/core/4_0/GL_ARB_tessellation_shader.rb
233
- - lib/opengl/wrapper/core/4_0/GL_ARB_transform_feedback2.rb
234
- - lib/opengl/wrapper/core/4_0/GL_ARB_transform_feedback3.rb
235
- - lib/opengl/wrapper/core/4_0/GL_VERSION_4_0.rb
236
- - lib/opengl/wrapper/core/4_1/GL_ARB_ES2_compatibility.rb
237
- - lib/opengl/wrapper/core/4_1/GL_ARB_get_program_binary.rb
238
- - lib/opengl/wrapper/core/4_1/GL_ARB_separate_shader_objects.rb
239
- - lib/opengl/wrapper/core/4_1/GL_ARB_vertex_attrib_64bit.rb
240
- - lib/opengl/wrapper/core/4_1/GL_ARB_viewport_array.rb
241
- - lib/opengl/wrapper/core/4_1/GL_VERSION_4_1.rb
242
- - lib/opengl/wrapper/core/4_2/GL_ARB_base_instance.rb
243
- - lib/opengl/wrapper/core/4_2/GL_ARB_internalformat_query.rb
244
- - lib/opengl/wrapper/core/4_2/GL_ARB_shader_atomic_counters.rb
245
- - lib/opengl/wrapper/core/4_2/GL_ARB_shader_image_load_store.rb
246
- - lib/opengl/wrapper/core/4_2/GL_ARB_texture_storage.rb
247
- - lib/opengl/wrapper/core/4_2/GL_ARB_transform_feedback_instanced.rb
248
- - lib/opengl/wrapper/core/4_2/GL_VERSION_4_2.rb
249
- - lib/opengl/wrapper.rb
250
- - lib/opengl.rb
251
+ - lib/glut/i386/freeglut.dll.gitkeep
252
+ - lib/glut/x86_64/freeglut.dll.gitkeep
251
253
  - README.md
252
254
  homepage: https://github.com/davll/ruby-opengl
253
255
  licenses: []
@@ -256,17 +258,17 @@ rdoc_options: []
256
258
  require_paths:
257
259
  - lib
258
260
  required_ruby_version: !ruby/object:Gem::Requirement
259
- none: false
260
261
  requirements:
261
262
  - - ! '>='
262
263
  - !ruby/object:Gem::Version
263
264
  version: '1.9'
264
- required_rubygems_version: !ruby/object:Gem::Requirement
265
265
  none: false
266
+ required_rubygems_version: !ruby/object:Gem::Requirement
266
267
  requirements:
267
268
  - - ! '>'
268
269
  - !ruby/object:Gem::Version
269
270
  version: 1.3.1
271
+ none: false
270
272
  requirements: []
271
273
  rubyforge_project:
272
274
  rubygems_version: 1.8.24
@@ -274,4 +276,3 @@ signing_key:
274
276
  specification_version: 3
275
277
  summary: OpenGL
276
278
  test_files: []
277
- has_rdoc: