opengl3 0.0.1.pre6 → 0.0.2.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: