opengl-bindings2 2.0.0 → 2.0.2
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.
- 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
|
-
[](https://badge.fury.io/rb/opengl-bindings) [](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 [](https://badge.fury.io/rb/opengl-bindings2) [](opengl-bindings2)
|
80
|
+
* Version 1 [](https://badge.fury.io/rb/opengl-bindings) [](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
|