rays 0.2 → 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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/rays/bitmap.cpp +100 -33
  3. data/.doc/ext/rays/bounds.cpp +2 -2
  4. data/.doc/ext/rays/camera.cpp +2 -2
  5. data/.doc/ext/rays/color.cpp +2 -2
  6. data/.doc/ext/rays/color_space.cpp +3 -3
  7. data/.doc/ext/rays/font.cpp +5 -4
  8. data/.doc/ext/rays/image.cpp +1 -1
  9. data/.doc/ext/rays/matrix.cpp +4 -4
  10. data/.doc/ext/rays/painter.cpp +1 -1
  11. data/.doc/ext/rays/point.cpp +2 -2
  12. data/.doc/ext/rays/polygon.cpp +3 -3
  13. data/.doc/ext/rays/polyline.cpp +3 -3
  14. data/.doc/ext/rays/rays.cpp +10 -10
  15. data/.doc/ext/rays/shader.cpp +2 -2
  16. data/.github/workflows/release-gem.yml +2 -2
  17. data/.github/workflows/tag.yml +1 -1
  18. data/.github/workflows/test.yml +10 -1
  19. data/ChangeLog.md +14 -0
  20. data/Gemfile.lock +1 -1
  21. data/Rakefile +17 -2
  22. data/VERSION +1 -1
  23. data/ext/rays/bitmap.cpp +100 -33
  24. data/ext/rays/bounds.cpp +2 -2
  25. data/ext/rays/camera.cpp +2 -2
  26. data/ext/rays/color.cpp +2 -2
  27. data/ext/rays/color_space.cpp +3 -3
  28. data/ext/rays/defs.h +2 -0
  29. data/ext/rays/extconf.rb +4 -2
  30. data/ext/rays/font.cpp +5 -4
  31. data/ext/rays/image.cpp +1 -1
  32. data/ext/rays/matrix.cpp +4 -4
  33. data/ext/rays/painter.cpp +1 -1
  34. data/ext/rays/point.cpp +2 -2
  35. data/ext/rays/polygon.cpp +3 -3
  36. data/ext/rays/polyline.cpp +3 -3
  37. data/ext/rays/rays.cpp +10 -10
  38. data/ext/rays/shader.cpp +2 -2
  39. data/include/rays/color_space.h +4 -4
  40. data/include/rays/defs.h +7 -0
  41. data/include/rays/rays.h +8 -0
  42. data/include/rays/ruby/bitmap.h +2 -2
  43. data/include/rays/ruby/bounds.h +2 -2
  44. data/include/rays/ruby/camera.h +2 -2
  45. data/include/rays/ruby/color.h +2 -2
  46. data/include/rays/ruby/color_space.h +2 -2
  47. data/include/rays/ruby/exception.h +3 -3
  48. data/include/rays/ruby/font.h +2 -2
  49. data/include/rays/ruby/image.h +2 -2
  50. data/include/rays/ruby/matrix.h +2 -2
  51. data/include/rays/ruby/painter.h +2 -2
  52. data/include/rays/ruby/point.h +2 -2
  53. data/include/rays/ruby/polygon.h +2 -2
  54. data/include/rays/ruby/polyline.h +2 -2
  55. data/include/rays/ruby/rays.h +6 -6
  56. data/include/rays/ruby/shader.h +2 -2
  57. data/include/rays/ruby.h +3 -1
  58. data/include/rays.h +3 -0
  59. data/lib/rays/bitmap.rb +7 -0
  60. data/lib/rays/extension.rb +4 -0
  61. data/rays.gemspec +2 -2
  62. data/src/coord.h +2 -2
  63. data/src/font.cpp +1 -0
  64. data/src/image.cpp +0 -29
  65. data/src/ios/bitmap.mm +23 -30
  66. data/src/ios/font.mm +4 -1
  67. data/src/ios/opengl.mm +23 -10
  68. data/src/ios/rays.mm +5 -3
  69. data/src/matrix.h +1 -1
  70. data/src/opengl.h +7 -8
  71. data/src/osx/bitmap.mm +23 -30
  72. data/src/osx/font.mm +4 -1
  73. data/src/osx/opengl.mm +31 -19
  74. data/src/osx/rays.mm +5 -3
  75. data/src/painter.cpp +1 -0
  76. data/src/shader.cpp +3 -0
  77. data/src/texture.cpp +3 -25
  78. data/src/texture.h +0 -2
  79. data/src/win32/bitmap.cpp +167 -65
  80. data/src/win32/camera.cpp +119 -0
  81. data/src/win32/font.cpp +179 -40
  82. data/src/win32/gdi.cpp +2 -4
  83. data/src/win32/gdi.h +1 -1
  84. data/src/win32/opengl.cpp +127 -0
  85. data/src/win32/rays.cpp +16 -9
  86. data/test/helper.rb +2 -5
  87. data/test/test_bitmap.rb +3 -1
  88. data/test/test_image.rb +8 -14
  89. data/test/test_painter.rb +4 -4
  90. metadata +8 -8
  91. data/include/rays/opengl.h +0 -20
  92. data/src/win32/font.h +0 -24
@@ -9,14 +9,14 @@
9
9
  #include <rays/color.h>
10
10
 
11
11
 
12
- RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Color)
12
+ RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Color)
13
13
 
14
14
 
15
15
  namespace Rays
16
16
  {
17
17
 
18
18
 
19
- Rucy::Class color_class ();
19
+ RAYS_EXPORT Rucy::Class color_class ();
20
20
  // class Rays::Color
21
21
 
22
22
 
@@ -9,14 +9,14 @@
9
9
  #include <rays/color_space.h>
10
10
 
11
11
 
12
- RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::ColorSpace)
12
+ RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::ColorSpace)
13
13
 
14
14
 
15
15
  namespace Rays
16
16
  {
17
17
 
18
18
 
19
- Rucy::Class color_space_class ();
19
+ RAYS_EXPORT Rucy::Class color_space_class ();
20
20
  // class Rays::ColorSpace
21
21
 
22
22
 
@@ -12,13 +12,13 @@ namespace Rays
12
12
  {
13
13
 
14
14
 
15
- Rucy::Class rays_error_class ();
15
+ RAYS_EXPORT Rucy::Class rays_error_class ();
16
16
  // class Rays::RaysError
17
17
 
18
- Rucy::Class opengl_error_class ();
18
+ RAYS_EXPORT Rucy::Class opengl_error_class ();
19
19
  // class Rays::OpenGLError
20
20
 
21
- Rucy::Class shader_error_class ();
21
+ RAYS_EXPORT Rucy::Class shader_error_class ();
22
22
  // class Rays::ShaderError
23
23
 
24
24
 
@@ -9,14 +9,14 @@
9
9
  #include <rays/font.h>
10
10
 
11
11
 
12
- RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Font)
12
+ RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Font)
13
13
 
14
14
 
15
15
  namespace Rays
16
16
  {
17
17
 
18
18
 
19
- Rucy::Class font_class ();
19
+ RAYS_EXPORT Rucy::Class font_class ();
20
20
  // class Rays::Font
21
21
 
22
22
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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/include/rays/ruby.h CHANGED
@@ -4,8 +4,8 @@
4
4
  #define __RAYS_RUBY_H__
5
5
 
6
6
 
7
- #include <rays/ruby/rays.h>
8
7
  #include <rays/ruby/defs.h>
8
+ #include <rays/ruby/rays.h>
9
9
  #include <rays/ruby/exception.h>
10
10
 
11
11
  #include <rays/ruby/point.h>
@@ -23,5 +23,7 @@
23
23
 
24
24
  #include <rays/ruby/painter.h>
25
25
 
26
+ #include <rays/ruby/camera.h>
27
+
26
28
 
27
29
  #endif//EOH
data/include/rays.h CHANGED
@@ -25,5 +25,8 @@
25
25
 
26
26
  #include <rays/painter.h>
27
27
 
28
+ #include <rays/camera.h>
29
+ #include <rays/util.h>
30
+
28
31
 
29
32
  #endif//EOH
data/lib/rays/bitmap.rb CHANGED
@@ -16,6 +16,13 @@ module Rays
16
16
  end
17
17
  end
18
18
 
19
+ def pixels()
20
+ case o = pixels!
21
+ when Array then o
22
+ when String then o.unpack 'L*'
23
+ end
24
+ end
25
+
19
26
  def bounds()
20
27
  Bounds.new 0, 0, width, height
21
28
  end
@@ -25,6 +25,10 @@ module Rays
25
25
  root_dir 'lib'
26
26
  end
27
27
 
28
+ def ext_dir()
29
+ root_dir 'ext'
30
+ end
31
+
28
32
  end# Extension
29
33
 
30
34
 
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.2'
29
- s.add_runtime_dependency 'rucy', '~> 0.2'
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::tvec3<coord, glm::defaultp> Vec3;
16
+ typedef glm::vec<3, coord, glm::defaultp> Vec3;
17
17
 
18
- typedef glm::tvec4<coord, glm::defaultp> Vec4;
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
@@ -1,6 +1,7 @@
1
1
  #include "font.h"
2
2
 
3
3
 
4
+ #include <string.h>
4
5
  #include <assert.h>
5
6
 
6
7
 
data/src/image.cpp CHANGED
@@ -56,33 +56,6 @@ namespace Rays
56
56
  if (self->texture) self->texture.set_modified(false);
57
57
  }
58
58
 
59
- static void
60
- invalidate_texture (Image* image)
61
- {
62
- image->bitmap();// update bitmap
63
- image->self->texture = Texture();
64
- }
65
-
66
- static void
67
- invalidate_texture_for_another_context (Image* image)
68
- {
69
- assert(image);
70
-
71
- const Texture& tex = image->self->texture;
72
- if (!tex) return;
73
-
74
- Context tex_context = tex.context();
75
- if (!tex_context) return;
76
-
77
- Context current_context = OpenGL_get_context();
78
- if (tex_context == current_context)
79
- return;
80
-
81
- OpenGL_set_context(tex_context);
82
- invalidate_texture(image);
83
- OpenGL_set_context(current_context);
84
- }
85
-
86
59
  static Bitmap&
87
60
  get_bitmap (Image* image)
88
61
  {
@@ -139,8 +112,6 @@ namespace Rays
139
112
  return self->texture;
140
113
  }
141
114
 
142
- invalidate_texture_for_another_context(&image);
143
-
144
115
  if (!self->texture)
145
116
  {
146
117
  if (self->bitmap)
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 = NULL;
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* this_,
125
+ Bitmap* bitmap,
127
126
  int w, int h, const ColorSpace& cs,
128
- const void* pixels_ = NULL, bool clear_pixels = true)
127
+ const void* pixels = NULL, bool clear_pixels = true)
129
128
  {
130
- if (!this_ || w <= 0 || h <= 0 || !cs)
129
+ if (w <= 0 || h <= 0 || !cs)
131
130
  argument_error(__FILE__, __LINE__);
132
131
 
133
- this_->self->clear();
132
+ Bitmap::Data* self = bitmap->self.get();
134
133
 
135
- this_->self->width = w;
136
- this_->self->height = h;
137
- this_->self->color_space = cs;
138
- this_->self->modified = true;
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
- this_->self->pixels = new uchar[size];
142
+ self->pixels = new uchar[size];
142
143
 
143
- if (pixels_)
144
- memcpy(this_->self->pixels, pixels_, size);
144
+ if (pixels)
145
+ memcpy(self->pixels, pixels, size);
145
146
  else if (clear_pixels)
146
- memset(this_->self->pixels, 0, size);
147
+ memset(self->pixels, 0, size);
147
148
  }
148
149
 
