opengl3 0.0.1.pre2 → 0.0.1.pre3

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
@@ -6,9 +6,13 @@ OpenGL wrapper library for Ruby
6
6
  * OpenGL 2.1 ~ 4.2
7
7
  * automatic error checking each function call
8
8
  * Ruby-style wrapper (not complete)
9
- * Works on OS X 10.8 and Linux
10
9
  * Inspired by PyOpenGL
11
10
 
11
+ Tested on
12
+
13
+ * Mac OS X 10.8 (MRI 1.9.3, Rubinius)
14
+ * Linux (MRI 1.9.3, JRuby 1.7)
15
+
12
16
  ## Notice
13
17
 
14
18
  Since the project is not complete, many functions are still C-style.
@@ -21,15 +25,16 @@ with C-style OpenGL entrypoints.
21
25
  Please take a look at `lib/opengl/wrapper/**/*.rb`
22
26
  to see if entrypoints are wrapped.
23
27
 
24
- * glGetString() -> String
25
- * glGen__Objects__(count) -> Array of Integer
26
- * glDelete__Objects__(Array of Integer) -> nil
27
- * glGet__Value__fv(\*args, count) -> Array of Float
28
- * glGet__Value__iv(\*args, count) -> Array of Integer
29
- * glGet__Value__uiv(\*args, count) -> Array of Integer
30
- * glShaderSource(shader, Array of String) -> nil
31
- * glGetShaderInfoLog(shader) / glGetProgramInfoLog(program) -> String
32
- * More will be added
28
+ * glGetString(pname) -> String
29
+ * glGen__Objects__(count) -> Array<Integer>
30
+ * glDelete__Objects__(Array<Integer>) -> nil
31
+ * glGet__Value__fv(\*args, count) -> Array<Float>
32
+ * glGet__Value__iv(\*args, count) -> Array<Integer>
33
+ * glGet__Value__uiv(\*args, count) -> Array<Integer>
34
+ * glShaderSource(shader, Array<String>) -> nil
35
+ * glGetShaderInfoLog(shader) -> String
36
+ * glGetProgramInfoLog(program) -> String
37
+ * More Ruby-style functions coming soon
33
38
 
34
39
  block-style glMapBuffer / glMapBufferRange:
35
40
 
@@ -41,12 +46,12 @@ end
41
46
 
42
47
  And helper functions
43
48
 
44
- * glGetVersion() -> Array of Integer
45
- * glGetShadingLanguageVersion() -> Array of Integer
46
- * glGetAvailableExtensions() -> Array of String
47
- * glIsShaderCompiled?(shader) -> boolean
48
- * glIsProgramLinked?(program) -> boolean
49
- * More will be added
49
+ * glGetVersion() -> Array<Integer>
50
+ * glGetShadingLanguageVersion() -> Array<Integer>
51
+ * glGetAvailableExtensions() -> Array<String>
52
+ * glIsShaderCompiled?(shader) -> Boolean
53
+ * glIsProgramLinked?(program) -> Boolean
54
+ * More helper functions coming soon
50
55
 
51
56
  ## Installation
52
57
 
data/Rakefile CHANGED
@@ -1,6 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rake/testtask"
3
- require "yard"
4
3
 
5
4
  Rake::TestTask.new :spec do |t|
6
5
  t.libs << "spec"
@@ -17,6 +16,11 @@ task :console do
17
16
  sh "irb -rubygems -I lib -r opengl"
18
17
  end
19
18
 
20
- YARD::Rake::YardocTask.new
21
- desc "Generate documentation"
22
- task(:doc => :yard)
19
+ begin
20
+ require "yard"
21
+ rescue LoadError => e
22
+ else
23
+ YARD::Rake::YardocTask.new
24
+ desc "Generate documentation"
25
+ task(:doc => :yard)
26
+ end
data/lib/glut.rb CHANGED
@@ -41,12 +41,7 @@ module GLUT
41
41
 
42
42
  def glutInit
43
43
  argc = FFI::MemoryPointer.new(:int, 1).write_int(0)
44
- argv = FFI::MemoryPointer.new(:pointer, 1)
45
- if RUBY_ENGINE == 'rbx'
46
- argv.write_pointer(FFI::MemoryPointer::NULL)
47
- else
48
- argv.write_pointer(nil)
49
- end
44
+ argv = FFI::MemoryPointer.new(:pointer, 1).write_pointer(nil)
50
45
  raw_glutInit(argc, argv)
51
46
  end
52
47
 
@@ -4,16 +4,6 @@ require 'yaml'
4
4
  module OpenGL::Platform
5
5
  module Base
6
6
 
7
- def primitive_types
8
- @primitive_types ||= begin
9
- root = File.expand_path('../types', __FILE__)
10
- table = YAML.load(File.read(File.join(root, 'default.yml')))
11
- path = File.join(root, "#{FFI::Platform::OS}.yml")
12
- table.merge! YAML.load(File.read(path)) if File.exists? path
13
- table.freeze
14
- end
15
- end
16
-
17
7
  def calling_convention
18
8
  :default
19
9
  end
data/lib/opengl/type.rb CHANGED
@@ -1,22 +1,29 @@
1
1
  require 'ffi'
2
- require_relative 'platform'
2
+ require 'yaml'
3
3
 
4
4
  module OpenGL
5
5
 
6
6
  # OpenGL Type mapper
