update none render

This commit is contained in:
2018-10-03 20:37:02 +07:00
parent 3038c6bb0e
commit 7ba61f6b57

View File

@@ -30,13 +30,44 @@ namespace e2d
~internal_state() noexcept = default;
};
//
// index_buffer::internal_state
//
class index_buffer::internal_state final : private e2d::noncopyable {
public:
std::size_t count = 0;
public:
internal_state(std::size_t ncount)
: count(ncount) {}
~internal_state() noexcept = default;
};
//
// vertex_buffer::internal_state
//
class vertex_buffer::internal_state final : private e2d::noncopyable {
public:
std::size_t count = 0;
public:
internal_state(std::size_t ncount)
: count(ncount) {}
~internal_state() noexcept = default;
};
//
// render::internal_state
//
class render::internal_state final : private e2d::noncopyable {
public:
internal_state() {}
debug& debug;
window& window;
public:
internal_state(class debug& debug, class window& window)
: debug(debug)
, window(window) {}
~internal_state() noexcept = default;
};
@@ -64,13 +95,28 @@ namespace e2d
E2D_UNUSED(min, mag);
}
//
// index_buffer
//
index_buffer::index_buffer(internal_state_uptr state)
: state_(std::move(state)) {}
index_buffer::~index_buffer() noexcept = default;
//
// vertex_buffer
//
vertex_buffer::vertex_buffer(internal_state_uptr state)
: state_(std::move(state)) {}
vertex_buffer::~vertex_buffer() noexcept = default;
//
// render
//
render::render(debug& debug)
: debug_(debug)
, state_(new internal_state()) {}
render::render(debug& d, window& w)
: state_(new internal_state(d, w)) {}
render::~render() noexcept = default;
shader_ptr render::create_shader(input_stream_uptr vertex, input_stream_uptr fragment) {
@@ -88,10 +134,36 @@ namespace e2d
return nullptr;
}
index_buffer_ptr render::create_index_buffer(
const u16* indices,
std::size_t count,
index_buffer::usage usage)
{
E2D_UNUSED(indices, count, usage);
return nullptr;
}
vertex_buffer_ptr render::create_vertex_buffer(
const vertex* vertices,
std::size_t count,
vertex_buffer::usage usage)
{
E2D_UNUSED(vertices, count, usage);
return nullptr;
}
void render::clear(bool color, bool depth, bool stencil) noexcept {
E2D_UNUSED(color, depth, stencil);
}
void render::draw(
const shader_ptr& ps,
const index_buffer_ptr& ib,
const vertex_buffer_ptr& vb) noexcept
{
E2D_UNUSED(ps, ib, vb);
}
void render::set_view(const m4f& view) noexcept {
E2D_UNUSED(view);
}