Skip to content

Commit aaf06d4

Browse files
committed
context
1 parent 3e543cd commit aaf06d4

27 files changed

+76
-67
lines changed

src/ruis/render/opengl/context.cpp

+8-6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2121

2222
#include "context.hpp"
2323

24+
#include <utki/shared.hpp>
25+
2426
#include "shaders/shader_color.hpp"
2527
#include "shaders/shader_color_pos_lum.hpp"
2628
#include "shaders/shader_color_pos_tex.hpp"
@@ -35,16 +37,16 @@ utki::shared_ref<ruis::render::context::shaders> context::create_shaders()
3537
// TODO: are those lint supressions still valid?
3638
auto ret = utki::make_shared<ruis::render::context::shaders>();
3739
// NOLINTNEXTLINE(bugprone-unused-return-value, "false positive")
38-
ret.get().pos_tex = std::make_unique<shader_pos_tex>();
40+
ret.get().pos_tex = std::make_unique<shader_pos_tex>(this->get_shared_ref());
3941
// NOLINTNEXTLINE(bugprone-unused-return-value, "false positive")
40-
ret.get().color_pos = std::make_unique<shader_color>();
42+
ret.get().color_pos = std::make_unique<shader_color>(this->get_shared_ref());
4143
// NOLINTNEXTLINE(bugprone-unused-return-value, "false positive")
42-
ret.get().pos_clr = std::make_unique<shader_pos_clr>();
44+
ret.get().pos_clr = std::make_unique<shader_pos_clr>(this->get_shared_ref());
4345
// NOLINTNEXTLINE(bugprone-unused-return-value, "false positive")
44-
ret.get().color_pos_tex = std::make_unique<shader_color_pos_tex>();
46+
ret.get().color_pos_tex = std::make_unique<shader_color_pos_tex>(this->get_shared_ref());
4547
// NOLINTNEXTLINE(bugprone-unused-return-value, "false positive")
46-
ret.get().color_pos_tex_alpha = std::make_unique<shader_color_pos_tex_alpha>();
48+
ret.get().color_pos_tex_alpha = std::make_unique<shader_color_pos_tex_alpha>(this->get_shared_ref());
4749
// NOLINTNEXTLINE(bugprone-unused-return-value, "false positive")
48-
ret.get().color_pos_lum = std::make_unique<shader_color_pos_lum>();
50+
ret.get().color_pos_lum = std::make_unique<shader_color_pos_lum>(this->get_shared_ref());
4951
return ret;
5052
}

src/ruis/render/opengl/context.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2222
#pragma once
2323

2424
#include <ruis/render/context.hpp>
25+
#include <utki/shared.hpp>
2526

2627
namespace ruis::render::opengl {
2728

src/ruis/render/opengl/factory.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ utki::shared_ref<ruis::render::texture_2d> factory::create_texture_2d_internal(
9999
)
100100
{
101101
return utki::make_shared<texture_2d>(
102-
this->get_renderer(), //
102+
this->render_context, //
103103
type,
104104
dims,
105105
data,
@@ -112,7 +112,7 @@ utki::shared_ref<ruis::render::texture_depth> factory::create_texture_depth(
112112
)
113113
{
114114
return utki::make_shared<texture_depth>(
115-
this->get_renderer(), //
115+
this->render_context, //
116116
dims
117117
);
118118
}
@@ -165,7 +165,7 @@ utki::shared_ref<ruis::render::texture_cube> factory::create_texture_cube(
165165
}
166166

167167
return utki::make_shared<texture_cube>(
168-
this->get_renderer(), //
168+
this->render_context, //
169169
faces
170170
);
171171
}
@@ -175,7 +175,7 @@ utki::shared_ref<ruis::render::vertex_buffer> factory::create_vertex_buffer(
175175
)
176176
{
177177
return utki::make_shared<vertex_buffer>(
178-
this->get_renderer(), //
178+
this->render_context, //
179179
vertices
180180
);
181181
}
@@ -185,7 +185,7 @@ utki::shared_ref<ruis::render::vertex_buffer> factory::create_vertex_buffer(
185185
)
186186
{
187187
return utki::make_shared<vertex_buffer>(
188-
this->get_renderer(), //
188+
this->render_context, //
189189
vertices
190190
);
191191
}
@@ -195,15 +195,15 @@ utki::shared_ref<ruis::render::vertex_buffer> factory::create_vertex_buffer(
195195
)
196196
{
197197
return utki::make_shared<vertex_buffer>(
198-
this->get_renderer(), //
198+
this->render_context, //
199199
vertices
200200
);
201201
}
202202

203203
utki::shared_ref<ruis::render::vertex_buffer> factory::create_vertex_buffer(utki::span<const float> vertices)
204204
{
205205
return utki::make_shared<vertex_buffer>(
206-
this->get_renderer(), //
206+
this->render_context, //
207207
vertices
208208
);
209209
}
@@ -215,7 +215,7 @@ utki::shared_ref<ruis::render::vertex_array> factory::create_vertex_array(
215215
)
216216
{
217217
return utki::make_shared<vertex_array>(
218-
this->get_renderer(), //
218+
this->render_context, //
219219
std::move(buffers),
220220
std::move(indices),
221221
mode
@@ -225,15 +225,15 @@ utki::shared_ref<ruis::render::vertex_array> factory::create_vertex_array(
225225
utki::shared_ref<ruis::render::index_buffer> factory::create_index_buffer(utki::span<const uint16_t> indices)
226226
{
227227
return utki::make_shared<index_buffer>(
228-
this->get_renderer(), //
228+
this->render_context, //
229229
indices
230230
);
231231
}
232232

233233
utki::shared_ref<ruis::render::index_buffer> factory::create_index_buffer(utki::span<const uint32_t> indices)
234234
{
235235
return utki::make_shared<index_buffer>(
236-
this->get_renderer(), //
236+
this->render_context, //
237237
indices
238238
);
239239
}

src/ruis/render/opengl/index_buffer.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2828
using namespace ruis::render::opengl;
2929

3030
index_buffer::index_buffer(
31-
utki::shared_ref<ruis::render::renderer> renderer, //
31+
utki::shared_ref<ruis::render::context> render_context, //
3232
const void* data,
3333
size_t size_bytes,
3434
size_t size,
3535
GLenum element_type
3636
) :
37-
ruis::render::index_buffer(std::move(renderer)),
37+
ruis::render::index_buffer(std::move(render_context)),
3838
element_type(element_type),
3939
elements_count(GLsizei(size))
4040
{
@@ -54,11 +54,11 @@ index_buffer::index_buffer(
5454
}
5555

5656
index_buffer::index_buffer(
57-
utki::shared_ref<ruis::render::renderer> renderer, //
57+
utki::shared_ref<ruis::render::context> render_context, //
5858
utki::span<const uint16_t> indices
5959
) :
6060
index_buffer(
61-
std::move(renderer), //
61+
std::move(render_context), //
6262
indices.data(),
6363
indices.size_bytes(),
6464
indices.size(),
@@ -67,11 +67,11 @@ index_buffer::index_buffer(
6767
{}
6868

6969
index_buffer::index_buffer(
70-
utki::shared_ref<ruis::render::renderer> renderer, //
70+
utki::shared_ref<ruis::render::context> render_context, //
7171
utki::span<const uint32_t> indices
7272
) :
7373
index_buffer(
74-
std::move(renderer), //
74+
std::move(render_context), //
7575
indices.data(),
7676
indices.size_bytes(),
7777
indices.size(),

src/ruis/render/opengl/index_buffer.hpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class index_buffer :
3838

3939
private:
4040
index_buffer(
41-
utki::shared_ref<ruis::render::renderer> renderer, //
41+
utki::shared_ref<ruis::render::context> render_context, //
4242
const void* data,
4343
size_t size_bytes,
4444
size_t size,
@@ -47,11 +47,11 @@ class index_buffer :
4747

4848
public:
4949
index_buffer(
50-
utki::shared_ref<ruis::render::renderer> renderer, //
50+
utki::shared_ref<ruis::render::context> render_context, //
5151
utki::span<const uint16_t> indices
5252
);
5353
index_buffer(
54-
utki::shared_ref<ruis::render::renderer> renderer, //
54+
utki::shared_ref<ruis::render::context> render_context, //
5555
utki::span<const uint32_t> indices
5656
);
5757

src/ruis/render/opengl/shaders/shader_color.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2323

2424
using namespace ruis::render::opengl;
2525

26-
shader_color::shader_color() :
26+
shader_color::shader_color(utki::shared_ref<ruis::render::context> render_context) :
27+
ruis::render::coloring_shader(std::move(render_context)),
2728
shader_base(
2829
R"qwertyuiop(
2930
attribute vec4 a0;

src/ruis/render/opengl/shaders/shader_color.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2121

2222
#pragma once
2323

24-
#include <ruis/render/coloring_shader.hpp>
24+
#include <ruis/render/shaders/coloring_shader.hpp>
2525

2626
#include "../shader_base.hpp"
2727

@@ -34,7 +34,7 @@ class shader_color :
3434
GLint color_uniform;
3535

3636
public:
37-
shader_color();
37+
shader_color(utki::shared_ref<ruis::render::context> render_context);
3838

3939
shader_color(const shader_color&) = delete;
4040
shader_color& operator=(const shader_color&) = delete;

src/ruis/render/opengl/shaders/shader_color_pos_lum.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2323

2424
using namespace ruis::render::opengl;
2525

26-
shader_color_pos_lum::shader_color_pos_lum() :
26+
shader_color_pos_lum::shader_color_pos_lum(utki::shared_ref<ruis::render::context> render_context) :
27+
ruis::render::coloring_shader(std::move(render_context)),
2728
shader_base(
2829
R"qwertyuiop(
2930
attribute vec4 a0;

src/ruis/render/opengl/shaders/shader_color_pos_lum.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2121

2222
#pragma once
2323

24-
#include <ruis/render/coloring_shader.hpp>
24+
#include <ruis/render/shaders/coloring_shader.hpp>
2525

2626
#include "../shader_base.hpp"
2727

@@ -34,7 +34,7 @@ class shader_color_pos_lum :
3434
GLint color_uniform;
3535

3636
public:
37-
shader_color_pos_lum();
37+
shader_color_pos_lum(utki::shared_ref<ruis::render::context> render_context);
3838

3939
shader_color_pos_lum(const shader_color_pos_lum&) = delete;
4040
shader_color_pos_lum& operator=(const shader_color_pos_lum&) = delete;

src/ruis/render/opengl/shaders/shader_color_pos_tex.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2525

2626
using namespace ruis::render::opengl;
2727

28-
shader_color_pos_tex::shader_color_pos_tex() :
28+
shader_color_pos_tex::shader_color_pos_tex(utki::shared_ref<ruis::render::context> render_context) :
29+
ruis::render::coloring_texturing_shader(std::move(render_context)),
2930
shader_base(
3031
R"qwertyuiop(
3132
attribute vec4 a0;

src/ruis/render/opengl/shaders/shader_color_pos_tex.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2121

2222
#pragma once
2323

24-
#include <ruis/render/coloring_texturing_shader.hpp>
24+
#include <ruis/render/shaders/coloring_texturing_shader.hpp>
2525

2626
#include "../shader_base.hpp"
2727

@@ -35,7 +35,7 @@ class shader_color_pos_tex :
3535
GLint color_uniform;
3636

3737
public:
38-
shader_color_pos_tex();
38+
shader_color_pos_tex(utki::shared_ref<ruis::render::context> render_context);
3939

4040
shader_color_pos_tex(const shader_color_pos_tex&) = delete;
4141
shader_color_pos_tex& operator=(const shader_color_pos_tex&) = delete;

src/ruis/render/opengl/shaders/shader_color_pos_tex_alpha.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2525

2626
using namespace ruis::render::opengl;
2727

28-
shader_color_pos_tex_alpha::shader_color_pos_tex_alpha() :
28+
shader_color_pos_tex_alpha::shader_color_pos_tex_alpha(utki::shared_ref<ruis::render::context> render_context) :
29+
ruis::render::coloring_texturing_shader(std::move(render_context)),
2930
shader_base(
3031
R"qwertyuiop(
3132
attribute vec4 a0;

src/ruis/render/opengl/shaders/shader_color_pos_tex_alpha.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2121

2222
#pragma once
2323

24-
#include <ruis/render/coloring_texturing_shader.hpp>
24+
#include <ruis/render/shaders/coloring_texturing_shader.hpp>
2525

2626
#include "../shader_base.hpp"
2727

@@ -35,7 +35,7 @@ class shader_color_pos_tex_alpha :
3535
GLint color_uniform;
3636

3737
public:
38-
shader_color_pos_tex_alpha();
38+
shader_color_pos_tex_alpha(utki::shared_ref<ruis::render::context> render_context);
3939

4040
shader_color_pos_tex_alpha(const shader_color_pos_tex_alpha&) = delete;
4141
shader_color_pos_tex_alpha& operator=(const shader_color_pos_tex_alpha&) = delete;

src/ruis/render/opengl/shaders/shader_pos_clr.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2323

2424
using namespace ruis::render::opengl;
2525

26-
shader_pos_clr::shader_pos_clr() :
26+
shader_pos_clr::shader_pos_clr(utki::shared_ref<ruis::render::context> render_context) :
27+
ruis::render::shader(std::move(render_context)),
2728
shader_base(
2829
R"qwertyuiop(
2930
uniform mat4 matrix;

src/ruis/render/opengl/shaders/shader_pos_clr.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2121

2222
#pragma once
2323

24-
#include <ruis/render/shader.hpp>
24+
#include <ruis/render/shaders/shader.hpp>
2525

2626
#include "../shader_base.hpp"
2727

@@ -32,7 +32,7 @@ class shader_pos_clr :
3232
public shader_base
3333
{
3434
public:
35-
shader_pos_clr();
35+
shader_pos_clr(utki::shared_ref<ruis::render::context> render_context);
3636

3737
shader_pos_clr(const shader_pos_clr&) = delete;
3838
shader_pos_clr& operator=(const shader_pos_clr&) = delete;

src/ruis/render/opengl/shaders/shader_pos_tex.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2525

2626
using namespace ruis::render::opengl;
2727

28-
shader_pos_tex::shader_pos_tex() :
28+
shader_pos_tex::shader_pos_tex(utki::shared_ref<ruis::render::context> render_context) :
29+
ruis::render::texturing_shader(std::move(render_context)),
2930
shader_base(
3031
R"qwertyuiop(
3132
attribute vec4 a0; // position

src/ruis/render/opengl/shaders/shader_pos_tex.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2121

2222
#pragma once
2323

24-
#include <ruis/render/texturing_shader.hpp>
24+
#include <ruis/render/shaders/texturing_shader.hpp>
2525

2626
#include "../shader_base.hpp"
2727

@@ -34,7 +34,7 @@ class shader_pos_tex :
3434
GLint texture_uniform;
3535

3636
public:
37-
shader_pos_tex();
37+
shader_pos_tex(utki::shared_ref<ruis::render::context> render_context);
3838

3939
shader_pos_tex(const shader_pos_tex&) = delete;
4040
shader_pos_tex& operator=(const shader_pos_tex&) = delete;

src/ruis/render/opengl/texture_2d.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2626
using namespace ruis::render::opengl;
2727

2828
texture_2d::texture_2d(
29-
utki::shared_ref<ruis::render::renderer> renderer, //
29+
utki::shared_ref<ruis::render::context> render_context, //
3030
rasterimage::format type,
3131
rasterimage::dimensioned::dimensions_type dims,
3232
utki::span<const uint8_t> data,
3333
ruis::render::factory::texture_2d_parameters params
3434
) :
3535
ruis::render::texture_2d(
36-
std::move(renderer), //
36+
std::move(render_context), //
3737
dims
3838
)
3939
{

src/ruis/render/opengl/texture_2d.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class texture_2d :
3434
{
3535
public:
3636
texture_2d(
37-
utki::shared_ref<ruis::render::renderer> renderer, //
37+
utki::shared_ref<ruis::render::context> render_context, //
3838
rasterimage::format type,
3939
rasterimage::dimensioned::dimensions_type dims,
4040
utki::span<const uint8_t> data,

0 commit comments

Comments
 (0)