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