7
7
  module Type
8
+ # Root path of type definition files
9
+ ROOT = File.expand_path("../type", __FILE__)
8
10
 
9
- @primitive_types = Platform.current.primitive_types.dup
10
- #@regex_buffer_in_types = /\A(#{@primitive_types.keys.join('|')})_in\z/
11
- #@regex_buffer_out_types = /\A(#{@primitive_types.keys.join('|')})_out\z/
11
+ default_path = File.join(ROOT, "default.yml")
12
+ platform_path = File.join(ROOT, "#{FFI::Platform::NAME}.yml")
13
+ @primitive_types = YAML.load(File.read(default_path)).merge!(
14
+ YAML.load(File.read(platform_path))
15
+ )
12
16
 
13
17
  @type_map = Hash[
14
- @primitive_types.to_a +
15
- @primitive_types.keys.map {|t| [:"#{t}_in", :buffer_in] } +
16
- @primitive_types.keys.map {|t| [:"#{t}_out", :buffer_out] } +
17
- [ [:pointer_out, :buffer_out], [:pointer_in, :buffer_in] ] +
18
- [ [:GLchar_pointer_in, :buffer_in] ]
19
- ]
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] }
21
+ ].merge!({
22
+ :pointer_out => :buffer_out, :pointer_in => :buffer_in,
23
+ :void => :void, :string => :string, :pointer => :pointer,
24
+ :buffer_in => :buffer_in, :buffer_out => :buffer_out,
25
+ :GLchar_pointer_in => :buffer_in
26
+ })
20
27
 
21
28
  # Transform the OpenGL type to native type
22
29
  #
@@ -24,13 +31,7 @@ module OpenGL
24
31
  # @return [Symbol] native
25
32
  #
26
33
  def self.find(type)
27
- type = type.to_sym
28
- type = @type_map.fetch(type, type)
29
- if RUBY_ENGINE == "rbx" # work around for Rubinius
30
- [:buffer_in, :buffer_out].include?(type) ? :pointer : type
31
- else
32
- type
33
- end
34
+ return @type_map.fetch(type.to_sym)
34
35
  end
35
36
 
36
37
  # @private
@@ -25,3 +25,4 @@
25
25
 
26
26
  # GL_ARB_sync
27
27
  :GLsync: :pointer
28
+
@@ -0,0 +1,2 @@
1
+ :GLintptr: :long
2
+ :GLsizeiptr: :long
@@ -0,0 +1 @@
1
+ {}
@@ -0,0 +1,2 @@
1
+ :GLintptr: :long
2
+ :GLsizeiptr: :long
@@ -0,0 +1,2 @@
1
+ :GLintptr: :long_long
2
+ :GLsizeiptr: :long_long
@@ -1,3 +1,3 @@
1
1
  module OpenGL
2
- VERSION = "0.0.1.pre2"
2
+ VERSION = "0.0.1.pre3"
3
3
  end
data/opengl.gemspec CHANGED
@@ -20,5 +20,5 @@ Gem::Specification.new do |gem|
20
20
  gem.required_ruby_version = ">= 1.9"
21
21
  gem.add_dependency "ffi", ">= 1.2.0"
22
22
  gem.add_development_dependency "rake", "~> 10.0.0"
23
- gem.add_development_dependency "minitest", "~> 4.3.0"
23
+ gem.add_development_dependency "minitest", ">= 4.3.0"
24
24
  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.pre2
4
+ version: 0.0.1.pre3
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-08 00:00:00.000000000 Z
12
+ date: 2013-01-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -48,7 +48,7 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ~>
51
+ - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
53
  version: 4.3.0
54
54
  type: :development
@@ -56,7 +56,7 @@ dependencies:
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ~>
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: 4.3.0
62
62
  description: An OpenGL wrapper library for Ruby (OpenGL 2.1-4.2)
@@ -158,9 +158,6 @@ files:
158
158
  - lib/opengl/platform/base.rb
159
159
  - lib/opengl/platform/darwin.rb
160
160
  - lib/opengl/platform/linux.rb
161
- - lib/opengl/platform/types/darwin.yml
162
- - lib/opengl/platform/types/default.yml
163
- - lib/opengl/platform/types/linux.yml
164
161
  - lib/opengl/raw.rb
165
162
  - lib/opengl/raw/core/2_x/GL_VERSION_1_0.yml
166
163
  - lib/opengl/raw/core/2_x/GL_VERSION_1_1.yml
@@ -208,6 +205,12 @@ files:
208
205
  - lib/opengl/raw/core/4_2/GL_ARB_transform_feedback_instanced.yml
209
206
  - lib/opengl/raw/core/4_2/GL_VERSION_4_2.yml
210
207
  - lib/opengl/type.rb
208
+ - lib/opengl/type/default.yml
209
+ - lib/opengl/type/i386-linux.yml
210
+ - lib/opengl/type/i386-windows.yml
211
+ - lib/opengl/type/x86_64-darwin.yml
212
+ - lib/opengl/type/x86_64-linux.yml
213
+ - lib/opengl/type/x86_64-windows.yml
211
214
  - lib/opengl/version.rb
212
215
  - lib/opengl/wrapper.rb
213
216
  - lib/opengl/wrapper/base.rb
@@ -1,2 +0,0 @@
1
- :GLintptr: :__ssize_t
2
- :GLsizeiptr: :__ssize_t