rays 0.1.12 → 0.1.13
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 +5 -5
- data/.doc/ext/rays/bitmap.cpp +22 -76
- data/.doc/ext/rays/bounds.cpp +95 -125
- data/.doc/ext/rays/color.cpp +224 -45
- data/.doc/ext/rays/color_space.cpp +137 -45
- data/.doc/ext/rays/defs.cpp +183 -0
- data/.doc/ext/rays/font.cpp +39 -21
- data/.doc/ext/rays/image.cpp +26 -37
- data/.doc/ext/rays/matrix.cpp +186 -29
- data/.doc/ext/rays/native.cpp +12 -6
- data/.doc/ext/rays/noise.cpp +53 -0
- data/.doc/ext/rays/painter.cpp +120 -308
- data/.doc/ext/rays/point.cpp +82 -77
- data/.doc/ext/rays/polygon.cpp +287 -0
- data/.doc/ext/rays/polygon_line.cpp +96 -0
- data/.doc/ext/rays/polyline.cpp +161 -0
- data/.doc/ext/rays/rays.cpp +0 -13
- data/.doc/ext/rays/shader.cpp +83 -9
- data/README.md +1 -1
- data/Rakefile +21 -9
- data/VERSION +1 -1
- data/ext/rays/bitmap.cpp +22 -80
- data/ext/rays/bounds.cpp +100 -128
- data/ext/rays/color.cpp +232 -51
- data/ext/rays/color_space.cpp +140 -46
- data/ext/rays/defs.cpp +183 -0
- data/ext/rays/defs.h +26 -2
- data/ext/rays/extconf.rb +1 -2
- data/ext/rays/font.cpp +39 -22
- data/ext/rays/image.cpp +27 -39
- data/ext/rays/matrix.cpp +198 -30
- data/ext/rays/native.cpp +12 -6
- data/ext/rays/noise.cpp +55 -0
- data/ext/rays/painter.cpp +129 -315
- data/ext/rays/point.cpp +89 -81
- data/ext/rays/polygon.cpp +301 -0
- data/ext/rays/polygon_line.cpp +99 -0
- data/ext/rays/polyline.cpp +170 -0
- data/ext/rays/rays.cpp +0 -14
- data/ext/rays/shader.cpp +84 -9
- data/include/rays.h +10 -2
- data/include/rays/bitmap.h +14 -26
- data/include/rays/bounds.h +21 -4
- data/include/rays/color.h +25 -14
- data/include/rays/color_space.h +11 -8
- data/include/rays/coord.h +114 -0
- data/include/rays/debug.h +22 -0
- data/include/rays/defs.h +3 -0
- data/include/rays/font.h +4 -4
- data/include/rays/image.h +11 -17
- data/include/rays/matrix.h +50 -24
- data/include/rays/noise.h +42 -0
- data/include/rays/opengl.h +2 -50
- data/include/rays/painter.h +57 -99
- data/include/rays/point.h +44 -51
- data/include/rays/polygon.h +164 -0
- data/include/rays/polyline.h +65 -0
- data/include/rays/rays.h +3 -0
- data/include/rays/ruby.h +7 -1
- data/include/rays/ruby/bounds.h +1 -1
- data/include/rays/ruby/color.h +1 -1
- data/include/rays/ruby/color_space.h +1 -1
- data/include/rays/ruby/font.h +1 -1
- data/include/rays/ruby/matrix.h +1 -1
- data/include/rays/ruby/point.h +1 -1
- data/include/rays/ruby/polygon.h +52 -0
- data/include/rays/ruby/polyline.h +41 -0
- data/include/rays/ruby/shader.h +1 -1
- data/include/rays/shader.h +36 -8
- data/lib/rays.rb +6 -1
- data/lib/rays/bitmap.rb +0 -15
- data/lib/rays/bounds.rb +17 -23
- data/lib/rays/color.rb +20 -47
- data/lib/rays/color_space.rb +13 -13
- data/lib/rays/image.rb +2 -6
- data/lib/rays/matrix.rb +28 -0
- data/lib/rays/module.rb +4 -19
- data/lib/rays/painter.rb +60 -97
- data/lib/rays/point.rb +13 -21
- data/lib/rays/polygon.rb +50 -0
- data/lib/rays/polygon_line.rb +36 -0
- data/lib/rays/polyline.rb +32 -0
- data/lib/rays/shader.rb +20 -1
- data/rays.gemspec +5 -7
- data/src/bitmap.h +36 -0
- data/src/bounds.cpp +74 -11
- data/src/color.cpp +58 -23
- data/src/color_space.cpp +50 -32
- data/src/color_space.h +22 -0
- data/src/coord.cpp +170 -0
- data/src/coord.h +35 -0
- data/src/font.cpp +118 -0
- data/src/font.h +64 -0
- data/src/frame_buffer.cpp +37 -71
- data/src/frame_buffer.h +4 -4
- data/src/image.cpp +171 -97
- data/src/image.h +25 -0
- data/src/ios/bitmap.mm +107 -105
- data/src/ios/font.mm +48 -60
- data/src/ios/helper.h +2 -2
- data/src/ios/opengl.mm +19 -4
- data/src/ios/rays.mm +3 -0
- data/src/matrix.cpp +111 -26
- data/src/matrix.h +30 -0
- data/src/noise.cpp +74 -0
- data/src/opengl.cpp +9 -27
- data/src/opengl.h +37 -0
- data/src/osx/bitmap.mm +111 -106
- data/src/osx/font.mm +48 -61
- data/src/osx/helper.h +2 -2
- data/src/osx/opengl.mm +19 -83
- data/src/osx/rays.mm +3 -0
- data/src/painter.cpp +780 -696
- data/src/painter.h +24 -0
- data/src/point.cpp +140 -119
- data/src/polygon.cpp +1100 -0
- data/src/polygon.h +32 -0
- data/src/polyline.cpp +158 -0
- data/src/polyline.h +67 -0
- data/src/render_buffer.cpp +11 -4
- data/src/render_buffer.h +2 -2
- data/src/shader.cpp +163 -106
- data/src/shader.h +38 -0
- data/src/shader_program.cpp +533 -0
- data/src/{program.h → shader_program.h} +28 -16
- data/src/shader_source.cpp +140 -0
- data/src/shader_source.h +52 -0
- data/src/texture.cpp +136 -160
- data/src/texture.h +65 -0
- data/src/win32/bitmap.cpp +62 -52
- data/src/win32/font.cpp +11 -13
- data/src/win32/font.h +24 -0
- data/src/win32/gdi.h +6 -6
- data/test/helper.rb +0 -3
- data/test/test_bitmap.rb +31 -7
- data/test/test_bounds.rb +36 -0
- data/test/test_color.rb +59 -19
- data/test/test_color_space.rb +95 -0
- data/test/test_image.rb +24 -20
- data/test/test_matrix.rb +106 -0
- data/test/test_painter.rb +92 -46
- data/test/test_painter_shape.rb +57 -0
- data/test/test_point.rb +21 -0
- data/test/test_polygon.rb +234 -0
- data/test/test_polygon_line.rb +167 -0
- data/test/test_polyline.rb +145 -0
- data/test/test_shader.rb +9 -9
- metadata +88 -67
- data/.doc/ext/rays/texture.cpp +0 -138
- data/ext/rays/texture.cpp +0 -149
- data/include/rays/ruby/texture.h +0 -41
- data/include/rays/texture.h +0 -71
- data/lib/rays/texture.rb +0 -24
- data/src/program.cpp +0 -648
- data/test/test_texture.rb +0 -27
data/include/rays/matrix.h
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
#include <rays/defs.h>
|
8
|
+
#include <rays/point.h>
|
8
9
|
|
9
10
|
|
10
11
|
namespace Rays
|
@@ -14,48 +15,73 @@ namespace Rays
|
|
14
15
|
struct Matrix
|
15
16
|
{
|
16
17
|
|
18
|
+
typedef Matrix This;
|
19
|
+
|
20
|
+
enum {NROW = 4, NCOLUMN = 4, NELEM = NROW * NCOLUMN};
|
21
|
+
|
17
22
|
union
|
18
23
|
{
|
19
24
|
struct
|
20
25
|
{
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
+
coord
|
27
|
+
x0, y0, z0, w0,
|
28
|
+
x1, y1, z1, w1,
|
29
|
+
x2, y2, z2, w2,
|
30
|
+
x3, y3, z3, w3;
|
26
31
|
};
|
27
|
-
|
32
|
+
Coord4 column[NCOLUMN];
|
33
|
+
coord array[NELEM];
|
28
34
|
};
|
29
35
|
|
30
|
-
Matrix (
|
36
|
+
Matrix (coord value = 1);
|
31
37
|
|
32
38
|
Matrix (
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
39
|
+
coord x0, coord x1, coord x2, coord x3,
|
40
|
+
coord y0, coord y1, coord y2, coord y3,
|
41
|
+
coord z0, coord z1, coord z2, coord z3,
|
42
|
+
coord w0, coord w1, coord w2, coord w3);
|
43
|
+
|
44
|
+
Matrix (const coord* elements, size_t size);
|
45
|
+
|
46
|
+
This dup () const;
|
47
|
+
|
48
|
+
This& reset (coord value = 1);
|
49
|
+
|
50
|
+
This& reset (
|
51
|
+
coord x0, coord x1, coord x2, coord x3,
|
52
|
+
coord y0, coord y1, coord y2, coord y3,
|
53
|
+
coord z0, coord z1, coord z2, coord z3,
|
54
|
+
coord w0, coord w1, coord w2, coord w3);
|
55
|
+
|
56
|
+
This& reset (const coord* elements, size_t size);
|
57
|
+
|
58
|
+
This& translate (coord x, coord y, coord z = 0);
|
59
|
+
|
60
|
+
This& translate (const Coord3& translate);
|
61
|
+
|
62
|
+
This& scale (coord x, coord y, coord z = 1);
|
63
|
+
|
64
|
+
This& scale (const Coord3& scale);
|
65
|
+
|
66
|
+
This& rotate (float degree, coord x = 0, coord y = 0, coord z = 1);
|
37
67
|
|
38
|
-
|
68
|
+
This& rotate (float degree, const Coord3& normalized_axis);
|
39
69
|
|
40
|
-
|
70
|
+
coord& at (int row, int column);
|
41
71
|
|
42
|
-
|
72
|
+
coord at (int row, int column) const;
|
43
73
|
|
44
|
-
|
45
|
-
float a1, float a2, float a3, float a4,
|
46
|
-
float b1, float b2, float b3, float b4,
|
47
|
-
float c1, float c2, float c3, float c4,
|
48
|
-
float d1, float d2, float d3, float d4);
|
74
|
+
String inspect () const;
|
49
75
|
|
50
|
-
|
76
|
+
coord& operator [] (int index);
|
51
77
|
|
52
|
-
|
78
|
+
coord operator [] (int index) const;
|
53
79
|
|
54
|
-
|
80
|
+
This& operator *= (const This& rhs);
|
55
81
|
|
56
|
-
|
82
|
+
Point operator * (const Point& rhs) const;
|
57
83
|
|
58
|
-
|
84
|
+
This operator * (const This& rhs) const;
|
59
85
|
|
60
86
|
};// Matrix
|
61
87
|
|
@@ -0,0 +1,42 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __RAYS_NOISE_H__
|
4
|
+
#define __RAYS_NOISE_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <rays/defs.h>
|
8
|
+
|
9
|
+
|
10
|
+
namespace Rays
|
11
|
+
{
|
12
|
+
|
13
|
+
|
14
|
+
struct Coord3;
|
15
|
+
|
16
|
+
|
17
|
+
coord perlin (coord x);
|
18
|
+
|
19
|
+
coord perlin (coord x, coord y);
|
20
|
+
|
21
|
+
coord perlin (coord x, coord y, coord z);
|
22
|
+
|
23
|
+
coord perlin (coord x, coord y, coord z, coord w);
|
24
|
+
|
25
|
+
coord perlin (const Coord3& position);
|
26
|
+
|
27
|
+
|
28
|
+
coord simplex (coord x);
|
29
|
+
|
30
|
+
coord simplex (coord x, coord y);
|
31
|
+
|
32
|
+
coord simplex (coord x, coord y, coord z);
|
33
|
+
|
34
|
+
coord simplex (coord x, coord y, coord z, coord w);
|
35
|
+
|
36
|
+
coord simplex (const Coord3& position);
|
37
|
+
|
38
|
+
|
39
|
+
}// Rays
|
40
|
+
|
41
|
+
|
42
|
+
#endif//EOH
|
data/include/rays/opengl.h
CHANGED
@@ -4,65 +4,17 @@
|
|
4
4
|
#define __RAYS_OPENGL_H__
|
5
5
|
|
6
6
|
|
7
|
-
#if defined(OSX)
|
8
|
-
#include <OpenGL/gl.h>
|
9
|
-
#include <OpenGL/glext.h>
|
10
|
-
#elif defined(IOS)
|
11
|
-
#include <OpenGLES/ES1/gl.h>
|
12
|
-
#include <OpenGLES/ES1/glext.h>
|
13
|
-
#elif defined(WIN32)
|
14
|
-
#include <GL/gl.h>
|
15
|
-
#include <GL/glext.h>
|
16
|
-
#endif
|
17
|
-
|
18
|
-
|
19
7
|
namespace Rays
|
20
8
|
{
|
21
9
|
|
22
10
|
|
23
|
-
|
24
|
-
|
25
|
-
bool no_error ();
|
26
|
-
|
27
|
-
bool is_error (GLenum err);
|
28
|
-
|
29
|
-
void check_error(const char* file, int line);
|
30
|
-
|
31
|
-
void clear_error ();
|
11
|
+
typedef void* Context;
|
32
12
|
|
33
13
|
|
34
|
-
|
14
|
+
Context get_offscreen_context ();
|
35
15
|
|
36
16
|
|
37
17
|
}// Rays
|
38
18
|
|
39
19
|
|
40
|
-
#ifdef IOS
|
41
|
-
|
42
|
-
#define glGenFramebuffers glGenFramebuffersOES
|
43
|
-
#define glGenRenderbuffers glGenRenderbuffersOES
|
44
|
-
#define glDeleteFramebuffers glDeleteFramebuffersOES
|
45
|
-
#define glDeleteRenderbuffers glDeleteRenderbuffersOES
|
46
|
-
#define glBindFramebuffer glBindFramebufferOES
|
47
|
-
#define glBindRenderbuffer glBindRenderbufferOES
|
48
|
-
#define glCheckFramebufferStatus glCheckFramebufferStatusOES
|
49
|
-
#define glFramebufferTexture2D glFramebufferTexture2DOES
|
50
|
-
#define glRenderbufferStorage glRenderbufferStorageOES
|
51
|
-
#define glOrtho glOrthof
|
52
|
-
|
53
|
-
#define GL_UNSIGNED_INT GL_UNSIGNED_INT_OES
|
54
|
-
#define GL_FRAMEBUFFER GL_FRAMEBUFFER_OES
|
55
|
-
#define GL_RENDERBUFFER GL_RENDERBUFFER_OES
|
56
|
-
#define GL_DRAW_FRAMEBUFFER GL_DRAW_FRAMEBUFFER_APPLE
|
57
|
-
#define GL_READ_FRAMEBUFFER GL_READ_FRAMEBUFFER_APPLE
|
58
|
-
#define GL_DRAW_FRAMEBUFFER_BINDING GL_DRAW_FRAMEBUFFER_BINDING_APPLE
|
59
|
-
#define GL_READ_FRAMEBUFFER_BINDING GL_READ_FRAMEBUFFER_BINDING_APPLE
|
60
|
-
#define GL_COLOR_ATTACHMENT0 GL_COLOR_ATTACHMENT0_OES
|
61
|
-
#define GL_DEPTH_ATTACHMENT GL_DEPTH_ATTACHMENT_OES
|
62
|
-
#define GL_DEPTH_COMPONENT24 GL_DEPTH_COMPONENT24_OES
|
63
|
-
#define GL_FRAMEBUFFER_COMPLETE GL_FRAMEBUFFER_COMPLETE_OES
|
64
|
-
|
65
|
-
#endif// IOS
|
66
|
-
|
67
|
-
|
68
20
|
#endif//EOH
|
data/include/rays/painter.h
CHANGED
@@ -6,31 +6,21 @@
|
|
6
6
|
|
7
7
|
#include <xot/pimpl.h>
|
8
8
|
#include <rays/defs.h>
|
9
|
-
#include <rays/
|
9
|
+
#include <rays/point.h>
|
10
10
|
|
11
11
|
|
12
12
|
namespace Rays
|
13
13
|
{
|
14
14
|
|
15
15
|
|
16
|
-
struct Coord2;
|
17
|
-
|
18
|
-
struct Coord3;
|
19
|
-
|
20
|
-
struct Point;
|
21
|
-
|
22
16
|
struct Bounds;
|
23
|
-
|
24
17
|
struct Color;
|
25
|
-
|
26
18
|
struct Matrix;
|
27
19
|
|
28
|
-
class
|
29
|
-
|
20
|
+
class Polyline;
|
21
|
+
class Polygon;
|
30
22
|
class Image;
|
31
|
-
|
32
|
-
class Texture;
|
33
|
-
|
23
|
+
class Font;
|
34
24
|
class Shader;
|
35
25
|
|
36
26
|
|
@@ -39,31 +29,33 @@ namespace Rays
|
|
39
29
|
|
40
30
|
public:
|
41
31
|
|
42
|
-
enum
|
43
|
-
{
|
44
|
-
|
45
|
-
ELLIPSE_NSEGMENT = 32
|
46
|
-
|
47
|
-
};
|
48
|
-
|
49
32
|
Painter ();
|
50
33
|
|
51
34
|
~Painter ();
|
52
35
|
|
53
|
-
void canvas (
|
36
|
+
void canvas (
|
37
|
+
coord x, coord y, coord width, coord height,
|
38
|
+
float pixel_density = 1);
|
54
39
|
|
55
|
-
void canvas (
|
40
|
+
void canvas (
|
41
|
+
coord x, coord y, coord z, coord width, coord height, coord depth,
|
42
|
+
float pixel_density = 1);
|
56
43
|
|
57
|
-
void canvas (
|
44
|
+
void canvas (
|
45
|
+
const Bounds& bounds,
|
46
|
+
float pixel_density = 1);
|
58
47
|
|
59
|
-
void bind (const
|
48
|
+
void bind (const Image& image);
|
60
49
|
|
61
50
|
void unbind ();
|
62
51
|
|
63
52
|
const Bounds& bounds () const;
|
64
53
|
|
54
|
+
float pixel_density () const;
|
55
|
+
|
56
|
+
|
65
57
|
//
|
66
|
-
//
|
58
|
+
// drawing methods
|
67
59
|
//
|
68
60
|
void begin ();
|
69
61
|
|
@@ -71,17 +63,15 @@ namespace Rays
|
|
71
63
|
|
72
64
|
void clear ();
|
73
65
|
|
66
|
+
void polygon (const Polygon& polygon);
|
67
|
+
|
74
68
|
void line (coord x1, coord y1, coord x2, coord y2);
|
75
69
|
|
76
70
|
void line (const Point& p1, const Point& p2);
|
77
71
|
|
78
|
-
void
|
79
|
-
|
80
|
-
void lines (const Coord3* points, size_t size);
|
81
|
-
|
82
|
-
void polygon (const Coord2* points, size_t size);
|
72
|
+
void line (const Point* points, size_t size, bool loop = false);
|
83
73
|
|
84
|
-
void
|
74
|
+
void line (const Polyline& polyline);
|
85
75
|
|
86
76
|
void rect (
|
87
77
|
coord x, coord y, coord width, coord height,
|
@@ -89,7 +79,8 @@ namespace Rays
|
|
89
79
|
|
90
80
|
void rect (
|
91
81
|
coord x, coord y, coord width, coord height,
|
92
|
-
coord
|
82
|
+
coord round_left_top, coord round_right_top,
|
83
|
+
coord round_left_bottom, coord round_right_bottom);
|
93
84
|
|
94
85
|
void rect (
|
95
86
|
const Bounds& bounds,
|
@@ -97,34 +88,23 @@ namespace Rays
|
|
97
88
|
|
98
89
|
void rect (
|
99
90
|
const Bounds& bounds,
|
100
|
-
coord
|
91
|
+
coord round_left_top, coord round_right_top,
|
92
|
+
coord round_left_bottom, coord round_right_bottom);
|
101
93
|
|
102
94
|
void ellipse (
|
103
95
|
coord x, coord y, coord width, coord height = 0,
|
104
|
-
|
96
|
+
const Point& hole_size = 0,
|
97
|
+
float angle_from = 0, float angle_to = 360);
|
105
98
|
|
106
99
|
void ellipse (
|
107
100
|
const Bounds& bounds,
|
108
|
-
|
101
|
+
const Point& hole_size = 0,
|
102
|
+
float angle_from = 0, float angle_to = 360);
|
109
103
|
|
110
104
|
void ellipse (
|
111
|
-
const Point& center,
|
112
|
-
|
113
|
-
|
114
|
-
void arc (
|
115
|
-
coord x, coord y, coord width, coord height = 0,
|
116
|
-
float angle_from = 0, float angle_to = 360,
|
117
|
-
coord radius_min = 0, uint nsegment = 0);
|
118
|
-
|
119
|
-
void arc (
|
120
|
-
const Bounds& bounds,
|
121
|
-
float angle_from = 0, float angle_to = 360,
|
122
|
-
coord radius_min = 0, uint nsegment = 0);
|
123
|
-
|
124
|
-
void arc (
|
125
|
-
const Point& center, coord radius,
|
126
|
-
float angle_from = 0, float angle_to = 360,
|
127
|
-
coord radius_min = 0, uint nsegment = 0);
|
105
|
+
const Point& center, const Point& radius,
|
106
|
+
const Point& hole_radius = 0,
|
107
|
+
float angle_from = 0, float angle_to = 360);
|
128
108
|
|
129
109
|
void image (
|
130
110
|
const Image& image, coord x = 0, coord y = 0);
|
@@ -156,24 +136,17 @@ namespace Rays
|
|
156
136
|
const Image& image,
|
157
137
|
const Bounds& src_bounds, const Bounds& dest_bounds);
|
158
138
|
|
159
|
-
void text (
|
160
|
-
const char* str, coord x = 0, coord y = 0,
|
161
|
-
const Font* font = NULL);
|
139
|
+
void text (const char* str, coord x = 0, coord y = 0);
|
162
140
|
|
163
|
-
void text (
|
164
|
-
const char* str, const Point& position,
|
165
|
-
const Font* font = NULL);
|
141
|
+
void text (const char* str, const Point& position);
|
166
142
|
|
167
|
-
void text (
|
168
|
-
|
169
|
-
|
143
|
+
void text (const char* str, coord x, coord y, coord width, coord height);
|
144
|
+
|
145
|
+
void text (const char* str, const Bounds& bounds);
|
170
146
|
|
171
|
-
void text (
|
172
|
-
const char* str, const Bounds& bounds,
|
173
|
-
const Font* font = NULL);
|
174
147
|
|
175
148
|
//
|
176
|
-
//
|
149
|
+
// states
|
177
150
|
//
|
178
151
|
void set_background (float red, float green, float blue, float alpha = 1, bool clear = true);
|
179
152
|
|
@@ -199,6 +172,14 @@ namespace Rays
|
|
199
172
|
|
200
173
|
const Color& stroke () const;
|
201
174
|
|
175
|
+
void set_stroke_width (coord width);
|
176
|
+
|
177
|
+
coord stroke_width () const;
|
178
|
+
|
179
|
+
void set_nsegment (int nsegment);
|
180
|
+
|
181
|
+
uint nsegment () const;
|
182
|
+
|
202
183
|
void set_clip (coord x, coord y, coord width, coord height);
|
203
184
|
|
204
185
|
void set_clip (const Bounds& bounds);
|
@@ -213,40 +194,16 @@ namespace Rays
|
|
213
194
|
|
214
195
|
const Font& font () const;
|
215
196
|
|
216
|
-
void
|
217
|
-
|
218
|
-
void pop_attr ();
|
197
|
+
void set_shader (const Shader& shader);
|
219
198
|
|
220
|
-
|
221
|
-
// shader manipulation methods
|
222
|
-
//
|
223
|
-
void attach (const Shader& shader);
|
199
|
+
void no_shader ();
|
224
200
|
|
225
|
-
|
201
|
+
const Shader& shader () const;
|
226
202
|
|
227
|
-
void
|
203
|
+
void push_state ();
|
228
204
|
|
229
|
-
void
|
205
|
+
void pop_state ();
|
230
206
|
|
231
|
-
void set_uniform (const char* name, int arg1, int arg2, int arg3);
|
232
|
-
|
233
|
-
void set_uniform (const char* name, int arg1, int arg2, int arg3, int arg4);
|
234
|
-
|
235
|
-
void set_uniform (const char* name, const int* args, size_t size);
|
236
|
-
|
237
|
-
void set_uniform (const char* name, float arg1);
|
238
|
-
|
239
|
-
void set_uniform (const char* name, float arg1, float arg2);
|
240
|
-
|
241
|
-
void set_uniform (const char* name, float arg1, float arg2, float arg3);
|
242
|
-
|
243
|
-
void set_uniform (const char* name, float arg1, float arg2, float arg3, float arg4);
|
244
|
-
|
245
|
-
void set_uniform (const char* name, const float* args, size_t size);
|
246
|
-
|
247
|
-
void push_shader ();
|
248
|
-
|
249
|
-
void pop_shader ();
|
250
207
|
|
251
208
|
//
|
252
209
|
// transformation methods
|
@@ -259,9 +216,9 @@ namespace Rays
|
|
259
216
|
|
260
217
|
void scale (const Point& value);
|
261
218
|
|
262
|
-
void rotate (float
|
219
|
+
void rotate (float degree, coord x = 0, coord y = 0, coord z = 1);
|
263
220
|
|
264
|
-
void rotate (float
|
221
|
+
void rotate (float degree, const Point& normalized_axis);
|
265
222
|
|
266
223
|
void set_matrix (float value = 1);
|
267
224
|
|
@@ -271,7 +228,7 @@ namespace Rays
|
|
271
228
|
float c1, float c2, float c3, float c4,
|
272
229
|
float d1, float d2, float d3, float d4);
|
273
230
|
|
274
|
-
void set_matrix (const float* elements);
|
231
|
+
void set_matrix (const float* elements, size_t size);
|
275
232
|
|
276
233
|
void set_matrix (const Matrix& matrix);
|
277
234
|
|
@@ -286,9 +243,10 @@ namespace Rays
|
|
286
243
|
|
287
244
|
bool operator ! () const;
|
288
245
|
|
246
|
+
|
289
247
|
struct Data;
|
290
248
|
|
291
|
-
Xot::
|
249
|
+
Xot::PSharedImpl<Data> self;
|
292
250
|
|
293
251
|
};// Painter
|
294
252
|
|