rbglox 0.1.0 → 0.2.0
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 +15 -0
- data/README.md +55 -52
- data/lib/rbglox/texture.rb +1 -1
- data/lib/rbglox/version.rb +1 -1
- metadata +96 -91
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YjEzYjllYmJjYzI3OWIxMjQxYjllMjgzN2QwYzg1OTFiYzBhNTkyNw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MTlmZTIwZDJiZDIyMGU1NmE0ZGVlNTJhOTc2NWJjYTVjYjhlNjZlMQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MzdlMzY3M2RmMWZiMDRiM2ZkMTcxOTI1MTU3Mzg2ZWVmZjQ0NGFmMTBkMDE3
|
10
|
+
MjAwZDhkNDQyMjZlMGZkNGE2MWRiOGQ1Yjk3NTNkMWM0YWQ4MTI2MWQ4YzA4
|
11
|
+
ZTEyMWM0MzZlMzZkMjg4Y2I2ZThkZTk0NzZhZDliNWJjODQwYzc=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
M2JiNGMyNzU5YmY2N2NjNDQyMTNkMjk2MDRjZDgwYTliOTViYTU3ZmRkYzAy
|
14
|
+
YmYyZjhmMzkwNzVmNDM5MzAzYzVhNTY2YWVhMzIyYzVhOTU0OWU2MzFmYzkw
|
15
|
+
ZDMyZGM3MjlmY2MxMDM5YjUyY2Y5NTcwMDZmMTJmMDgyZmM4MDA=
|
data/README.md
CHANGED
@@ -25,59 +25,60 @@ Getting Started
|
|
25
25
|
|
26
26
|
Using rbGLox as a library is a very easy :)
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
28
|
+
```ruby
|
29
|
+
require 'rbglox'
|
30
|
+
class DemoApp < RBGLox::App
|
31
|
+
def init
|
32
|
+
@texture = RBGLox::Texture.new 'mosaic.tga'
|
33
|
+
@r = 0.0
|
34
|
+
@cube = RBGLox::MeshCube.new
|
35
|
+
end
|
36
|
+
def update
|
37
|
+
@r += 0.1
|
38
|
+
end
|
39
|
+
def draw
|
40
|
+
glTranslatef 0.0,0.0,-6.0
|
41
|
+
glRotatef @r, 1.0, 1.0, 1.0
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
43
|
+
@texture.bind
|
44
|
+
@cube.draw
|
45
|
+
@texture.release
|
46
|
+
end
|
47
|
+
def shutdown
|
48
|
+
@texture.free
|
49
|
+
@cube.free
|
50
|
+
end
|
51
|
+
end
|
52
|
+
```
|
53
53
|
|
54
54
|
Now let's fire this up :)
|
55
55
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
56
|
+
```ruby
|
57
|
+
DemoApp.new do |app|
|
58
|
+
app.title = 'DemoApp'
|
59
|
+
app.exec
|
60
|
+
end
|
61
|
+
```
|
62
62
|
|
63
63
|
Additional methods you can override:
|
64
64
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
65
|
+
```ruby
|
66
|
+
resize(h, w)
|
67
|
+
begin_frame
|
68
|
+
end_frame
|
69
|
+
reload(event)
|
70
|
+
```
|
71
71
|
|
72
72
|
#### Semi-automatic resource re-loading
|
73
73
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
74
|
+
```ruby
|
75
|
+
DemoApp.new do |app|
|
76
|
+
app.watch = 'data/'
|
77
|
+
app.title = 'DemoApp'
|
78
|
+
app.exec
|
79
|
+
end
|
80
|
+
```
|
81
|
+
|
81
82
|
If the `watch` variable is not `nil` then the given directory will be watched
|
82
83
|
for any changes. (i.e file modified, file created, etc)
|
83
84
|
|
@@ -87,23 +88,25 @@ reload your resources.
|
|
87
88
|
The included `RBGLox::Texture` and `RBGLox::Shader` classes have a `reload` method
|
88
89
|
which facilitates this as illustrated in the example below.
|
89
90
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
...
|
97
|
-
end
|
91
|
+
```ruby
|
92
|
+
...
|
93
|
+
def reload(event)
|
94
|
+
if event.type == :modified
|
95
|
+
texture1.reload if event.path =~ /myawesometexture.tga$/
|
96
|
+
shader.reload if event.path =~ /myshader.glsl$/
|
98
97
|
...
|
99
98
|
end
|
100
99
|
...
|
101
|
-
|
100
|
+
end
|
101
|
+
...
|
102
|
+
```
|
102
103
|
|
103
104
|
### Executable
|
104
105
|
|
105
106
|
It is also possible to use rbGLox as a cheap & rudimentary "GLSL" shader editor.
|
106
107
|
|
108
|
+

|
109
|
+
|
107
110
|
In order to create a new project do the following:
|
108
111
|
|
109
112
|
mkdir glsl-demo
|
data/lib/rbglox/texture.rb
CHANGED
@@ -35,7 +35,7 @@ class RBGLox::Texture < RBGLox::Resource
|
|
35
35
|
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR
|
36
36
|
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR
|
37
37
|
|
38
|
-
if mipmaps
|
38
|
+
if mipmaps
|
39
39
|
glTexParameteri GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST
|
40
40
|
glfwLoadTexture2D filename, GLFW_BUILD_MIPMAPS_BIT
|
41
41
|
else
|
data/lib/rbglox/version.rb
CHANGED
metadata
CHANGED
@@ -1,131 +1,136 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbglox
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 0
|
10
|
-
version: 0.1.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Mihail Szabolcs
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-11-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: ruby-opengl
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 237
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 60
|
33
|
-
- 1
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
34
19
|
version: 0.60.1
|
35
20
|
type: :runtime
|
36
|
-
|
37
|
-
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.60.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
38
28
|
name: ruby-glfw
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.9.1
|
34
|
+
type: :runtime
|
39
35
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 57
|
46
|
-
segments:
|
47
|
-
- 0
|
48
|
-
- 9
|
49
|
-
- 1
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
50
40
|
version: 0.9.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: glut
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 8.2.1
|
51
48
|
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: directory_watcher
|
55
49
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 8.2.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: glu
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 8.2.1
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 8.2.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: directory_watcher
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
66
75
|
version: 1.4.0
|
67
76
|
type: :runtime
|
68
|
-
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.4.0
|
69
83
|
description: rbGLox is a small wrapper over the ruby-opengl, ruby-glfw.
|
70
|
-
email:
|
84
|
+
email:
|
71
85
|
- szaby@szabster.net
|
72
|
-
executables:
|
86
|
+
executables:
|
73
87
|
- rbglox
|
74
88
|
extensions: []
|
75
|
-
|
76
|
-
extra_rdoc_files:
|
89
|
+
extra_rdoc_files:
|
77
90
|
- README.md
|
78
91
|
- LICENSE
|
79
|
-
files:
|
80
|
-
-
|
81
|
-
-
|
82
|
-
-
|
92
|
+
files:
|
93
|
+
- LICENSE
|
94
|
+
- README.md
|
95
|
+
- bin/rbglox
|
96
|
+
- lib/rbglox.rb
|
83
97
|
- lib/rbglox/app.rb
|
84
98
|
- lib/rbglox/mesh.rb
|
85
99
|
- lib/rbglox/meshcube.rb
|
86
100
|
- lib/rbglox/meshquad.rb
|
101
|
+
- lib/rbglox/resource.rb
|
87
102
|
- lib/rbglox/shader.rb
|
103
|
+
- lib/rbglox/texture.rb
|
88
104
|
- lib/rbglox/version.rb
|
89
|
-
- lib/rbglox.rb
|
105
|
+
- lib/rbglox/window.rb
|
90
106
|
- res/shader.glsl
|
91
107
|
- res/texture.tga
|
92
|
-
- README.md
|
93
|
-
- LICENSE
|
94
108
|
- test/test_rbglox.rb
|
95
|
-
- bin/rbglox
|
96
|
-
has_rdoc: true
|
97
109
|
homepage: http://github.com/icebreaker/rbglox
|
98
110
|
licenses: []
|
99
|
-
|
111
|
+
metadata: {}
|
100
112
|
post_install_message:
|
101
|
-
rdoc_options:
|
113
|
+
rdoc_options:
|
102
114
|
- --charset=UTF-8
|
103
|
-
require_paths:
|
115
|
+
require_paths:
|
104
116
|
- lib
|
105
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
none: false
|
116
|
-
requirements:
|
117
|
-
- - ">="
|
118
|
-
- !ruby/object:Gem::Version
|
119
|
-
hash: 3
|
120
|
-
segments:
|
121
|
-
- 0
|
122
|
-
version: "0"
|
117
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
123
127
|
requirements: []
|
124
|
-
|
125
128
|
rubyforge_project: rbglox
|
126
|
-
rubygems_version:
|
129
|
+
rubygems_version: 2.2.2
|
127
130
|
signing_key:
|
128
|
-
specification_version:
|
129
|
-
summary: rbGLox is a small wrapper over the ruby-opengl, ruby-glfw family by abstracting
|
130
|
-
|
131
|
+
specification_version: 4
|
132
|
+
summary: rbGLox is a small wrapper over the ruby-opengl, ruby-glfw family by abstracting
|
133
|
+
and providing some high-level interfaces for things like "Textures", "GLSL Shaders",
|
134
|
+
basic "Geometry" and others.
|
135
|
+
test_files:
|
131
136
|
- test/test_rbglox.rb
|