ashton 0.0.1alpha → 0.0.2alpha
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/LICENSE +21 -21
- data/README.md +95 -68
- data/Rakefile +41 -23
- data/examples/bloom_example.rb +59 -0
- data/examples/lighting_example.rb +127 -0
- data/examples/media/SmallStar.png +0 -0
- data/examples/media/Starfighter.png +0 -0
- data/examples/media/simple.png +0 -0
- data/examples/noise_example.rb +94 -0
- data/examples/outline_example.rb +86 -0
- data/examples/particle_emitter_example.rb +114 -0
- data/examples/pixelate_example.rb +51 -49
- data/examples/pixelated_texture_example.rb +69 -0
- data/examples/radial_blur_example.rb +60 -62
- data/examples/shader_image_example.rb +74 -41
- data/examples/{shockwave2_example.rb → shockwave_example.rb} +74 -75
- data/examples/stencil_shader_example.rb +104 -0
- data/examples/{framebuffer_example.rb → texture_render_example.rb} +53 -49
- data/examples/{tv_screen_and_noise_example.rb → tv_screen_and_static_example.rb} +59 -59
- data/ext/ashton/GLee.c +18170 -0
- data/ext/ashton/GLee.h +17647 -0
- data/ext/ashton/ashton.c +42 -0
- data/ext/ashton/ashton.h +31 -0
- data/ext/ashton/color.c +45 -0
- data/ext/ashton/color.h +25 -0
- data/ext/ashton/common.h +41 -0
- data/ext/ashton/extconf.rb +42 -0
- data/ext/ashton/fast_math.c +30 -0
- data/ext/ashton/fast_math.h +30 -0
- data/ext/ashton/font.c +8 -0
- data/ext/ashton/font.h +16 -0
- data/ext/ashton/gosu.c +18 -0
- data/ext/ashton/gosu.h +19 -0
- data/ext/ashton/image.c +8 -0
- data/ext/ashton/image.h +16 -0
- data/ext/ashton/particle_emitter.c +788 -0
- data/ext/ashton/particle_emitter.h +171 -0
- data/ext/ashton/pixel_cache.c +237 -0
- data/ext/ashton/pixel_cache.h +58 -0
- data/ext/ashton/shader.c +9 -0
- data/ext/ashton/shader.h +16 -0
- data/ext/ashton/texture.c +442 -0
- data/ext/ashton/texture.h +63 -0
- data/ext/ashton/window.c +8 -0
- data/ext/ashton/window.h +16 -0
- data/lib/ashton.rb +38 -26
- data/lib/ashton/1.9/ashton.so +0 -0
- data/lib/ashton/gosu_ext/color.rb +24 -11
- data/lib/ashton/gosu_ext/font.rb +58 -0
- data/lib/ashton/gosu_ext/gosu_module.rb +16 -0
- data/lib/ashton/gosu_ext/image.rb +95 -31
- data/lib/ashton/gosu_ext/window.rb +78 -35
- data/lib/ashton/image_stub.rb +32 -36
- data/lib/ashton/lighting/light_source.rb +146 -0
- data/lib/ashton/lighting/manager.rb +98 -0
- data/lib/ashton/mixins/version_checking.rb +23 -0
- data/lib/ashton/particle_emitter.rb +87 -0
- data/lib/ashton/pixel_cache.rb +24 -0
- data/lib/ashton/shader.rb +353 -35
- data/lib/ashton/shaders/bloom.frag +41 -0
- data/lib/ashton/shaders/color_inversion.frag +11 -0
- data/lib/ashton/{post_process → shaders}/contrast.frag +16 -16
- data/lib/ashton/{shader → shaders}/default.frag +22 -19
- data/lib/ashton/{shader → shaders}/default.vert +13 -13
- data/lib/ashton/shaders/fade.frag +14 -0
- data/lib/ashton/shaders/grayscale.frag +15 -0
- data/lib/ashton/shaders/include/classicnoise2d.glsl +113 -0
- data/lib/ashton/shaders/include/classicnoise3d.glsl +177 -0
- data/lib/ashton/shaders/include/classicnoise4d.glsl +302 -0
- data/lib/ashton/{include/simplex.glsl → shaders/include/noise2d.glsl} +70 -63
- data/lib/ashton/shaders/include/noise3d.glsl +102 -0
- data/lib/ashton/shaders/include/noise4d.glsl +128 -0
- data/lib/ashton/shaders/include/rand.glsl +5 -0
- data/lib/ashton/shaders/lighting/distort.frag +57 -0
- data/lib/ashton/shaders/lighting/draw_shadows.frag +60 -0
- data/lib/ashton/shaders/lighting/shadow_blur.frag +60 -0
- data/lib/ashton/shaders/mezzotint.frag +22 -0
- data/lib/ashton/shaders/multitexture2.vert +19 -0
- data/lib/ashton/shaders/outline.frag +45 -0
- data/lib/ashton/{post_process → shaders}/pixelate.frag +48 -48
- data/lib/ashton/shaders/radial_blur.frag +63 -0
- data/lib/ashton/shaders/sepia.frag +26 -0
- data/lib/ashton/{post_process/shockwave2.frag → shaders/shockwave.frag} +38 -35
- data/lib/ashton/shaders/signed_distance_field.frag +80 -0
- data/lib/ashton/{post_process/noise.frag → shaders/static.frag} +25 -27
- data/lib/ashton/shaders/stencil.frag +27 -0
- data/lib/ashton/shaders/tv_screen.frag +23 -0
- data/lib/ashton/signed_distance_field.rb +151 -0
- data/lib/ashton/texture.rb +186 -0
- data/lib/ashton/version.rb +2 -2
- data/lib/ashton/window_buffer.rb +16 -0
- data/spec/ashton/ashton_spec.rb +22 -0
- data/spec/ashton/gosu_ext/color_spec.rb +34 -0
- data/spec/ashton/gosu_ext/font_spec.rb +57 -0
- data/spec/ashton/gosu_ext/gosu_spec.rb +11 -0
- data/spec/ashton/gosu_ext/image_spec.rb +66 -0
- data/spec/ashton/gosu_ext/window_spec.rb +71 -0
- data/spec/ashton/image_stub_spec.rb +46 -0
- data/spec/ashton/particle_emitter_spec.rb +123 -0
- data/spec/ashton/pixel_cache_spec.rb +153 -0
- data/spec/ashton/shader_spec.rb +152 -0
- data/spec/ashton/signed_distance_field_spec.rb +163 -0
- data/spec/ashton/texture_spec.rb +347 -0
- data/spec/helper.rb +12 -0
- metadata +159 -28
- data/examples/output/README.txt +0 -1
- data/lib/ashton/base_shader.rb +0 -172
- data/lib/ashton/framebuffer.rb +0 -183
- data/lib/ashton/post_process.rb +0 -83
- data/lib/ashton/post_process/default.vert +0 -9
- data/lib/ashton/post_process/fade.frag +0 -11
- data/lib/ashton/post_process/mezzotint.frag +0 -24
- data/lib/ashton/post_process/radial_blur.frag +0 -31
- data/lib/ashton/post_process/sepia.frag +0 -19
- data/lib/ashton/post_process/shockwave.frag +0 -40
- data/lib/ashton/post_process/tv_screen.frag +0 -32
@@ -0,0 +1,347 @@
|
|
1
|
+
require_relative "../helper.rb"
|
2
|
+
|
3
|
+
describe Ashton::Texture do
|
4
|
+
before :each do
|
5
|
+
$window = Gosu::Window.new 16, 16, false # Horrible, but otherwise we can't flush out "wrong" params properly.
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:testcard_image) { Gosu::Image.new $window, media_path("simple.png") }
|
9
|
+
let(:subject) { described_class.new testcard_image }
|
10
|
+
|
11
|
+
describe "initialize" do
|
12
|
+
it "should fail with too few arguments" do
|
13
|
+
->{ described_class.new }.should raise_error ArgumentError, /Expected 1, 2 or 3 parameters./
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should fail with too many arguments" do
|
17
|
+
->{ described_class.new 1, 2, 3, 4 }.should raise_error ArgumentError, /Expected 1, 2 or 3 parameters./
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should fail if the texture size is too large" do
|
21
|
+
->{ described_class.new 100000, 100000 }.should raise_error ArgumentError, /Unable to create a texture of size 100000x100000/
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "creating blank image (1 parameter)" do
|
25
|
+
let(:subject) { described_class.new 10, 12 }
|
26
|
+
|
27
|
+
it "should be of the expected size" do
|
28
|
+
subject.width.should eq 10
|
29
|
+
subject.height.should eq 12
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should be totally blank" do
|
33
|
+
color = Gosu::Color.rgba 0, 0, 0, 0
|
34
|
+
10.times do |x|
|
35
|
+
12.times do |y|
|
36
|
+
subject[x, y].should eq color
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "creating from Gosu::Image (2 parameters)" do
|
43
|
+
let(:image) { testcard_image }
|
44
|
+
let(:subject) { described_class.new image }
|
45
|
+
|
46
|
+
it "should be of the expected size" do
|
47
|
+
subject.width.should eq image.width
|
48
|
+
subject.height.should eq image.height
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should be an identical copy of the image" do
|
52
|
+
subject.to_blob.should eq image.to_blob
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "creating from blob (3 parameters)" do
|
57
|
+
let(:image) { testcard_image }
|
58
|
+
let(:subject) { described_class.new image.to_blob, image.width, image.height }
|
59
|
+
|
60
|
+
it "should fail if the width/height are not the expected size" do
|
61
|
+
->{ described_class.new image.to_blob, image.width, image.height + 1 }.should raise_error ArgumentError, /Blob data is not of expected size/
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should be of the expected size" do
|
65
|
+
subject.width.should eq image.width
|
66
|
+
subject.height.should eq image.height
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should be filled with the blob data" do
|
70
|
+
subject.to_blob.should eq image.to_blob
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe "id" do
|
76
|
+
it "should be a positive number" do
|
77
|
+
subject.id.should be_kind_of Integer
|
78
|
+
subject.id.should > 0
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe "fbo_id" do
|
83
|
+
it "should be a positive number" do
|
84
|
+
subject.fbo_id.should be_kind_of Integer
|
85
|
+
subject.fbo_id.should > 0
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
describe "cache" do
|
90
|
+
it "should be a PixelCache" do
|
91
|
+
subject.cache.should be_kind_of Ashton::PixelCache
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should be of the right size" do
|
95
|
+
subject.cache.width.should eq testcard_image.width
|
96
|
+
subject.cache.height.should eq testcard_image.height
|
97
|
+
end
|
98
|
+
|
99
|
+
it "should consider the Texture its owner" do
|
100
|
+
subject.cache.owner.should eq subject
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
describe "refresh_cache" do
|
105
|
+
it "should be defined" do
|
106
|
+
subject.should respond_to :refresh_cache
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
describe "[]" do
|
111
|
+
it "should return the color of the pixel" do
|
112
|
+
subject[0, 0].should eq Gosu::Color::WHITE
|
113
|
+
subject[0, 1].should eq Gosu::Color::RED
|
114
|
+
subject[0, 2].should eq Gosu::Color::GREEN
|
115
|
+
subject[0, 3].should eq Gosu::Color::BLUE
|
116
|
+
subject[0, 4].should eq Gosu::Color.rgba(255, 255, 255, 153)
|
117
|
+
subject[0, 8].should eq Gosu::Color.rgba(0, 0, 0, 0)
|
118
|
+
end
|
119
|
+
|
120
|
+
it "should return a null colour outside the texture" do
|
121
|
+
subject[0, -1].should eq Gosu::Color.new 0
|
122
|
+
subject[-1, 0].should eq Gosu::Color.new 0
|
123
|
+
subject[16, 0].should eq Gosu::Color.new 0
|
124
|
+
subject[0, 12].should eq Gosu::Color.new 0
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
describe "rgba" do
|
129
|
+
it "should return the appropriate array of values" do
|
130
|
+
subject.rgba(0, 0).should eq [255, 255, 255, 255]
|
131
|
+
subject.rgba(0, 1).should eq [255, 0, 0, 255]
|
132
|
+
subject.rgba(0, 2).should eq [0, 255, 0, 255]
|
133
|
+
subject.rgba(0, 3).should eq [0, 0, 255, 255]
|
134
|
+
subject.rgba(0, 4).should eq [255, 255, 255, 153]
|
135
|
+
subject.rgba(0, 8).should eq [0, 0, 0, 0]
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
describe "red" do
|
140
|
+
it "should return the appropriate value" do
|
141
|
+
subject.red(0, 0).should eq 255
|
142
|
+
subject.red(0, 1).should eq 255
|
143
|
+
subject.red(0, 2).should eq 0
|
144
|
+
subject.red(0, 3).should eq 0
|
145
|
+
subject.red(0, 8).should eq 0
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
describe "green" do
|
150
|
+
it "should return the appropriate value" do
|
151
|
+
subject.green(0, 0).should eq 255
|
152
|
+
subject.green(0, 1).should eq 0
|
153
|
+
subject.green(0, 2).should eq 255
|
154
|
+
subject.green(0, 3).should eq 0
|
155
|
+
subject.green(0, 8).should eq 0
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
describe "blue" do
|
160
|
+
it "should return the appropriate value" do
|
161
|
+
subject.blue(0, 0).should eq 255
|
162
|
+
subject.blue(0, 1).should eq 0
|
163
|
+
subject.blue(0, 2).should eq 0
|
164
|
+
subject.blue(0, 3).should eq 255
|
165
|
+
subject.blue(0, 8).should eq 0
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
describe "alpha" do
|
170
|
+
it "should return the appropriate value" do
|
171
|
+
subject.alpha(0, 0).should eq 255
|
172
|
+
subject.alpha(0, 1).should eq 255
|
173
|
+
subject.alpha(0, 2).should eq 255
|
174
|
+
subject.alpha(0, 3).should eq 255
|
175
|
+
subject.alpha(0, 8).should eq 0
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
describe "transparent?" do
|
180
|
+
it "should be false where the buffer is opaque or semi-transparent" do
|
181
|
+
subject.transparent?(0, 1).should be_false
|
182
|
+
subject.transparent?(0, 5).should be_false
|
183
|
+
end
|
184
|
+
|
185
|
+
it "should be true where the buffer is transparent" do
|
186
|
+
subject.transparent?(0, 8).should be_true
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
describe "width" do
|
191
|
+
it "should be initially set" do
|
192
|
+
subject.width.should eq testcard_image.width
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
describe "height" do
|
197
|
+
it "should be initially set" do
|
198
|
+
subject.height.should eq testcard_image.height
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
describe "render" do
|
203
|
+
it "should fail without a block" do
|
204
|
+
->{ subject.render }.should raise_error ArgumentError, /block required/i
|
205
|
+
end
|
206
|
+
|
207
|
+
it "should fail if nested" do
|
208
|
+
->{
|
209
|
+
subject.render do
|
210
|
+
subject.render {}
|
211
|
+
end
|
212
|
+
}.should raise_error Ashton::Error, /nest rendering/i
|
213
|
+
end
|
214
|
+
|
215
|
+
it "should pass itself into the block" do
|
216
|
+
buffer = nil
|
217
|
+
subject.render do |fb|
|
218
|
+
buffer = fb
|
219
|
+
end
|
220
|
+
|
221
|
+
buffer.should eq subject
|
222
|
+
end
|
223
|
+
|
224
|
+
it "should be rendering in the block, but not rendering before and after it" do
|
225
|
+
subject.should_not be_rendering
|
226
|
+
subject.render do
|
227
|
+
subject.should be_rendering
|
228
|
+
end
|
229
|
+
subject.should_not be_rendering
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
describe "clear" do
|
234
|
+
it "should clear the buffer to transparent" do
|
235
|
+
subject.clear
|
236
|
+
subject.width.times do |x|
|
237
|
+
subject.height.times do |y|
|
238
|
+
subject[x, y].should eq Gosu::Color.rgba(0, 0, 0, 0)
|
239
|
+
end
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
it "should clear the buffer to a specified Gosu::Color" do
|
244
|
+
subject.clear color: Gosu::Color::CYAN
|
245
|
+
subject.width.times do |x|
|
246
|
+
subject.height.times do |y|
|
247
|
+
subject[x, y].should eq Gosu::Color::CYAN
|
248
|
+
end
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
it "should clear the buffer to a specified opengl color float array" do
|
253
|
+
subject.clear color: Gosu::Color::CYAN.to_opengl
|
254
|
+
subject.width.times do |x|
|
255
|
+
subject.height.times do |y|
|
256
|
+
subject[x, y].should eq Gosu::Color::CYAN
|
257
|
+
end
|
258
|
+
end
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
describe "draw" do
|
263
|
+
it "should be able to be drawn" do
|
264
|
+
subject.draw 1, 2, 3
|
265
|
+
end
|
266
|
+
|
267
|
+
it "should be drawn with a specific blend mode" do
|
268
|
+
[:alpha_blend, :add, :multiply, :replace].each do |mode|
|
269
|
+
subject.draw 1, 2, 3, mode: mode
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
it "should fail with a bad blend mode name" do
|
274
|
+
->{ subject.draw 1, 2, 3, mode: :fish }.should raise_error(ArgumentError, /Unsupported draw :mode, :fish/)
|
275
|
+
end
|
276
|
+
|
277
|
+
it "should fail with a bad blend mode type" do
|
278
|
+
->{ subject.draw 1, 2, 3, mode: 12 }.should raise_error TypeError
|
279
|
+
end
|
280
|
+
|
281
|
+
it "should be drawn with a specific color" do
|
282
|
+
subject.draw 1, 2, 3, color: Gosu::Color::RED
|
283
|
+
end
|
284
|
+
|
285
|
+
it "should fail with a bad color type" do
|
286
|
+
->{ subject.draw 1, 2, 3, color: 12 }.should raise_error TypeError
|
287
|
+
end
|
288
|
+
|
289
|
+
it "should be drawn with a specific shader" do
|
290
|
+
subject.draw 1, 2, 3, shader: Ashton::Shader.new
|
291
|
+
end
|
292
|
+
|
293
|
+
it "should fail with a bad shader type" do
|
294
|
+
->{ subject.draw 1, 2, 3, shader: 12 }.should raise_error TypeError
|
295
|
+
end
|
296
|
+
|
297
|
+
it "should draw with a Texture passed to multitexture" do
|
298
|
+
subject.draw 1, 2, 3, multitexture: Ashton::Texture.new(10, 10)
|
299
|
+
end
|
300
|
+
|
301
|
+
it "should fail with a bad multitexture option" do
|
302
|
+
->{ subject.draw 1, 2, 3, multitexture: :fish }.should raise_error(TypeError, /Expected :multitexture option of type Ashton::Texture/)
|
303
|
+
end
|
304
|
+
|
305
|
+
it "should draw with pixelated on" do
|
306
|
+
subject.draw 1, 2, 3, pixelated: true
|
307
|
+
end
|
308
|
+
|
309
|
+
it "should draw with pixelated off" do
|
310
|
+
subject.draw 1, 2, 3, pixelated: false
|
311
|
+
end
|
312
|
+
end
|
313
|
+
|
314
|
+
describe "to_blob" do
|
315
|
+
it "should create a blob the same as an equivalent image would" do
|
316
|
+
subject.to_blob.should eq testcard_image.to_blob
|
317
|
+
end
|
318
|
+
end
|
319
|
+
|
320
|
+
describe "to_image" do
|
321
|
+
let(:image) { subject.to_image }
|
322
|
+
|
323
|
+
it "should create a Gosu::Image" do
|
324
|
+
image.should be_kind_of Gosu::Image
|
325
|
+
end
|
326
|
+
|
327
|
+
it "should create an image of the appropriate size" do
|
328
|
+
image.width.should eq testcard_image.width
|
329
|
+
image.height.should eq testcard_image.height
|
330
|
+
end
|
331
|
+
|
332
|
+
it "should create an image identical to the one that was drawn into it originally" do
|
333
|
+
image.to_blob.should eq testcard_image.to_blob
|
334
|
+
end
|
335
|
+
end
|
336
|
+
|
337
|
+
describe "dup" do
|
338
|
+
it "should create a new Texture object" do
|
339
|
+
new = subject.dup.should be_kind_of described_class
|
340
|
+
new.should_not be subject
|
341
|
+
end
|
342
|
+
|
343
|
+
it "should create an exact copy of the Texture" do
|
344
|
+
subject.dup.to_blob.should eq subject.to_blob
|
345
|
+
end
|
346
|
+
end
|
347
|
+
end
|
data/spec/helper.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require_relative "../lib/ashton"
|
2
|
+
|
3
|
+
require "rspec"
|
4
|
+
require 'rspec/autorun'
|
5
|
+
require "rr"
|
6
|
+
require 'texplay'
|
7
|
+
|
8
|
+
RSpec.configure do |config|
|
9
|
+
config.mock_framework = :rr
|
10
|
+
end
|
11
|
+
|
12
|
+
def media_path(file); File.expand_path "../examples/media/#{file}", File.dirname(__FILE__) end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ashton
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2alpha
|
5
5
|
prerelease: 5
|
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:
|
12
|
+
date: 2013-01-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: opengl
|
@@ -27,6 +27,38 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 0.8.0.pre1
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: gosu
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.7.45
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.7.45
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake-compiler
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.8.1
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.8.1
|
30
62
|
- !ruby/object:Gem::Dependency
|
31
63
|
name: rspec
|
32
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -43,6 +75,22 @@ dependencies:
|
|
43
75
|
- - ~>
|
44
76
|
- !ruby/object:Gem::Version
|
45
77
|
version: 2.10.0
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rr
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.0.4
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.0.4
|
46
94
|
- !ruby/object:Gem::Dependency
|
47
95
|
name: launchy
|
48
96
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,7 +162,7 @@ dependencies:
|
|
114
162
|
requirements:
|
115
163
|
- - ~>
|
116
164
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
165
|
+
version: 0.4.3
|
118
166
|
type: :development
|
119
167
|
prerelease: false
|
120
168
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -122,7 +170,7 @@ dependencies:
|
|
122
170
|
requirements:
|
123
171
|
- - ~>
|
124
172
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
173
|
+
version: 0.4.3
|
126
174
|
description: ! 'Extra special effects, such as shader, for the Gosu game-development
|
127
175
|
library
|
128
176
|
|
@@ -130,49 +178,119 @@ description: ! 'Extra special effects, such as shader, for the Gosu game-develop
|
|
130
178
|
email:
|
131
179
|
- bil.bagpuss@gmail.com
|
132
180
|
executables: []
|
133
|
-
extensions:
|
181
|
+
extensions:
|
182
|
+
- ext/ashton/extconf.rb
|
134
183
|
extra_rdoc_files: []
|
135
184
|
files:
|
136
185
|
- CHANGELOG
|
137
186
|
- LICENSE
|
138
187
|
- Rakefile
|
139
188
|
- README.md
|
140
|
-
- lib/ashton/
|
141
|
-
- lib/ashton/framebuffer.rb
|
189
|
+
- lib/ashton/1.9/ashton.so
|
142
190
|
- lib/ashton/gosu_ext/color.rb
|
191
|
+
- lib/ashton/gosu_ext/font.rb
|
192
|
+
- lib/ashton/gosu_ext/gosu_module.rb
|
143
193
|
- lib/ashton/gosu_ext/image.rb
|
144
194
|
- lib/ashton/gosu_ext/window.rb
|
145
195
|
- lib/ashton/image_stub.rb
|
146
|
-
- lib/ashton/
|
147
|
-
- lib/ashton/
|
148
|
-
- lib/ashton/
|
149
|
-
- lib/ashton/
|
150
|
-
- lib/ashton/
|
151
|
-
- lib/ashton/post_process/noise.frag
|
152
|
-
- lib/ashton/post_process/pixelate.frag
|
153
|
-
- lib/ashton/post_process/radial_blur.frag
|
154
|
-
- lib/ashton/post_process/sepia.frag
|
155
|
-
- lib/ashton/post_process/shockwave.frag
|
156
|
-
- lib/ashton/post_process/shockwave2.frag
|
157
|
-
- lib/ashton/post_process/tv_screen.frag
|
158
|
-
- lib/ashton/post_process.rb
|
159
|
-
- lib/ashton/shader/default.frag
|
160
|
-
- lib/ashton/shader/default.vert
|
196
|
+
- lib/ashton/lighting/light_source.rb
|
197
|
+
- lib/ashton/lighting/manager.rb
|
198
|
+
- lib/ashton/mixins/version_checking.rb
|
199
|
+
- lib/ashton/particle_emitter.rb
|
200
|
+
- lib/ashton/pixel_cache.rb
|
161
201
|
- lib/ashton/shader.rb
|
202
|
+
- lib/ashton/shaders/bloom.frag
|
203
|
+
- lib/ashton/shaders/color_inversion.frag
|
204
|
+
- lib/ashton/shaders/contrast.frag
|
205
|
+
- lib/ashton/shaders/default.frag
|
206
|
+
- lib/ashton/shaders/default.vert
|
207
|
+
- lib/ashton/shaders/fade.frag
|
208
|
+
- lib/ashton/shaders/grayscale.frag
|
209
|
+
- lib/ashton/shaders/include/classicnoise2d.glsl
|
210
|
+
- lib/ashton/shaders/include/classicnoise3d.glsl
|
211
|
+
- lib/ashton/shaders/include/classicnoise4d.glsl
|
212
|
+
- lib/ashton/shaders/include/noise2d.glsl
|
213
|
+
- lib/ashton/shaders/include/noise3d.glsl
|
214
|
+
- lib/ashton/shaders/include/noise4d.glsl
|
215
|
+
- lib/ashton/shaders/include/rand.glsl
|
216
|
+
- lib/ashton/shaders/lighting/distort.frag
|
217
|
+
- lib/ashton/shaders/lighting/draw_shadows.frag
|
218
|
+
- lib/ashton/shaders/lighting/shadow_blur.frag
|
219
|
+
- lib/ashton/shaders/mezzotint.frag
|
220
|
+
- lib/ashton/shaders/multitexture2.vert
|
221
|
+
- lib/ashton/shaders/outline.frag
|
222
|
+
- lib/ashton/shaders/pixelate.frag
|
223
|
+
- lib/ashton/shaders/radial_blur.frag
|
224
|
+
- lib/ashton/shaders/sepia.frag
|
225
|
+
- lib/ashton/shaders/shockwave.frag
|
226
|
+
- lib/ashton/shaders/signed_distance_field.frag
|
227
|
+
- lib/ashton/shaders/static.frag
|
228
|
+
- lib/ashton/shaders/stencil.frag
|
229
|
+
- lib/ashton/shaders/tv_screen.frag
|
230
|
+
- lib/ashton/signed_distance_field.rb
|
231
|
+
- lib/ashton/texture.rb
|
162
232
|
- lib/ashton/version.rb
|
233
|
+
- lib/ashton/window_buffer.rb
|
163
234
|
- lib/ashton.rb
|
164
|
-
- examples/
|
235
|
+
- examples/bloom_example.rb
|
236
|
+
- examples/lighting_example.rb
|
165
237
|
- examples/media/Earth.png
|
166
238
|
- examples/media/LargeStar.png
|
167
239
|
- examples/media/simple.png
|
240
|
+
- examples/media/SmallStar.png
|
168
241
|
- examples/media/Star.png
|
169
242
|
- examples/media/Starfighter.bmp
|
170
|
-
- examples/
|
243
|
+
- examples/media/Starfighter.png
|
244
|
+
- examples/noise_example.rb
|
245
|
+
- examples/outline_example.rb
|
246
|
+
- examples/particle_emitter_example.rb
|
247
|
+
- examples/pixelated_texture_example.rb
|
171
248
|
- examples/pixelate_example.rb
|
172
249
|
- examples/radial_blur_example.rb
|
173
250
|
- examples/shader_image_example.rb
|
174
|
-
- examples/
|
175
|
-
- examples/
|
251
|
+
- examples/shockwave_example.rb
|
252
|
+
- examples/stencil_shader_example.rb
|
253
|
+
- examples/texture_render_example.rb
|
254
|
+
- examples/tv_screen_and_static_example.rb
|
255
|
+
- spec/ashton/ashton_spec.rb
|
256
|
+
- spec/ashton/gosu_ext/color_spec.rb
|
257
|
+
- spec/ashton/gosu_ext/font_spec.rb
|
258
|
+
- spec/ashton/gosu_ext/gosu_spec.rb
|
259
|
+
- spec/ashton/gosu_ext/image_spec.rb
|
260
|
+
- spec/ashton/gosu_ext/window_spec.rb
|
261
|
+
- spec/ashton/image_stub_spec.rb
|
262
|
+
- spec/ashton/particle_emitter_spec.rb
|
263
|
+
- spec/ashton/pixel_cache_spec.rb
|
264
|
+
- spec/ashton/shader_spec.rb
|
265
|
+
- spec/ashton/signed_distance_field_spec.rb
|
266
|
+
- spec/ashton/texture_spec.rb
|
267
|
+
- spec/helper.rb
|
268
|
+
- ext/ashton/ashton.c
|
269
|
+
- ext/ashton/color.c
|
270
|
+
- ext/ashton/fast_math.c
|
271
|
+
- ext/ashton/font.c
|
272
|
+
- ext/ashton/GLee.c
|
273
|
+
- ext/ashton/gosu.c
|
274
|
+
- ext/ashton/image.c
|
275
|
+
- ext/ashton/particle_emitter.c
|
276
|
+
- ext/ashton/pixel_cache.c
|
277
|
+
- ext/ashton/shader.c
|
278
|
+
- ext/ashton/texture.c
|
279
|
+
- ext/ashton/window.c
|
280
|
+
- ext/ashton/ashton.h
|
281
|
+
- ext/ashton/color.h
|
282
|
+
- ext/ashton/common.h
|
283
|
+
- ext/ashton/fast_math.h
|
284
|
+
- ext/ashton/font.h
|
285
|
+
- ext/ashton/GLee.h
|
286
|
+
- ext/ashton/gosu.h
|
287
|
+
- ext/ashton/image.h
|
288
|
+
- ext/ashton/particle_emitter.h
|
289
|
+
- ext/ashton/pixel_cache.h
|
290
|
+
- ext/ashton/shader.h
|
291
|
+
- ext/ashton/texture.h
|
292
|
+
- ext/ashton/window.h
|
293
|
+
- ext/ashton/extconf.rb
|
176
294
|
homepage: https://github.com/spooner/ashton
|
177
295
|
licenses:
|
178
296
|
- MIT
|
@@ -185,7 +303,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
303
|
requirements:
|
186
304
|
- - ! '>='
|
187
305
|
- !ruby/object:Gem::Version
|
188
|
-
version:
|
306
|
+
version: 1.9.2
|
189
307
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
308
|
none: false
|
191
309
|
requirements:
|
@@ -198,4 +316,17 @@ rubygems_version: 1.8.24
|
|
198
316
|
signing_key:
|
199
317
|
specification_version: 3
|
200
318
|
summary: Extra special effects, such as shader, for the Gosu game-development library
|
201
|
-
test_files:
|
319
|
+
test_files:
|
320
|
+
- spec/ashton/ashton_spec.rb
|
321
|
+
- spec/ashton/gosu_ext/color_spec.rb
|
322
|
+
- spec/ashton/gosu_ext/font_spec.rb
|
323
|
+
- spec/ashton/gosu_ext/gosu_spec.rb
|
324
|
+
- spec/ashton/gosu_ext/image_spec.rb
|
325
|
+
- spec/ashton/gosu_ext/window_spec.rb
|
326
|
+
- spec/ashton/image_stub_spec.rb
|
327
|
+
- spec/ashton/particle_emitter_spec.rb
|
328
|
+
- spec/ashton/pixel_cache_spec.rb
|
329
|
+
- spec/ashton/shader_spec.rb
|
330
|
+
- spec/ashton/signed_distance_field_spec.rb
|
331
|
+
- spec/ashton/texture_spec.rb
|
332
|
+
- spec/helper.rb
|