rays 0.1.22 → 0.1.23
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/.doc/ext/rays/defs.cpp +11 -10
- data/VERSION +1 -1
- data/ext/rays/defs.cpp +11 -10
- data/rays.gemspec +3 -3
- data/src/painter.cpp +11 -23
- metadata +20 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 040c0f759c8eb840cb1404ef8d4b784a2e8c65a0b4c45069dfc710ce4d82ea11
|
4
|
+
data.tar.gz: 5d23a768599e7f41c56e626077cc194e6160c9e9ce4d29755e52a7ed9125ab2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a073787bd50fa263eb8ea3a773a28a82bc4e5169f61957ac1497529b6a7ce7c31a18b2b65b4914c4f210e97290de286fb4a7293e52ce2aa8a89d14807f8e4a0
|
7
|
+
data.tar.gz: 4d3635baaa03a28cbc06461a0af483a757a117fe2d7cd0e56efd30070f215966ebd80242b97de661dcdf7615ebbfbdb66b5d14158f9808ad9485ae7077f0ec5f
|
data/.doc/ext/rays/defs.cpp
CHANGED
@@ -127,9 +127,10 @@ void get_ellipse_args (
|
|
127
127
|
assert(x && y && w && h && hole_size && from && to_ && nseg && argv);
|
128
128
|
|
129
129
|
if (argc <= 0)
|
130
|
-
|
131
|
-
|
132
|
-
|
130
|
+
{
|
131
|
+
*x = *y = *w = *h = 0;
|
132
|
+
}
|
133
|
+
else if (argv[0].is_kind_of(Rays::bounds_class()))
|
133
134
|
{
|
134
135
|
const Rays::Bounds& b = to<Rays::Bounds&>(argv[0]);
|
135
136
|
*x = b.x;
|
@@ -162,13 +163,6 @@ void get_ellipse_args (
|
|
162
163
|
*h = argc >= 4 ? to<coord>(argv[3]) : *w;
|
163
164
|
}
|
164
165
|
|
165
|
-
if (center)
|
166
|
-
{
|
167
|
-
Rays::Point p = to<Rays::Point>(center);
|
168
|
-
*x = p.x;
|
169
|
-
*y = p.y;
|
170
|
-
}
|
171
|
-
|
172
166
|
if (radius)
|
173
167
|
{
|
174
168
|
Rays::Point p = to<Rays::Point>(radius);
|
@@ -176,6 +170,13 @@ void get_ellipse_args (
|
|
176
170
|
*h = p.y * 2;
|
177
171
|
}
|
178
172
|
|
173
|
+
if (center)
|
174
|
+
{
|
175
|
+
Rays::Point p = to<Rays::Point>(center);
|
176
|
+
*x = p.x - *w / 2;
|
177
|
+
*y = p.y - *h / 2;
|
178
|
+
}
|
179
|
+
|
179
180
|
*hole_size = hole ? to<Rays::Point>(hole) : 0;
|
180
181
|
*from = angle_from ? to<float>(angle_from) : 0;
|
181
182
|
*to_ = angle_to ? to<float>(angle_to) : 360;
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.23
|
data/ext/rays/defs.cpp
CHANGED
@@ -127,9 +127,10 @@ void get_ellipse_args (
|
|
127
127
|
assert(x && y && w && h && hole_size && from && to_ && nseg && argv);
|
128
128
|
|
129
129
|
if (argc <= 0)
|
130
|
-
|
131
|
-
|
132
|
-
|
130
|
+
{
|
131
|
+
*x = *y = *w = *h = 0;
|
132
|
+
}
|
133
|
+
else if (argv[0].is_kind_of(Rays::bounds_class()))
|
133
134
|
{
|
134
135
|
const Rays::Bounds& b = to<Rays::Bounds&>(argv[0]);
|
135
136
|
*x = b.x;
|
@@ -162,13 +163,6 @@ void get_ellipse_args (
|
|
162
163
|
*h = argc >= 4 ? to<coord>(argv[3]) : *w;
|
163
164
|
}
|
164
165
|
|
165
|
-
if (center)
|
166
|
-
{
|
167
|
-
Rays::Point p = to<Rays::Point>(center);
|
168
|
-
*x = p.x;
|
169
|
-
*y = p.y;
|
170
|
-
}
|
171
|
-
|
172
166
|
if (radius)
|
173
167
|
{
|
174
168
|
Rays::Point p = to<Rays::Point>(radius);
|
@@ -176,6 +170,13 @@ void get_ellipse_args (
|
|
176
170
|
*h = p.y * 2;
|
177
171
|
}
|
178
172
|
|
173
|
+
if (center)
|
174
|
+
{
|
175
|
+
Rays::Point p = to<Rays::Point>(center);
|
176
|
+
*x = p.x - *w / 2;
|
177
|
+
*y = p.y - *h / 2;
|
178
|
+
}
|
179
|
+
|
179
180
|
*hole_size = hole ? to<Rays::Point>(hole) : 0;
|
180
181
|
*from = angle_from ? to<float>(angle_from) : 0;
|
181
182
|
*to_ = angle_to ? to<float>(angle_to) : 360;
|
data/rays.gemspec
CHANGED
@@ -26,10 +26,10 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.homepage = "https://github.com/xord/rays"
|
27
27
|
|
28
28
|
s.platform = Gem::Platform::RUBY
|
29
|
-
s.required_ruby_version = '
|
29
|
+
s.required_ruby_version = '>= 2.6.0'
|
30
30
|
|
31
|
-
s.add_runtime_dependency 'xot', '~> 0.1.
|
32
|
-
s.add_runtime_dependency 'rucy', '~> 0.1.
|
31
|
+
s.add_runtime_dependency 'xot', '~> 0.1.23'
|
32
|
+
s.add_runtime_dependency 'rucy', '~> 0.1.23'
|
33
33
|
|
34
34
|
s.files = `git ls-files`.split $/
|
35
35
|
s.executables = s.files.grep(%r{^bin/}) {|f| File.basename f}
|
data/src/painter.cpp
CHANGED
@@ -129,7 +129,7 @@ namespace Rays
|
|
129
129
|
GLint scissor_box[4];
|
130
130
|
|
131
131
|
GLboolean blend;
|
132
|
-
GLint
|
132
|
+
GLint blend_src_rgb, blend_src_alpha, blend_dst_rgb, blend_dst_alpha;
|
133
133
|
|
134
134
|
GLint framebuffer_binding;
|
135
135
|
|
@@ -143,8 +143,10 @@ namespace Rays
|
|
143
143
|
glGetIntegerv(GL_SCISSOR_BOX, scissor_box);
|
144
144
|
|
145
145
|
glGetBooleanv(GL_BLEND, &blend);
|
146
|
-
glGetIntegerv(
|
147
|
-
glGetIntegerv(
|
146
|
+
glGetIntegerv(GL_BLEND_SRC_RGB, &blend_src_rgb);
|
147
|
+
glGetIntegerv(GL_BLEND_SRC_ALPHA, &blend_src_alpha);
|
148
|
+
glGetIntegerv(GL_BLEND_DST_RGB, &blend_dst_rgb);
|
149
|
+
glGetIntegerv(GL_BLEND_DST_ALPHA, &blend_dst_alpha);
|
148
150
|
|
149
151
|
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &framebuffer_binding);
|
150
152
|
}
|
@@ -160,7 +162,8 @@ namespace Rays
|
|
160
162
|
glScissor(scissor_box[0], scissor_box[1], scissor_box[2], scissor_box[3]);
|
161
163
|
|
162
164
|
enable(GL_BLEND, blend);
|
163
|
-
|
165
|
+
glBlendFuncSeparate(
|
166
|
+
blend_src_rgb, blend_dst_rgb, blend_src_alpha, blend_dst_alpha);
|
164
167
|
|
165
168
|
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer_binding);
|
166
169
|
}
|
@@ -230,7 +233,7 @@ namespace Rays
|
|
230
233
|
}
|
231
234
|
|
232
235
|
static const Shader&
|
233
|
-
|
236
|
+
get_default_shader_for_texture ()
|
234
237
|
{
|
235
238
|
static const Shader SHADER(
|
236
239
|
"varying vec4 " VARYING_TEXCOORD ";"
|
@@ -244,21 +247,6 @@ namespace Rays
|
|
244
247
|
return SHADER;
|
245
248
|
}
|
246
249
|
|
247
|
-
static const Shader&
|
248
|
-
get_default_shader_for_alpha_texture ()
|
249
|
-
{
|
250
|
-
static const Shader SHADER(
|
251
|
-
"varying vec4 " VARYING_TEXCOORD ";"
|
252
|
-
"varying vec4 " VARYING_COLOR ";"
|
253
|
-
"vec4 sampleTexture(vec2);"
|
254
|
-
"void main ()"
|
255
|
-
"{"
|
256
|
-
" vec4 color = sampleTexture(" VARYING_TEXCOORD ".xy);"
|
257
|
-
" gl_FragColor = vec4(v_Color.rgb, color.a);"
|
258
|
-
"}");
|
259
|
-
return SHADER;
|
260
|
-
}
|
261
|
-
|
262
250
|
|
263
251
|
struct Painter::Data
|
264
252
|
{
|
@@ -943,7 +931,7 @@ namespace Rays
|
|
943
931
|
TextureInfo texinfo(texture, src_x, src_y, src_x + src_w, src_y + src_h);
|
944
932
|
|
945
933
|
if (!shader)
|
946
|
-
shader = &
|
934
|
+
shader = &get_default_shader_for_texture();
|
947
935
|
|
948
936
|
draw_polygon(
|
949
937
|
painter, MODES, 0, 0, false, nostroke, points, 4, NULL, 0, texcoords,
|
@@ -1100,7 +1088,7 @@ namespace Rays
|
|
1100
1088
|
{
|
1101
1089
|
int bmp_w = std::max(texture.width(), tex_w);
|
1102
1090
|
int bmp_h = std::max(texture.height(), tex_h);
|
1103
|
-
self->text_image = Image(Bitmap(bmp_w, bmp_h
|
1091
|
+
self->text_image = Image(Bitmap(bmp_w, bmp_h), density);
|
1104
1092
|
}
|
1105
1093
|
|
1106
1094
|
if (!self->text_image)
|
@@ -1120,7 +1108,7 @@ namespace Rays
|
|
1120
1108
|
painter, self->text_image,
|
1121
1109
|
0, 0, str_w, str_h,
|
1122
1110
|
x, y, str_w, str_h,
|
1123
|
-
true, &
|
1111
|
+
true, &get_default_shader_for_texture());
|
1124
1112
|
|
1125
1113
|
debug_draw_text(painter, font, x, y, str_w / density, str_h / density);
|
1126
1114
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rays
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xordog
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xot
|
@@ -16,52 +16,52 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.23
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.23
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rucy
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.
|
33
|
+
version: 0.1.23
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1.
|
40
|
+
version: 0.1.23
|
41
41
|
description: This library helps you to develop graphics application with OpenGL.
|
42
42
|
email: xordog@gmail.com
|
43
43
|
executables: []
|
44
44
|
extensions:
|
45
45
|
- Rakefile
|
46
46
|
extra_rdoc_files:
|
47
|
-
- ".doc/ext/rays/defs.cpp"
|
48
|
-
- ".doc/ext/rays/image.cpp"
|
49
47
|
- ".doc/ext/rays/bitmap.cpp"
|
48
|
+
- ".doc/ext/rays/bounds.cpp"
|
50
49
|
- ".doc/ext/rays/camera.cpp"
|
51
|
-
- ".doc/ext/rays/rays.cpp"
|
52
|
-
- ".doc/ext/rays/font.cpp"
|
53
|
-
- ".doc/ext/rays/color_space.cpp"
|
54
|
-
- ".doc/ext/rays/polygon_line.cpp"
|
55
|
-
- ".doc/ext/rays/painter.cpp"
|
56
|
-
- ".doc/ext/rays/noise.cpp"
|
57
50
|
- ".doc/ext/rays/color.cpp"
|
58
|
-
- ".doc/ext/rays/
|
51
|
+
- ".doc/ext/rays/color_space.cpp"
|
52
|
+
- ".doc/ext/rays/defs.cpp"
|
53
|
+
- ".doc/ext/rays/font.cpp"
|
54
|
+
- ".doc/ext/rays/image.cpp"
|
55
|
+
- ".doc/ext/rays/matrix.cpp"
|
59
56
|
- ".doc/ext/rays/native.cpp"
|
57
|
+
- ".doc/ext/rays/noise.cpp"
|
58
|
+
- ".doc/ext/rays/painter.cpp"
|
60
59
|
- ".doc/ext/rays/point.cpp"
|
61
|
-
- ".doc/ext/rays/matrix.cpp"
|
62
60
|
- ".doc/ext/rays/polygon.cpp"
|
61
|
+
- ".doc/ext/rays/polygon_line.cpp"
|
63
62
|
- ".doc/ext/rays/polyline.cpp"
|
64
|
-
- ".doc/ext/rays/
|
63
|
+
- ".doc/ext/rays/rays.cpp"
|
64
|
+
- ".doc/ext/rays/shader.cpp"
|
65
65
|
files:
|
66
66
|
- ".doc/ext/rays/bitmap.cpp"
|
67
67
|
- ".doc/ext/rays/bounds.cpp"
|
@@ -243,16 +243,16 @@ require_paths:
|
|
243
243
|
- lib
|
244
244
|
required_ruby_version: !ruby/object:Gem::Requirement
|
245
245
|
requirements:
|
246
|
-
- - "
|
246
|
+
- - ">="
|
247
247
|
- !ruby/object:Gem::Version
|
248
|
-
version:
|
248
|
+
version: 2.6.0
|
249
249
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
250
250
|
requirements:
|
251
251
|
- - ">="
|
252
252
|
- !ruby/object:Gem::Version
|
253
253
|
version: '0'
|
254
254
|
requirements: []
|
255
|
-
rubygems_version: 3.
|
255
|
+
rubygems_version: 3.2.22
|
256
256
|
signing_key:
|
257
257
|
specification_version: 4
|
258
258
|
summary: A Drawing Engine using OpenGL.
|