mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-14 16:09:06 +07:00
set_viewport as rect
This commit is contained in:
@@ -758,7 +758,7 @@ namespace e2d
|
||||
render& clear_depth_buffer(f32 value) noexcept;
|
||||
render& clear_stencil_buffer(u8 value) noexcept;
|
||||
render& clear_color_buffer(const color& value) noexcept;
|
||||
render& set_viewport(const v2u& pos, const v2u& size) noexcept;
|
||||
render& set_viewport(const r4u& rect) noexcept;
|
||||
render& set_render_target(const render_target_ptr& rt) noexcept;
|
||||
private:
|
||||
class internal_state;
|
||||
|
||||
@@ -120,8 +120,7 @@ int e2d_main() {
|
||||
the<vfs>().open(url("ships://ship (19).png")));
|
||||
|
||||
const auto shader = the<render>().create_shader(
|
||||
make_memory_stream(buffer(vs_source_cstr, std::strlen(vs_source_cstr))),
|
||||
make_memory_stream(buffer(fs_source_cstr, std::strlen(fs_source_cstr))));
|
||||
vs_source_cstr, fs_source_cstr);
|
||||
|
||||
const auto indices = generate_quad_indices();
|
||||
const auto index_buffer = the<render>().create_index_buffer(
|
||||
|
||||
@@ -178,8 +178,7 @@ int e2d_main() {
|
||||
the<vfs>().open(url("ships://ship (3).png")));
|
||||
|
||||
const auto shader = the<render>().create_shader(
|
||||
make_memory_stream(buffer(vs_source_cstr, std::strlen(vs_source_cstr))),
|
||||
make_memory_stream(buffer(fs_source_cstr, std::strlen(fs_source_cstr))));
|
||||
vs_source_cstr, fs_source_cstr);
|
||||
|
||||
const auto indices = generate_cube_indices();
|
||||
const auto index_buffer = the<render>().create_index_buffer(
|
||||
|
||||
@@ -133,8 +133,7 @@ int e2d_main() {
|
||||
the<vfs>().open(url("ships://ship (3).png")));
|
||||
|
||||
const auto shader = the<render>().create_shader(
|
||||
make_memory_stream(buffer(vs_source_cstr, std::strlen(vs_source_cstr))),
|
||||
make_memory_stream(buffer(fs_source_cstr, std::strlen(fs_source_cstr))));
|
||||
vs_source_cstr, fs_source_cstr);
|
||||
|
||||
const auto indices = generate_cube_indices();
|
||||
const auto index_buffer = the<render>().create_index_buffer(
|
||||
@@ -214,7 +213,7 @@ int e2d_main() {
|
||||
|
||||
the<render>()
|
||||
.set_render_target(rt)
|
||||
.set_viewport(v2u::zero(), rt->size())
|
||||
.set_viewport(rt->size())
|
||||
.clear_depth_buffer(1.f)
|
||||
.clear_stencil_buffer(0)
|
||||
.clear_color_buffer({0.f, 0.4f, 0.f, 1.f})
|
||||
@@ -228,7 +227,7 @@ int e2d_main() {
|
||||
|
||||
the<render>()
|
||||
.set_render_target(nullptr)
|
||||
.set_viewport(v2u::zero(), the<window>().real_size())
|
||||
.set_viewport(the<window>().real_size())
|
||||
.clear_depth_buffer(1.f)
|
||||
.clear_stencil_buffer(0)
|
||||
.clear_color_buffer({1.f, 0.4f, 0.f, 1.f})
|
||||
|
||||
@@ -253,8 +253,8 @@ namespace e2d
|
||||
return *this;
|
||||
}
|
||||
|
||||
render& render::set_viewport(const v2u& pos, const v2u& size) noexcept {
|
||||
E2D_UNUSED(pos, size);
|
||||
render& render::set_viewport(const r4u& rect) noexcept {
|
||||
E2D_UNUSED(rect);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
@@ -849,16 +849,17 @@ namespace e2d
|
||||
return *this;
|
||||
}
|
||||
|
||||
render& render::set_viewport(const v2u& pos, const v2u& size) noexcept {
|
||||
render& render::set_viewport(const r4u& rect) noexcept {
|
||||
E2D_ASSERT(
|
||||
std::this_thread::get_id() ==
|
||||
modules::main_thread<render>());
|
||||
|
||||
const r4u vp = make_minmax_rect(rect);
|
||||
GL_CHECK_CODE(state_->dbg(), glViewport(
|
||||
math::numeric_cast<GLint>(pos.x),
|
||||
math::numeric_cast<GLint>(pos.y),
|
||||
math::numeric_cast<GLsizei>(size.x),
|
||||
math::numeric_cast<GLsizei>(size.y)));
|
||||
math::numeric_cast<GLint>(vp.position.x),
|
||||
math::numeric_cast<GLint>(vp.position.y),
|
||||
math::numeric_cast<GLsizei>(vp.size.x),
|
||||
math::numeric_cast<GLsizei>(vp.size.y)));
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user