rays 0.2.1 → 0.3
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/bitmap.cpp +99 -32
- data/.doc/ext/rays/bounds.cpp +2 -2
- data/.doc/ext/rays/camera.cpp +1 -1
- data/.doc/ext/rays/color.cpp +2 -2
- data/.doc/ext/rays/color_space.cpp +3 -3
- data/.doc/ext/rays/font.cpp +4 -3
- data/.doc/ext/rays/image.cpp +1 -1
- data/.doc/ext/rays/matrix.cpp +4 -4
- data/.doc/ext/rays/painter.cpp +1 -1
- data/.doc/ext/rays/point.cpp +2 -2
- data/.doc/ext/rays/polygon.cpp +3 -3
- data/.doc/ext/rays/polyline.cpp +3 -3
- data/.doc/ext/rays/rays.cpp +10 -10
- data/.doc/ext/rays/shader.cpp +2 -2
- data/.github/workflows/release-gem.yml +1 -1
- data/.github/workflows/test.yml +3 -0
- data/ChangeLog.md +5 -0
- data/Rakefile +17 -2
- data/VERSION +1 -1
- data/ext/rays/bitmap.cpp +99 -32
- data/ext/rays/bounds.cpp +2 -2
- data/ext/rays/camera.cpp +1 -1
- data/ext/rays/color.cpp +2 -2
- data/ext/rays/color_space.cpp +3 -3
- data/ext/rays/defs.h +2 -0
- data/ext/rays/extconf.rb +4 -2
- data/ext/rays/font.cpp +4 -3
- data/ext/rays/image.cpp +1 -1
- data/ext/rays/matrix.cpp +4 -4
- data/ext/rays/painter.cpp +1 -1
- data/ext/rays/point.cpp +2 -2
- data/ext/rays/polygon.cpp +3 -3
- data/ext/rays/polyline.cpp +3 -3
- data/ext/rays/rays.cpp +10 -10
- data/ext/rays/shader.cpp +2 -2
- data/include/rays/defs.h +7 -0
- data/include/rays/ruby/bitmap.h +2 -2
- data/include/rays/ruby/bounds.h +2 -2
- data/include/rays/ruby/camera.h +2 -2
- data/include/rays/ruby/color.h +2 -2
- data/include/rays/ruby/color_space.h +2 -2
- data/include/rays/ruby/exception.h +3 -3
- data/include/rays/ruby/font.h +2 -2
- data/include/rays/ruby/image.h +2 -2
- data/include/rays/ruby/matrix.h +2 -2
- data/include/rays/ruby/painter.h +2 -2
- data/include/rays/ruby/point.h +2 -2
- data/include/rays/ruby/polygon.h +2 -2
- data/include/rays/ruby/polyline.h +2 -2
- data/include/rays/ruby/rays.h +6 -6
- data/include/rays/ruby/shader.h +2 -2
- data/lib/rays/bitmap.rb +7 -0
- data/lib/rays/extension.rb +4 -0
- data/rays.gemspec +2 -2
- data/src/coord.h +2 -2
- data/src/font.cpp +1 -0
- data/src/ios/bitmap.mm +23 -30
- data/src/ios/font.mm +4 -1
- data/src/ios/rays.mm +2 -2
- data/src/matrix.h +1 -1
- data/src/opengl.h +1 -2
- data/src/osx/bitmap.mm +23 -30
- data/src/osx/font.mm +4 -1
- data/src/osx/rays.mm +2 -2
- data/src/painter.cpp +1 -0
- data/src/shader.cpp +3 -0
- data/src/win32/bitmap.cpp +167 -65
- data/src/win32/camera.cpp +119 -0
- data/src/win32/font.cpp +179 -40
- data/src/win32/gdi.h +1 -1
- data/src/win32/opengl.cpp +127 -0
- data/src/win32/rays.cpp +16 -9
- data/test/helper.rb +2 -0
- data/test/test_bitmap.rb +3 -1
- data/test/test_image.rb +8 -14
- data/test/test_painter.rb +4 -4
- metadata +7 -6
- data/src/win32/font.h +0 -24
data/include/rays/ruby/image.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/image.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_FROM_TO(Rays::Image)
|
12
|
+
RUCY_DECLARE_VALUE_FROM_TO(RAYS_EXPORT, Rays::Image)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class image_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class image_class ();
|
20
20
|
// class Rays::Image
|
21
21
|
|
22
22
|
|
data/include/rays/ruby/matrix.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/matrix.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Matrix)
|
12
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Matrix)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class matrix_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class matrix_class ();
|
20
20
|
// class Rays::Matrix
|
21
21
|
|
22
22
|
|
data/include/rays/ruby/painter.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/painter.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_FROM_TO(Rays::Painter)
|
12
|
+
RUCY_DECLARE_VALUE_FROM_TO(RAYS_EXPORT, Rays::Painter)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class painter_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class painter_class ();
|
20
20
|
// class Rays::Painter
|
21
21
|
|
22
22
|
|
data/include/rays/ruby/point.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/point.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Point)
|
12
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Point)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class point_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class point_class ();
|
20
20
|
// class Rays::Point
|
21
21
|
|
22
22
|
|
data/include/rays/ruby/polygon.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/polygon.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Polygon)
|
12
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Polygon)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class polygon_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class polygon_class ();
|
20
20
|
// class Rays::Polygon
|
21
21
|
|
22
22
|
|
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/polyline.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Polyline)
|
12
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Polyline)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class polyline_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class polyline_class ();
|
20
20
|
// class Rays::Polyline
|
21
21
|
|
22
22
|
|
data/include/rays/ruby/rays.h
CHANGED
@@ -9,22 +9,22 @@
|
|
9
9
|
#include <rays/rays.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_CONVERT_TO(Rays::CapType)
|
12
|
+
RUCY_DECLARE_CONVERT_TO(RAYS_EXPORT, Rays::CapType)
|
13
13
|
|
14
|
-
RUCY_DECLARE_CONVERT_TO(Rays::JoinType)
|
14
|
+
RUCY_DECLARE_CONVERT_TO(RAYS_EXPORT, Rays::JoinType)
|
15
15
|
|
16
|
-
RUCY_DECLARE_CONVERT_TO(Rays::BlendMode)
|
16
|
+
RUCY_DECLARE_CONVERT_TO(RAYS_EXPORT, Rays::BlendMode)
|
17
17
|
|
18
|
-
RUCY_DECLARE_CONVERT_TO(Rays::TexCoordMode)
|
18
|
+
RUCY_DECLARE_CONVERT_TO(RAYS_EXPORT, Rays::TexCoordMode)
|
19
19
|
|
20
|
-
RUCY_DECLARE_CONVERT_TO(Rays::TexCoordWrap)
|
20
|
+
RUCY_DECLARE_CONVERT_TO(RAYS_EXPORT, Rays::TexCoordWrap)
|
21
21
|
|
22
22
|
|
23
23
|
namespace Rays
|
24
24
|
{
|
25
25
|
|
26
26
|
|
27
|
-
Rucy::Module rays_module ();
|
27
|
+
RAYS_EXPORT Rucy::Module rays_module ();
|
28
28
|
// module Rays
|
29
29
|
|
30
30
|
|
data/include/rays/ruby/shader.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/shader.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Shader)
|
12
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Shader)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class shader_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class shader_class ();
|
20
20
|
// class Rays::Shader
|
21
21
|
|
22
22
|
|
data/lib/rays/bitmap.rb
CHANGED
data/lib/rays/extension.rb
CHANGED
data/rays.gemspec
CHANGED
@@ -25,8 +25,8 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.platform = Gem::Platform::RUBY
|
26
26
|
s.required_ruby_version = '>= 3.0.0'
|
27
27
|
|
28
|
-
s.add_runtime_dependency 'xot', '~> 0.
|
29
|
-
s.add_runtime_dependency 'rucy', '~> 0.
|
28
|
+
s.add_runtime_dependency 'xot', '~> 0.3'
|
29
|
+
s.add_runtime_dependency 'rucy', '~> 0.3'
|
30
30
|
|
31
31
|
s.files = `git ls-files`.split $/
|
32
32
|
s.executables = s.files.grep(%r{^bin/}) {|f| File.basename f}
|
data/src/coord.h
CHANGED
@@ -13,9 +13,9 @@ namespace Rays
|
|
13
13
|
{
|
14
14
|
|
15
15
|
|
16
|
-
typedef glm::
|
16
|
+
typedef glm::vec<3, coord, glm::defaultp> Vec3;
|
17
17
|
|
18
|
-
typedef glm::
|
18
|
+
typedef glm::vec<4, coord, glm::defaultp> Vec4;
|
19
19
|
|
20
20
|
|
21
21
|
inline Vec3& to_glm ( Coord3& val) {return *( Vec3*) &val;}
|
data/src/font.cpp
CHANGED
data/src/ios/bitmap.mm
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
#import "bitmap.h"
|
3
3
|
|
4
4
|
|
5
|
-
#include <assert.h>
|
6
5
|
#import <ImageIO/CGImageDestination.h>
|
7
6
|
#import <MobileCoreServices/UTCoreTypes.h>
|
8
7
|
#include "rays/exception.h"
|
@@ -61,7 +60,7 @@ namespace Rays
|
|
61
60
|
|
62
61
|
ColorSpace color_space;
|
63
62
|
|
64
|
-
void* pixels
|
63
|
+
void* pixels = NULL;
|
65
64
|
|
66
65
|
CGContextRef context = NULL;
|
67
66
|
|
@@ -123,37 +122,40 @@ namespace Rays
|
|
123
122
|
|
124
123
|
static void
|
125
124
|
setup_bitmap (
|
126
|
-
Bitmap*
|
125
|
+
Bitmap* bitmap,
|
127
126
|
int w, int h, const ColorSpace& cs,
|
128
|
-
const void*
|
127
|
+
const void* pixels = NULL, bool clear_pixels = true)
|
129
128
|
{
|
130
|
-
if (
|
129
|
+
if (w <= 0 || h <= 0 || !cs)
|
131
130
|
argument_error(__FILE__, __LINE__);
|
132
131
|
|
133
|
-
|
132
|
+
Bitmap::Data* self = bitmap->self.get();
|
134
133
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
134
|
+
self->clear();
|
135
|
+
|
136
|
+
self->width = w;
|
137
|
+
self->height = h;
|
138
|
+
self->color_space = cs;
|
139
|
+
self->modified = true;
|
139
140
|
|
140
141
|
size_t size = w * h * cs.Bpp();
|
141
|
-
|
142
|
+
self->pixels = new uchar[size];
|
142
143
|
|
143
|
-
if (
|
144
|
-
memcpy(
|
144
|
+
if (pixels)
|
145
|
+
memcpy(self->pixels, pixels, size);
|
145
146
|
else if (clear_pixels)
|
146
|
-
memset(
|
147
|
+
memset(self->pixels, 0, size);
|
147
148
|
}
|
148
149
|
|
149
|
-
|
150
|
-
|
150
|
+
Bitmap
|
151
|
+
Bitmap_from (const Texture& tex)
|
151
152
|
{
|
152
|
-
if (!
|
153
|
+
if (!tex)
|
153
154
|
argument_error(__FILE__, __LINE__);
|
154
155
|
|
156
|
+
Bitmap bmp;
|
155
157
|
setup_bitmap(
|
156
|
-
|
158
|
+
&bmp, tex.width(), tex.height(), tex.color_space(), NULL, false);
|
157
159
|
|
158
160
|
GLenum format, type;
|
159
161
|
ColorSpace_get_gl_format_and_type(&format, &type, tex.color_space());
|
@@ -161,18 +163,12 @@ namespace Rays
|
|
161
163
|
FrameBuffer fb(tex);
|
162
164
|
FrameBufferBinder binder(fb.id());
|
163
165
|
|
164
|
-
for (int y = 0; y <
|
166
|
+
for (int y = 0; y < bmp.height(); ++y)
|
165
167
|
{
|
166
|
-
GLvoid* ptr = (GLvoid*)
|
167
|
-
glReadPixels(0, y,
|
168
|
+
GLvoid* ptr = (GLvoid*) bmp.at<uchar>(0, y);
|
169
|
+
glReadPixels(0, y, bmp.width(), 1, format, type, ptr);
|
168
170
|
}
|
169
|
-
}
|
170
171
|
|
171
|
-
Bitmap
|
172
|
-
Bitmap_from (const Texture& texture)
|
173
|
-
{
|
174
|
-
Bitmap bmp;
|
175
|
-
setup_bitmap(&bmp, texture);
|
176
172
|
return bmp;
|
177
173
|
}
|
178
174
|
|
@@ -207,15 +203,12 @@ namespace Rays
|
|
207
203
|
if (*str == '\0') return;
|
208
204
|
|
209
205
|
font.draw_string(bitmap->self->get_context(), bitmap->height(), str, x, y);
|
210
|
-
|
211
206
|
Bitmap_set_modified(bitmap);
|
212
207
|
}
|
213
208
|
|
214
209
|
void
|
215
210
|
Bitmap_set_modified (Bitmap* bitmap, bool modified)
|
216
211
|
{
|
217
|
-
assert(bitmap);
|
218
|
-
|
219
212
|
bitmap->self->modified = modified;
|
220
213
|
}
|
221
214
|
|
data/src/ios/font.mm
CHANGED
@@ -152,11 +152,14 @@ namespace Rays
|
|
152
152
|
{
|
153
153
|
CGContextRef context = (CGContextRef) context_;
|
154
154
|
|
155
|
-
if (
|
155
|
+
if (!context || !str)
|
156
156
|
argument_error(__FILE__, __LINE__);
|
157
157
|
|
158
158
|
if (*str == '\0') return;
|
159
159
|
|
160
|
+
if (!*this)
|
161
|
+
invalid_state_error(__FILE__, __LINE__);
|
162
|
+
|
160
163
|
CTLinePtr line = make_line(self->font, str);
|
161
164
|
if (!line)
|
162
165
|
rays_error(__FILE__, __LINE__, "creating CTLineRef failed.");
|
data/src/ios/rays.mm
CHANGED
@@ -25,7 +25,7 @@ namespace Rays
|
|
25
25
|
init ()
|
26
26
|
{
|
27
27
|
if (global::pool)
|
28
|
-
rays_error(__FILE__, __LINE__, "
|
28
|
+
rays_error(__FILE__, __LINE__, "already initialized.");
|
29
29
|
|
30
30
|
global::pool = [[NSAutoreleasePool alloc] init];
|
31
31
|
|
@@ -36,7 +36,7 @@ namespace Rays
|
|
36
36
|
fin ()
|
37
37
|
{
|
38
38
|
if (!global::pool)
|
39
|
-
rays_error(__FILE__, __LINE__, "
|
39
|
+
rays_error(__FILE__, __LINE__, "not initialized.");
|
40
40
|
|
41
41
|
OpenGL_fin();
|
42
42
|
|
data/src/matrix.h
CHANGED
data/src/opengl.h
CHANGED
data/src/osx/bitmap.mm
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
#import "bitmap.h"
|
3
3
|
|
4
4
|
|
5
|
-
#include <assert.h>
|
6
5
|
#import <Cocoa/Cocoa.h>
|
7
6
|
#include "rays/exception.h"
|
8
7
|
#include "../color_space.h"
|
@@ -60,7 +59,7 @@ namespace Rays
|
|
60
59
|
|
61
60
|
ColorSpace color_space;
|
62
61
|
|
63
|
-
void* pixels
|
62
|
+
void* pixels = NULL;
|
64
63
|
|
65
64
|
CGContextRef context = NULL;
|
66
65
|
|
@@ -122,37 +121,40 @@ namespace Rays
|
|
122
121
|
|
123
122
|
static void
|
124
123
|
setup_bitmap (
|
125
|
-
Bitmap*
|
124
|
+
Bitmap* bitmap,
|
126
125
|
int w, int h, const ColorSpace& cs,
|
127
|
-
const void*
|
126
|
+
const void* pixels = NULL, bool clear_pixels = true)
|
128
127
|
{
|
129
|
-
if (
|
128
|
+
if (w <= 0 || h <= 0 || !cs)
|
130
129
|
argument_error(__FILE__, __LINE__);
|
131
130
|
|
132
|
-
|
131
|
+
Bitmap::Data* self = bitmap->self.get();
|
133
132
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
133
|
+
self->clear();
|
134
|
+
|
135
|
+
self->width = w;
|
136
|
+
self->height = h;
|
137
|
+
self->color_space = cs;
|
138
|
+
self->modified = true;
|
138
139
|
|
139
140
|
size_t size = w * h * cs.Bpp();
|
140
|
-
|
141
|
+
self->pixels = new uchar[size];
|
141
142
|
|
142
|
-
if (
|
143
|
-
memcpy(
|
143
|
+
if (pixels)
|
144
|
+
memcpy(self->pixels, pixels, size);
|
144
145
|
else if (clear_pixels)
|
145
|
-
memset(
|
146
|
+
memset(self->pixels, 0, size);
|
146
147
|
}
|
147
148
|
|
148
|
-
|
149
|
-
|
149
|
+
Bitmap
|
150
|
+
Bitmap_from (const Texture& tex)
|
150
151
|
{
|
151
|
-
if (!
|
152
|
+
if (!tex)
|
152
153
|
argument_error(__FILE__, __LINE__);
|
153
154
|
|
155
|
+
Bitmap bmp;
|
154
156
|
setup_bitmap(
|
155
|
-
|
157
|
+
&bmp, tex.width(), tex.height(), tex.color_space(), NULL, false);
|
156
158
|
|
157
159
|
GLenum format, type;
|
158
160
|
ColorSpace_get_gl_format_and_type(&format, &type, tex.color_space());
|
@@ -160,18 +162,12 @@ namespace Rays
|
|
160
162
|
FrameBuffer fb(tex);
|
161
163
|
FrameBufferBinder binder(fb.id());
|
162
164
|
|
163
|
-
for (int y = 0; y <
|
165
|
+
for (int y = 0; y < bmp.height(); ++y)
|
164
166
|
{
|
165
|
-
GLvoid* ptr = (GLvoid*)
|
166
|
-
glReadPixels(0, y,
|
167
|
+
GLvoid* ptr = (GLvoid*) bmp.at<uchar>(0, y);
|
168
|
+
glReadPixels(0, y, bmp.width(), 1, format, type, ptr);
|
167
169
|
}
|
168
|
-
}
|
169
170
|
|
170
|
-
Bitmap
|
171
|
-
Bitmap_from (const Texture& texture)
|
172
|
-
{
|
173
|
-
Bitmap bmp;
|
174
|
-
setup_bitmap(&bmp, texture);
|
175
171
|
return bmp;
|
176
172
|
}
|
177
173
|
|
@@ -206,15 +202,12 @@ namespace Rays
|
|
206
202
|
if (*str == '\0') return;
|
207
203
|
|
208
204
|
font.draw_string(bitmap->self->get_context(), bitmap->height(), str, x, y);
|
209
|
-
|
210
205
|
Bitmap_set_modified(bitmap);
|
211
206
|
}
|
212
207
|
|
213
208
|
void
|
214
209
|
Bitmap_set_modified (Bitmap* bitmap, bool modified)
|
215
210
|
{
|
216
|
-
assert(bitmap);
|
217
|
-
|
218
211
|
bitmap->self->modified = modified;
|
219
212
|
}
|
220
213
|
|
data/src/osx/font.mm
CHANGED
@@ -154,11 +154,14 @@ namespace Rays
|
|
154
154
|
{
|
155
155
|
CGContextRef context = (CGContextRef) context_;
|
156
156
|
|
157
|
-
if (
|
157
|
+
if (!context || !str)
|
158
158
|
argument_error(__FILE__, __LINE__);
|
159
159
|
|
160
160
|
if (*str == '\0') return;
|
161
161
|
|
162
|
+
if (!*this)
|
163
|
+
invalid_state_error(__FILE__, __LINE__);
|
164
|
+
|
162
165
|
CTLinePtr line = make_line(self->font, str);
|
163
166
|
if (!line)
|
164
167
|
rays_error(__FILE__, __LINE__, "creating CTLineRef failed.");
|
data/src/osx/rays.mm
CHANGED
@@ -25,7 +25,7 @@ namespace Rays
|
|
25
25
|
init ()
|
26
26
|
{
|
27
27
|
if (global::pool)
|
28
|
-
rays_error(__FILE__, __LINE__, "
|
28
|
+
rays_error(__FILE__, __LINE__, "already initialized.");
|
29
29
|
|
30
30
|
global::pool = [[NSAutoreleasePool alloc] init];
|
31
31
|
|
@@ -36,7 +36,7 @@ namespace Rays
|
|
36
36
|
fin ()
|
37
37
|
{
|
38
38
|
if (!global::pool)
|
39
|
-
rays_error(__FILE__, __LINE__, "
|
39
|
+
rays_error(__FILE__, __LINE__, "not initialized.");
|
40
40
|
|
41
41
|
OpenGL_fin();
|
42
42
|
|
data/src/painter.cpp
CHANGED
data/src/shader.cpp
CHANGED
@@ -156,6 +156,9 @@ namespace Rays
|
|
156
156
|
// restore premultiplied rgb values
|
157
157
|
" vec3 rgb__ = col__.a != 0.0 ? col__.rgb / col__.a : col__.rgb;\n"
|
158
158
|
" gl_FragColor = " + V_COLOR + " * vec4(rgb__, col__.a);\n"
|
159
|
+
#elif defined(WIN32)
|
160
|
+
" float a__ = (col__.r + col__.g + col__.b) / 3.0;\n"
|
161
|
+
" gl_FragColor = " + V_COLOR + " * vec4(1.0, 1.0, 1.0, a__);\n"
|
159
162
|
#else
|
160
163
|
" gl_FragColor = " + V_COLOR + " * col__;\n"
|
161
164
|
#endif
|