149
- static void
150
- setup_bitmap (Bitmap* this_, const Texture& tex)
150
+ Bitmap
151
+ Bitmap_from (const Texture& tex)
151
152
  {
152
- if (!this_ || !tex)
153
+ if (!tex)
153
154
  argument_error(__FILE__, __LINE__);
154
155
 
156
+ Bitmap bmp;
155
157
  setup_bitmap(
156
- this_, tex.width(), tex.height(), tex.color_space(), NULL, false);
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 < this_->height(); ++y)
166
+ for (int y = 0; y < bmp.height(); ++y)
165
167
  {
166
- GLvoid* ptr = (GLvoid*) this_->at<uchar>(0, y);
167
- glReadPixels(0, y, this_->width(), 1, format, type, ptr);
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 (!*this || !context || !str)
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/opengl.mm CHANGED
@@ -2,34 +2,47 @@
2
2
  #include "../opengl.h"
3
3
 
4
4
 
5
- #include <vector>
6
5
  #import <OpenGLES/EAGL.h>
6
+ #include "rays/rays.h"
7
+ #include "rays/exception.h"
7
8
 
8
9
 
9
10
  namespace Rays
10
11
  {
11
12
 
12
13
 
14
+ static EAGLContext*
15
+ get_opengl_offscreen_context ()
16
+ {
17
+ static EAGLContext* context = nil;
18
+ if (!context)
19
+ context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES3];
20
+ return context;
21
+ }
22
+
23
+
13
24
  void
14
- OpenGL_set_context (Context context)
25
+ OpenGL_init ()
15
26
  {
16
- [EAGLContext setCurrentContext: (EAGLContext*) context];
27
+ activate_offscreen_context();
17
28
  }
18
29
 
19
- Context
20
- OpenGL_get_context ()
30
+ void
31
+ OpenGL_fin ()
21
32
  {
22
- return [EAGLContext currentContext];
23
33
  }
24
34
 
25
35
 
26
36
  Context
27
37
  get_offscreen_context ()
28
38
  {
29
- static Context context = NULL;
30
- if (!context)
31
- context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES3];
32
- return context;
39
+ return get_opengl_offscreen_context();
40
+ }
41
+
42
+ void
43
+ activate_offscreen_context ()
44
+ {
45
+ [EAGLContext setCurrentContext: get_opengl_offscreen_context()];
33
46
  }
34
47
 
35
48
 
data/src/ios/rays.mm CHANGED
@@ -25,18 +25,20 @@ namespace Rays
25
25
  init ()
26
26
  {
27
27
  if (global::pool)
28
- rays_error(__FILE__, __LINE__, "Rays::init(): already initialized.");
28
+ rays_error(__FILE__, __LINE__, "already initialized.");
29
29
 
30
30
  global::pool = [[NSAutoreleasePool alloc] init];
31
31
 
32
- OpenGL_set_context(get_offscreen_context());
32
+ OpenGL_init();
33
33
  }
34
34
 
35
35
  void
36
36
  fin ()
37
37
  {
38
38
  if (!global::pool)
39
- rays_error(__FILE__, __LINE__, "Rays::fin(): not initialized.");
39
+ rays_error(__FILE__, __LINE__, "not initialized.");
40
+
41
+ OpenGL_fin();
40
42
 
41
43
  [global::pool release];
42
44
  global::pool = nil;
data/src/matrix.h CHANGED
@@ -12,7 +12,7 @@ namespace Rays
12
12
  {
13
13
 
14
14
 
15
- typedef glm::tmat4x4<coord> Mat4;
15
+ typedef glm::mat<4, 4, coord> Mat4;
16
16
 
17
17
 
18
18
  inline Mat4& to_glm ( Matrix& val) {return *( Mat4*) &val;}
data/src/opengl.h CHANGED
@@ -11,26 +11,25 @@
11
11
  #include <OpenGLES/ES3/gl.h>
12
12
  #include <OpenGLES/ES3/glext.h>
13
13
  #elif defined(WIN32)
14
- #include <GL/gl.h>
15
- #include <GL/glext.h>
14
+ #include <GL/glew.h>
16
15
  #endif
17
16
 
18
- #include "rays/opengl.h"
17
+ #include "rays/defs.h"
19
18
 
20
19
 
21
20
  namespace Rays
22
21
  {
23
22
 
24
23
 
25
- void OpenGL_set_context (Context context);
24
+ void OpenGL_init ();
26
25
 
27
- Context OpenGL_get_context ();
26
+ void OpenGL_fin ();
28
27
 
29
- bool OpenGL_has_error ();
28
+ bool OpenGL_has_error ();
30
29
 
31
- void OpenGL_check_error (const char* file, int line);
30
+ void OpenGL_check_error (const char* file, int line);
32
31
 
33
- void OpenGL_check_error (const char* file, int line, const char* format, ...);
32
+ void OpenGL_check_error (const char* file, int line, const char* format, ...);
34
33
 
35
34
 
36
35
  }// Rays