Make gfx::mesh only bind index buffer as GL_ELEMENT_ARRAY_BUFFER, in accordance with WebGL restrictions
This commit is contained in:
parent
4e2aa5f577
commit
f75c04d988
2 changed files with 7 additions and 13 deletions
|
|
@ -195,11 +195,11 @@ namespace psemek::gfx
|
|||
GLenum index_type() const { return info_.index_type_; }
|
||||
|
||||
buffer & vertex_buffer() { return vertex_buffer_; }
|
||||
buffer & index_buffer() { return index_buffer_; }
|
||||
auto & index_buffer() { return index_buffer_; }
|
||||
buffer & instance_buffer() { return instance_buffer_; }
|
||||
|
||||
buffer const & vertex_buffer() const { return vertex_buffer_; }
|
||||
buffer const & index_buffer() const { return index_buffer_; }
|
||||
auto const & index_buffer() const { return index_buffer_; }
|
||||
buffer const & instance_buffer() const { return instance_buffer_; }
|
||||
|
||||
// Drawing commands
|
||||
|
|
@ -211,7 +211,7 @@ namespace psemek::gfx
|
|||
private:
|
||||
array array_;
|
||||
buffer vertex_buffer_ = buffer::null();
|
||||
buffer index_buffer_ = buffer::null();
|
||||
basic_buffer<gl::ELEMENT_ARRAY_BUFFER> index_buffer_ = basic_buffer<gl::ELEMENT_ARRAY_BUFFER>::null();
|
||||
buffer instance_buffer_ = buffer::null();
|
||||
|
||||
struct mesh_info
|
||||
|
|
@ -298,11 +298,8 @@ namespace psemek::gfx
|
|||
assert((index_count % (*n)) == 0);
|
||||
|
||||
if (!index_buffer_)
|
||||
{
|
||||
index_buffer_ = buffer{};
|
||||
array_.bind();
|
||||
gl::BindBuffer(gl::ELEMENT_ARRAY_BUFFER, index_buffer_.id());
|
||||
}
|
||||
index_buffer_ = {};
|
||||
array_.bind();
|
||||
index_buffer_.load(indices, index_count, usage);
|
||||
info_.index_count_ = index_count;
|
||||
info_.indexed_ = true;
|
||||
|
|
|
|||
|
|
@ -144,11 +144,8 @@ namespace psemek::gfx
|
|||
assert(vertex_buffer_);
|
||||
|
||||
if (!index_buffer_)
|
||||
{
|
||||
index_buffer_ = buffer{};
|
||||
array_.bind();
|
||||
gl::BindBuffer(gl::ELEMENT_ARRAY_BUFFER, index_buffer_.id());
|
||||
}
|
||||
index_buffer_ = {};
|
||||
array_.bind();
|
||||
vertex_buffer_.load(vertices, vertex_size * vertex_count, usage);
|
||||
index_buffer_.load(indices, index_size(index_type) * index_count, usage);
|
||||
info_.vertex_count_ = vertex_count;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue