opengl-bindings2 2.0.0 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +48 -0
- data/LICENSE.txt +1 -1
- data/README.md +250 -91
- data/lib/glfw.rb +7 -2
- data/lib/glu.rb +1 -1
- data/lib/glut.rb +1 -1
- data/lib/opengl.rb +1 -1
- data/lib/opengl_common.rb +1 -1
- data/lib/opengl_es.rb +1 -1
- data/lib/opengl_es_ext.rb +1 -1
- data/lib/opengl_es_ext_command.rb +287 -23
- data/lib/opengl_es_ext_enum.rb +166 -9
- data/lib/opengl_ext.rb +1 -1
- data/lib/opengl_ext_command.rb +123 -75
- data/lib/opengl_ext_enum.rb +36 -9
- data/lib/opengl_linux.rb +1 -1
- data/lib/opengl_macosx.rb +1 -1
- data/lib/opengl_platform.rb +1 -1
- data/lib/opengl_windows.rb +1 -1
- data/sample/glfw_get.bat +3 -3
- data/sample/glfw_get.sh +3 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16be3a81c5fbf96a20cc33fcd549bbd48c68199abf9548cd9be79f4bf578a021
|
4
|
+
data.tar.gz: 3031242acfe6f9305f6bd136b759aec59b05e58eec5e3980645e4b288a64c43e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27541cbd15a3fcf5f2f4870e02a6428b8539194e8a8cc6016d13346c7d316b35f73bf5727a978d1368be3928301c89e219886039da44d0a56916a991f8892682
|
7
|
+
data.tar.gz: 66e60199e351756db7e10d00adbf71e35198df57776d8f4d9fc8ef2944c317a532f3102629f8ef32811511cd696d00871be5fd09143d9354b72c0bd5b36be3bf
|
data/ChangeLog
CHANGED
@@ -1,3 +1,51 @@
|
|
1
|
+
2024-01-05 vaiorabbit <http://twitter.com/vaiorabbit>
|
2
|
+
|
3
|
+
* Updated using latest gl.xml
|
4
|
+
|
5
|
+
2023-12-16 vaiorabbit <http://twitter.com/vaiorabbit>
|
6
|
+
|
7
|
+
* GLFW 3.3.9
|
8
|
+
|
9
|
+
2023-11-11 vaiorabbit <http://twitter.com/vaiorabbit>
|
10
|
+
|
11
|
+
* Updated using latest gl.xml
|
12
|
+
|
13
|
+
2022-12-10 vaiorabbit <http://twitter.com/vaiorabbit>
|
14
|
+
|
15
|
+
* Updated gl.xml.
|
16
|
+
|
17
|
+
2022-12-03 vaiorabbit <http://twitter.com/vaiorabbit>
|
18
|
+
|
19
|
+
* Updated gl.xml.
|
20
|
+
|
21
|
+
2022-10-16 vaiorabbit <http://twitter.com/vaiorabbit>
|
22
|
+
|
23
|
+
* Updated gl.xml.
|
24
|
+
|
25
|
+
2022-07-23 vaiorabbit <http://twitter.com/vaiorabbit>
|
26
|
+
|
27
|
+
* GLFW 3.3.7 -> 3.3.8
|
28
|
+
|
29
|
+
2022-07-18 vaiorabbit <http://twitter.com/vaiorabbit>
|
30
|
+
|
31
|
+
* Updated using latest gl.xml
|
32
|
+
|
33
|
+
2022-05-30 vaiorabbit <http://twitter.com/vaiorabbit>
|
34
|
+
|
35
|
+
* Updated using latest gl.xml
|
36
|
+
|
37
|
+
2022-04-10 vaiorabbit <http://twitter.com/vaiorabbit>
|
38
|
+
|
39
|
+
* Updated GLFW-related scripts
|
40
|
+
|
41
|
+
2022-03-27 vaiorabbit <http://twitter.com/vaiorabbit>
|
42
|
+
|
43
|
+
* Updated using latest gl.xml
|
44
|
+
|
45
|
+
2022-01-22 vaiorabbit <http://twitter.com/vaiorabbit>
|
46
|
+
|
47
|
+
* README.md: Added section "Attention : Version 2 is now available"
|
48
|
+
|
1
49
|
2022-01-09 vaiorabbit <http://twitter.com/vaiorabbit>
|
2
50
|
|
3
51
|
* Updated using latest gl.xml
|
data/LICENSE.txt
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
|
2
|
-
Copyright (c) 2013-
|
2
|
+
Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
|
3
3
|
|
4
4
|
This software is provided 'as-is', without any express or implied
|
5
5
|
warranty. In no event will the authors be held liable for any damages
|
data/README.md
CHANGED
@@ -5,15 +5,80 @@
|
|
5
5
|
...and wrapper code generator.
|
6
6
|
|
7
7
|
* Created : 2013-08-28
|
8
|
-
* Last modified :
|
9
|
-
|
10
|
-
[![Gem Version](https://badge.fury.io/rb/opengl-bindings.svg)](https://badge.fury.io/rb/opengl-bindings) [![Gem](https://img.shields.io/gem/dt/opengl-bindings.svg)](opengl-bindings)
|
8
|
+
* Last modified : 2024-01-05
|
11
9
|
|
12
10
|
<img src="https://raw.githubusercontent.com/vaiorabbit/ruby-opengl/master/doc/simple_rb.jpg" width="200"> <img src="https://raw.githubusercontent.com/vaiorabbit/ruby-opengl/master/doc/nehe_lesson36_rb.jpg" width="200"> <img src="https://raw.githubusercontent.com/vaiorabbit/ruby-opengl/master/doc/brick_rb.jpg" width="200"> <img src="https://raw.githubusercontent.com/vaiorabbit/ruby-opengl/master/doc/glxs_rb.jpg" width="200">
|
13
11
|
|
12
|
+
---
|
13
|
+
|
14
|
+
<details>
|
15
|
+
<summary>Attention : Version 2 is now available</summary>
|
16
|
+
|
17
|
+
## Attention : Version 2 is now available ##
|
18
|
+
|
19
|
+
Though I will continue making this [version 1.6 series of opengl-bindings](https://rubygems.org/gems/opengl-bindings) available, please consider migrating to [opengl-bindings2](https://rubygems.org/gems/opengl-bindings2).
|
20
|
+
|
21
|
+
### Redesigned API
|
22
|
+
|
23
|
+
In version 2, all OpenGL APIs are defined as public methods under `module GL`, so we don't have to `include OpenGL` and scatter OpenGL APIs under other modules any more:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
# opengl-bindings
|
27
|
+
require 'opengl'
|
28
|
+
include OpenGL
|
29
|
+
# ...
|
30
|
+
glEnable(GL_DEPTH_TEST)
|
31
|
+
```
|
32
|
+
↓
|
33
|
+
```ruby
|
34
|
+
# opengl-bindings2
|
35
|
+
require 'opengl'
|
36
|
+
# ...
|
37
|
+
GL.Enable(GL::DEPTH_TEST)
|
38
|
+
```
|
39
|
+
|
40
|
+
### Improved efficiency
|
41
|
+
|
42
|
+
All redundant `nil` checks done on every API calls are removed in version 2:
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
# opengl-bindings1
|
46
|
+
module OpenGL
|
47
|
+
#...
|
48
|
+
def self.get_command( sym )
|
49
|
+
if GL_FUNCTIONS_MAP[sym] == nil
|
50
|
+
bind_command( sym )
|
51
|
+
end
|
52
|
+
return GL_FUNCTIONS_MAP[sym]
|
53
|
+
end
|
54
|
+
|
55
|
+
#...
|
56
|
+
|
57
|
+
def glEnable(_cap_)
|
58
|
+
f = OpenGL::get_command(:glEnable) # Every API call caused redundant nil check here
|
59
|
+
f.call(_cap_)
|
60
|
+
end
|
61
|
+
```
|
62
|
+
↓
|
63
|
+
```ruby
|
64
|
+
# opengl-bindings2
|
65
|
+
module GL
|
66
|
+
#...
|
67
|
+
def self.Enable(_cap_)
|
68
|
+
GL_FUNCTIONS_MAP[:glEnable].call(_cap_) # Hashmap is built on initialization so there's no need to do nil check at every API call
|
69
|
+
end
|
70
|
+
```
|
71
|
+
|
72
|
+
</details>
|
73
|
+
|
74
|
+
---
|
75
|
+
|
14
76
|
|
15
77
|
## Features ##
|
16
78
|
|
79
|
+
* Version 2 [![Gem Version](https://badge.fury.io/rb/opengl-bindings2.svg)](https://badge.fury.io/rb/opengl-bindings2) [![Gem](https://img.shields.io/gem/dt/opengl-bindings2.svg)](opengl-bindings2)
|
80
|
+
* Version 1 [![Gem Version](https://badge.fury.io/rb/opengl-bindings.svg)](https://badge.fury.io/rb/opengl-bindings) [![Gem](https://img.shields.io/gem/dt/opengl-bindings.svg)](opengl-bindings)
|
81
|
+
|
17
82
|
* Uses Fiddle (One of the Ruby standard libraries that wraps libffi)
|
18
83
|
* Unlike opengl ( https://rubygems.org/gems/opengl ), you don't need to build C extension library
|
19
84
|
|
@@ -24,9 +89,9 @@
|
|
24
89
|
|
25
90
|
## How to install ##
|
26
91
|
|
27
|
-
Via RubyGems ( https://rubygems.org/gems/opengl-
|
92
|
+
Via RubyGems ( https://rubygems.org/gems/opengl-bindings2 ):
|
28
93
|
|
29
|
-
$ gem install opengl-
|
94
|
+
$ gem install opengl-bindings2
|
30
95
|
|
31
96
|
Or grab all library codes (`lib/*.rb') and use them by adding as one of the load paths like:
|
32
97
|
|
@@ -108,6 +173,47 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
|
|
108
173
|
## Tested Environment ##
|
109
174
|
|
110
175
|
* Ruby
|
176
|
+
* ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
|
177
|
+
|
178
|
+
* Windows 10 Home, 64-bit (Version 1909, OS Build 18363.778)
|
179
|
+
* NVIDIA GeForce RTX 2060 SUPER
|
180
|
+
* OpenGL 4.5
|
181
|
+
|
182
|
+
> ruby report_env.rb
|
183
|
+
Version : 4.5.0 NVIDIA 436.30
|
184
|
+
Vendor : NVIDIA Corporation
|
185
|
+
Renderer : GeForce RTX 2060 SUPER/PCIe/SSE2
|
186
|
+
Shader : 4.50 NVIDIA
|
187
|
+
|
188
|
+
* macOS 12.5.1, 64-bit
|
189
|
+
* Mac mini (M1 2020)
|
190
|
+
* OpenGL 4.1
|
191
|
+
|
192
|
+
$ ruby report_env.rb
|
193
|
+
Version : 4.1 Metal - 76.3
|
194
|
+
Vendor : Apple
|
195
|
+
Renderer : Apple M1
|
196
|
+
Shader : 4.10
|
197
|
+
|
198
|
+
* Arch Linux kernel 4.1.2-2-ARCH, Nvidia Driver, x86_64
|
199
|
+
* NVIDIA GeForce GTS 450
|
200
|
+
* OpenGL 4.5.0
|
201
|
+
|
202
|
+
$ ruby report_env.rb
|
203
|
+
Version: 4.5.0 NVIDIA 352.21
|
204
|
+
|
205
|
+
* Arch Linux kernel 4.1.4-1-ARCH, Nouveau Driver, x86_64
|
206
|
+
* NVIDIA GeForce GTS 450
|
207
|
+
* OpenGL 3.0
|
208
|
+
|
209
|
+
$ ruby report_env.rb
|
210
|
+
Version: 3.0 Mesa 10.6.3
|
211
|
+
|
212
|
+
<details>
|
213
|
+
<summary>Older versions</summary>
|
214
|
+
|
215
|
+
* Ruby
|
216
|
+
* ruby 3.2.0 (2022-12-25 revision a528908271) [arm64-darwin21]
|
111
217
|
* ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin20]
|
112
218
|
* ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x64-mingw32]
|
113
219
|
* ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [arm64-darwin20]
|
@@ -138,16 +244,6 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
|
|
138
244
|
* ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0]
|
139
245
|
* ruby 2.0.0p247 (2013-06-27) [i386-mingw32]
|
140
246
|
|
141
|
-
* Windows 10 Home, 64-bit (Version 1909, OS Build 18363.778)
|
142
|
-
* NVIDIA GeForce RTX 2060 SUPER
|
143
|
-
* OpenGL 4.5
|
144
|
-
|
145
|
-
> ruby report_env.rb
|
146
|
-
Version : 4.5.0 NVIDIA 436.30
|
147
|
-
Vendor : NVIDIA Corporation
|
148
|
-
Renderer : GeForce RTX 2060 SUPER/PCIe/SSE2
|
149
|
-
Shader : 4.50 NVIDIA
|
150
|
-
|
151
247
|
* Windows 10 Home, 64-bit (Version 1511, OS Build 10586.164)
|
152
248
|
* NVIDIA GeForce GTX 960
|
153
249
|
* OpenGL 4.5
|
@@ -193,35 +289,7 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
|
|
193
289
|
Renderer : Intel Iris OpenGL Engine
|
194
290
|
Shader : 4.10
|
195
291
|
|
196
|
-
|
197
|
-
* Mac mini (M1 2020)
|
198
|
-
* OpenGL 4.1
|
199
|
-
|
200
|
-
$ ruby report_env.rb
|
201
|
-
Version : 4.1 Metal - 76.3
|
202
|
-
Vendor : Apple
|
203
|
-
Renderer : Apple M1
|
204
|
-
Shader : 4.10
|
205
|
-
|
206
|
-
* Arch Linux kernel 4.1.2-2-ARCH, Nvidia Driver, x86_64
|
207
|
-
* NVIDIA GeForce GTS 450
|
208
|
-
* OpenGL 4.5.0
|
209
|
-
|
210
|
-
$ ruby report_env.rb
|
211
|
-
Version: 4.5.0 NVIDIA 352.21
|
212
|
-
|
213
|
-
* Arch Linux kernel 4.1.4-1-ARCH, Nouveau Driver, x86_64
|
214
|
-
* NVIDIA GeForce GTS 450
|
215
|
-
* OpenGL 3.0
|
216
|
-
|
217
|
-
$ ruby report_env.rb
|
218
|
-
Version: 3.0 Mesa 10.6.3
|
219
|
-
|
220
|
-
* You can use any lib/path names by passing as arguments like:
|
221
|
-
* OpenGL.load_lib( 'libGL.so', '/usr/lib' )
|
222
|
-
* GLFW.load_lib( 'libglfw.so', '/usr/lib' )
|
223
|
-
* GLU.load_lib( 'libGLU.so', '/usr/lib' )
|
224
|
-
* GLUT.load_lib( 'libglut.so', '/usr/lib' )
|
292
|
+
</details>
|
225
293
|
|
226
294
|
## Note ##
|
227
295
|
|
@@ -255,13 +323,22 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
|
|
255
323
|
* mittsu - A direct port of THREE.js from JavaScript/WebGL to Ruby/OpenGL
|
256
324
|
* https://rubygems.org/gems/mittsu
|
257
325
|
* https://github.com/jellymann/mittsu
|
326
|
+
* open.gl.rb - A port of the https://open.gl/ tutorials to Ruby
|
327
|
+
* https://github.com/mechazoidal/opendotgl_rb
|
258
328
|
* opencl-bindings - A Ruby binding for OpenCL 1.2
|
259
329
|
* https://rubygems.org/gems/opencl-bindings
|
260
330
|
* https://github.com/vaiorabbit/ruby-opencl
|
261
331
|
* perfume_dance - A BVH motion parser and playback implementation written in Ruby
|
262
332
|
* https://github.com/vaiorabbit/perfume_dance
|
263
|
-
*
|
264
|
-
* https://
|
333
|
+
* imgui-bindings - ImGui wrapper for Ruby
|
334
|
+
* https://rubygems.org/gems/imgui-bindings
|
335
|
+
* https://github.com/vaiorabbit/ruby-imgui
|
336
|
+
* nanovg-bindings - NanoVG wrapper for Ruby
|
337
|
+
* https://rubygems.org/gems/nanovg-bindings
|
338
|
+
* https://github.com/vaiorabbit/nanovg-bindings
|
339
|
+
* raylib-bindings - Yet another raylib wrapper for Ruby
|
340
|
+
* https://rubygems.org/gems/raylib-bindings
|
341
|
+
* https://github.com/vaiorabbit/raylib-bindings
|
265
342
|
|
266
343
|
* Other informative projects
|
267
344
|
* argon | neon
|
@@ -273,7 +350,7 @@ Use GLFW or GLUT for creating windows and OpenGL rendering contexts.
|
|
273
350
|
|
274
351
|
The zlib/libpng License ( http://opensource.org/licenses/Zlib ).
|
275
352
|
|
276
|
-
Copyright (c) 2013-
|
353
|
+
Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
|
277
354
|
|
278
355
|
This software is provided 'as-is', without any express or implied
|
279
356
|
warranty. In no event will the authors be held liable for any damages
|
@@ -303,6 +380,70 @@ See sample/OrangeBook/3Dlabs-License.txt .
|
|
303
380
|
|
304
381
|
# Ruby 用 OpenGL ラッパー (とその自動生成スクリプト) #
|
305
382
|
|
383
|
+
---
|
384
|
+
|
385
|
+
<details>
|
386
|
+
<summary>Version 2 が利用可能です</summary>
|
387
|
+
|
388
|
+
## Version 2 が利用可能です ##
|
389
|
+
|
390
|
+
[Version 1.6 系の opengl-bindings](https://rubygems.org/gems/opengl-bindings) も引き続き利用できるようにしますが、[opengl-bindings2](https://rubygems.org/gems/opengl-bindings2) への移行を検討してください。
|
391
|
+
|
392
|
+
### API の修正
|
393
|
+
|
394
|
+
Version 2 では OpenGL API が `module GL` の public メソッドとして定義され、`include OpenGL` を実行する必要がなくなりました。
|
395
|
+
|
396
|
+
```ruby
|
397
|
+
# opengl-bindings
|
398
|
+
require 'opengl'
|
399
|
+
include OpenGL
|
400
|
+
# ...
|
401
|
+
glEnable(GL_DEPTH_TEST)
|
402
|
+
```
|
403
|
+
↓
|
404
|
+
```ruby
|
405
|
+
# opengl-bindings2
|
406
|
+
require 'opengl'
|
407
|
+
# ...
|
408
|
+
GL.Enable(GL::DEPTH_TEST)
|
409
|
+
```
|
410
|
+
|
411
|
+
### 効率の改善
|
412
|
+
|
413
|
+
API を呼ぶたびに走っていた無駄な `nil` のチェックが Version 2 では削除されています。
|
414
|
+
|
415
|
+
```ruby
|
416
|
+
# opengl-bindings1
|
417
|
+
module OpenGL
|
418
|
+
#...
|
419
|
+
def self.get_command( sym )
|
420
|
+
if GL_FUNCTIONS_MAP[sym] == nil
|
421
|
+
bind_command( sym )
|
422
|
+
end
|
423
|
+
return GL_FUNCTIONS_MAP[sym]
|
424
|
+
end
|
425
|
+
|
426
|
+
#...
|
427
|
+
|
428
|
+
def glEnable(_cap_)
|
429
|
+
f = OpenGL::get_command(:glEnable) # Every API call caused redundant nil check here
|
430
|
+
f.call(_cap_)
|
431
|
+
end
|
432
|
+
```
|
433
|
+
↓
|
434
|
+
```ruby
|
435
|
+
# opengl-bindings2
|
436
|
+
module GL
|
437
|
+
#...
|
438
|
+
def self.Enable(_cap_)
|
439
|
+
GL_FUNCTIONS_MAP[:glEnable].call(_cap_) # Hashmap is built on initialization so there's no need to do nil check at every API call
|
440
|
+
end
|
441
|
+
```
|
442
|
+
|
443
|
+
</details>
|
444
|
+
|
445
|
+
---
|
446
|
+
|
306
447
|
## 特徴 ##
|
307
448
|
|
308
449
|
* 標準ライブラリ Fiddle を使っています ⇒ opengl ( https://rubygems.org/gems/opengl ) のように拡張ライブラリをビルドする必要がありません
|
@@ -311,9 +452,9 @@ See sample/OrangeBook/3Dlabs-License.txt .
|
|
311
452
|
|
312
453
|
## インストール ##
|
313
454
|
|
314
|
-
RubyGems経由で ( https://rubygems.org/gems/opengl-
|
455
|
+
RubyGems経由で ( https://rubygems.org/gems/opengl-bindings2 ):
|
315
456
|
|
316
|
-
$ gem install opengl-
|
457
|
+
$ gem install opengl-bindings2
|
317
458
|
|
318
459
|
もしくは lib 以下の *.rb をコピー → その場所をロードパスに加えて次のように起動:
|
319
460
|
|
@@ -396,6 +537,47 @@ GLFW か GLUT を用意してください。ウィンドウやレンダリング
|
|
396
537
|
## テストした環境 ##
|
397
538
|
|
398
539
|
* Ruby
|
540
|
+
* ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]
|
541
|
+
|
542
|
+
* Windows 10 Home, 64-bit (Version 1909, OS Build 18363.778)
|
543
|
+
* NVIDIA GeForce RTX 2060 SUPER
|
544
|
+
* OpenGL 4.5
|
545
|
+
|
546
|
+
> ruby report_env.rb
|
547
|
+
Version : 4.5.0 NVIDIA 436.30
|
548
|
+
Vendor : NVIDIA Corporation
|
549
|
+
Renderer : GeForce RTX 2060 SUPER/PCIe/SSE2
|
550
|
+
Shader : 4.50 NVIDIA
|
551
|
+
|
552
|
+
* macOS 12.5.1, 64-bit
|
553
|
+
* Mac mini (M1 2020)
|
554
|
+
* OpenGL 4.1
|
555
|
+
|
556
|
+
$ ruby report_env.rb
|
557
|
+
Version : 4.1 Metal - 76.3
|
558
|
+
Vendor : Apple
|
559
|
+
Renderer : Apple M1
|
560
|
+
Shader : 4.10
|
561
|
+
|
562
|
+
* Arch Linux kernel 4.1.2-2-ARCH, Nvidia Driver, x86_64
|
563
|
+
* NVIDIA GeForce GTS 450
|
564
|
+
* OpenGL 4.5.0
|
565
|
+
|
566
|
+
$ ruby report_env.rb
|
567
|
+
Version: 4.5.0 NVIDIA 352.21
|
568
|
+
|
569
|
+
* Arch Linux kernel 4.1.4-1-ARCH, Nouveau Driver, x86_64
|
570
|
+
* NVIDIA GeForce GTS 450
|
571
|
+
* OpenGL 3.0
|
572
|
+
|
573
|
+
$ ruby report_env.rb
|
574
|
+
Version: 3.0 Mesa 10.6.3
|
575
|
+
|
576
|
+
<details>
|
577
|
+
<summary>以前のバージョン</summary>
|
578
|
+
|
579
|
+
* Ruby
|
580
|
+
* ruby 3.2.0 (2022-12-25 revision a528908271) [arm64-darwin21]
|
399
581
|
* ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin20]
|
400
582
|
* ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x64-mingw32]
|
401
583
|
* ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [arm64-darwin20]
|
@@ -426,16 +608,6 @@ GLFW か GLUT を用意してください。ウィンドウやレンダリング
|
|
426
608
|
* ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0]
|
427
609
|
* ruby 2.0.0p247 (2013-06-27) [i386-mingw32]
|
428
610
|
|
429
|
-
* Windows 10 Home, 64-bit (Version 1909, OS Build 18363.778)
|
430
|
-
* NVIDIA GeForce RTX 2060 SUPER
|
431
|
-
* OpenGL 4.5
|
432
|
-
|
433
|
-
> ruby report_env.rb
|
434
|
-
Version : 4.5.0 NVIDIA 436.30
|
435
|
-
Vendor : NVIDIA Corporation
|
436
|
-
Renderer : GeForce RTX 2060 SUPER/PCIe/SSE2
|
437
|
-
Shader : 4.50 NVIDIA
|
438
|
-
|
439
611
|
* Windows 10 Home, 64-bit (Version 1511, OS Build 10586.164)
|
440
612
|
* NVIDIA GeForce GTX 960
|
441
613
|
* OpenGL 4.5
|
@@ -450,6 +622,13 @@ GLFW か GLUT を用意してください。ウィンドウやレンダリング
|
|
450
622
|
> ruby report_env.rb
|
451
623
|
4.3.0
|
452
624
|
|
625
|
+
* Windows 7 Home Premium, 64-bit (Service Pack 1)
|
626
|
+
* NVIDIA GeForce GTX 560
|
627
|
+
* OpenGL 4.3
|
628
|
+
|
629
|
+
> ruby report_env.rb
|
630
|
+
4.3.0
|
631
|
+
|
453
632
|
* Mac OS X 10.8.4, 64-bit
|
454
633
|
* NVIDIA GeForce 320M on Mac mini (Mid 2010)
|
455
634
|
* OpenGL 2.1
|
@@ -474,36 +653,7 @@ GLFW か GLUT を用意してください。ウィンドウやレンダリング
|
|
474
653
|
Renderer : Intel Iris OpenGL Engine
|
475
654
|
Shader : 4.10
|
476
655
|
|
477
|
-
|
478
|
-
* Mac mini (M1 2020)
|
479
|
-
* OpenGL 4.1
|
480
|
-
|
481
|
-
$ ruby report_env.rb
|
482
|
-
Version : 4.1 Metal - 76.3
|
483
|
-
Vendor : Apple
|
484
|
-
Renderer : Apple M1
|
485
|
-
Shader : 4.10
|
486
|
-
|
487
|
-
* Arch Linux kernel 4.1.2-2-ARCH, Nvidia Driver, x86_64
|
488
|
-
* NVIDIA GeForce GTS 450
|
489
|
-
* OpenGL 4.5.0
|
490
|
-
|
491
|
-
$ ruby report_env.rb
|
492
|
-
Version: 4.5.0 NVIDIA 352.21
|
493
|
-
|
494
|
-
* Arch Linux kernel 4.1.4-1-ARCH, Nouveau Driver, x86_64
|
495
|
-
* NVIDIA GeForce GTS 450
|
496
|
-
* OpenGL 3.0
|
497
|
-
|
498
|
-
$ ruby report_env.rb
|
499
|
-
Version: 3.0 Mesa 10.6.3
|
500
|
-
|
501
|
-
* 引数として渡すことで任意のライブラリ名/パス名を利用できます:
|
502
|
-
* OpenGL.load_lib( 'libGL.so', '/usr/lib' )
|
503
|
-
* GLFW.load_lib( 'libglfw.so', '/usr/lib' )
|
504
|
-
* GLU.load_lib( 'libGLU.so', '/usr/lib' )
|
505
|
-
* GLUT.load_lib( 'libglut.so', '/usr/lib' )
|
506
|
-
|
656
|
+
</details>
|
507
657
|
|
508
658
|
## メモ ##
|
509
659
|
|
@@ -537,13 +687,22 @@ GLFW か GLUT を用意してください。ウィンドウやレンダリング
|
|
537
687
|
* mittsu - A direct port of THREE.js from JavaScript/WebGL to Ruby/OpenGL
|
538
688
|
* https://rubygems.org/gems/mittsu
|
539
689
|
* https://github.com/jellymann/mittsu
|
690
|
+
* open.gl.rb - A port of the https://open.gl/ tutorials to Ruby
|
691
|
+
* https://github.com/mechazoidal/opendotgl_rb
|
540
692
|
* opencl-bindings - A Ruby binding for OpenCL 1.2
|
541
693
|
* https://rubygems.org/gems/opencl-bindings
|
542
694
|
* https://github.com/vaiorabbit/ruby-opencl
|
543
695
|
* perfume_dance - A BVH motion parser and playback implementation written in Ruby
|
544
696
|
* https://github.com/vaiorabbit/perfume_dance
|
545
|
-
*
|
546
|
-
* https://
|
697
|
+
* imgui-bindings - ImGui wrapper for Ruby
|
698
|
+
* https://rubygems.org/gems/imgui-bindings
|
699
|
+
* https://github.com/vaiorabbit/ruby-imgui
|
700
|
+
* nanovg-bindings - NanoVG wrapper for Ruby
|
701
|
+
* https://rubygems.org/gems/nanovg-bindings
|
702
|
+
* https://github.com/vaiorabbit/nanovg-bindings
|
703
|
+
* raylib-bindings - Yet another raylib wrapper for Ruby
|
704
|
+
* https://rubygems.org/gems/raylib-bindings
|
705
|
+
* https://github.com/vaiorabbit/raylib-bindings
|
547
706
|
|
548
707
|
* 参考になりそうなプロジェクト
|
549
708
|
* argon | neon
|
data/lib/glfw.rb
CHANGED
@@ -309,6 +309,9 @@ module GLFW
|
|
309
309
|
GLFW_EGL_CONTEXT_API = 0x00036002 # Available since GLFW 3.2
|
310
310
|
GLFW_OSMESA_CONTEXT_API = 0x00036003 # Available since GLFW 3.3
|
311
311
|
|
312
|
+
GLFW_WAYLAND_PREFER_LIBDECOR = 0x00038001 # Available since GLFW 3.3.9
|
313
|
+
GLFW_WAYLAND_DISABLE_LIBDECOR = 0x00038002 # Available since GLFW 3.3.9
|
314
|
+
|
312
315
|
GLFW_ARROW_CURSOR = 0x00036001
|
313
316
|
GLFW_IBEAM_CURSOR = 0x00036002
|
314
317
|
GLFW_CROSSHAIR_CURSOR = 0x00036003
|
@@ -324,6 +327,8 @@ module GLFW
|
|
324
327
|
GLFW_COCOA_CHDIR_RESOURCES = 0x00051001 # Available since GLFW 3.3
|
325
328
|
GLFW_COCOA_MENUBAR = 0x00051002 # Available since GLFW 3.3
|
326
329
|
|
330
|
+
GLFW_WAYLAND_LIBDECOR = 0x00053001 # Available since GLFW 3.3.9
|
331
|
+
|
327
332
|
GLFW_DONT_CARE = -1
|
328
333
|
|
329
334
|
# typedefs
|
@@ -469,7 +474,7 @@ module GLFW
|
|
469
474
|
when :OPENGL_PLATFORM_MACOSX
|
470
475
|
'libglfw.dylib'
|
471
476
|
else
|
472
|
-
'libglfw.so'
|
477
|
+
'libglfw.so.3'
|
473
478
|
end
|
474
479
|
end
|
475
480
|
|
@@ -675,7 +680,7 @@ end
|
|
675
680
|
|
676
681
|
=begin
|
677
682
|
Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
|
678
|
-
Copyright (c) 2013-
|
683
|
+
Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
|
679
684
|
|
680
685
|
This software is provided 'as-is', without any express or implied
|
681
686
|
warranty. In no event will the authors be held liable for any damages
|
data/lib/glu.rb
CHANGED
@@ -343,7 +343,7 @@ end
|
|
343
343
|
|
344
344
|
=begin
|
345
345
|
Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
|
346
|
-
Copyright (c) 2013-
|
346
|
+
Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
|
347
347
|
|
348
348
|
This software is provided 'as-is', without any express or implied
|
349
349
|
warranty. In no event will the authors be held liable for any damages
|
data/lib/glut.rb
CHANGED
@@ -552,7 +552,7 @@ end
|
|
552
552
|
|
553
553
|
=begin
|
554
554
|
Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
|
555
|
-
Copyright (c) 2013-
|
555
|
+
Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
|
556
556
|
|
557
557
|
This software is provided 'as-is', without any express or implied
|
558
558
|
warranty. In no event will the authors be held liable for any damages
|
data/lib/opengl.rb
CHANGED
@@ -13,7 +13,7 @@ end
|
|
13
13
|
|
14
14
|
=begin
|
15
15
|
Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
|
16
|
-
Copyright (c) 2013-
|
16
|
+
Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
|
17
17
|
|
18
18
|
This software is provided 'as-is', without any express or implied
|
19
19
|
warranty. In no event will the authors be held liable for any damages
|
data/lib/opengl_common.rb
CHANGED
data/lib/opengl_es.rb
CHANGED
@@ -8,7 +8,7 @@ end
|
|
8
8
|
|
9
9
|
=begin
|
10
10
|
Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
|
11
|
-
Copyright (c) 2013-
|
11
|
+
Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
|
12
12
|
|
13
13
|
This software is provided 'as-is', without any express or implied
|
14
14
|
warranty. In no event will the authors be held liable for any damages
|
data/lib/opengl_es_ext.rb
CHANGED
@@ -5,7 +5,7 @@ require_relative 'opengl_es_ext_command'
|
|
5
5
|
|
6
6
|
=begin
|
7
7
|
Ruby-OpenGL : Yet another OpenGL wrapper for Ruby (and wrapper code generator)
|
8
|
-
Copyright (c) 2013-
|
8
|
+
Copyright (c) 2013-2024 vaiorabbit <http://twitter.com/vaiorabbit>
|
9
9
|
|
10
10
|
This software is provided 'as-is', without any express or implied
|
11
11
|
warranty. In no event will the authors be held liable for any damages
|