Allow rendering color

This commit is contained in:
David Allemang
2021-10-24 20:31:41 -04:00
parent 350ee5652f
commit 4a00c51bbf

View File

@@ -98,6 +98,8 @@ struct Prop {
cgl::Buffer<vec4> vbo; cgl::Buffer<vec4> vbo;
cgl::Buffer<Primitive<N>> ibo; cgl::Buffer<Primitive<N>> ibo;
vec3 color;
Prop() : vao(), vbo(), ibo() {} Prop() : vao(), vbo(), ibo() {}
}; };
@@ -120,9 +122,9 @@ struct Renderer {
template<unsigned N> template<unsigned N>
struct SliceProp : public Prop<N> { struct SliceProp : public Prop<N> {
vec3 color; SliceProp(vec3 color) : Prop<N>() {
this->color = color;
SliceProp(vec3 color) : Prop<N>(), color(color) {} }
SliceProp(SliceProp &) = delete; SliceProp(SliceProp &) = delete;
@@ -173,8 +175,8 @@ struct SliceRenderer : public Renderer<N> {
void _draw(const Prop<N> &prop) const override { void _draw(const Prop<N> &prop) const override {
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 1, prop.vbo); glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 1, prop.vbo);
// glProgramUniform3fv(solid, 2, 1, &prop.color.front()); glProgramUniform3fv(solid, 2, 1, &prop.color.front());
glProgramUniform3f(solid, 2, 1.f, 1.f, 1.f); // glProgramUniform3f(solid, 2, 1.f, 1.f, 1.f);
prop.vao.bound([&]() { prop.vao.bound([&]() {
glDrawArrays(GL_POINTS, 0, prop.ibo.count() * N); glDrawArrays(GL_POINTS, 0, prop.ibo.count() * N);
}); });