| 576 | } |
| 577 | |
| 578 | bool Buffer::initialize() { |
| 579 | if (!create_shader_program()) { |
| 580 | return false; |
| 581 | } |
| 582 | |
| 583 | // Buffer VBO |
| 584 | // clang-format off |
| 585 | static constexpr auto g_vertex_buffer_data = std::array{ |
| 586 | -0.5f, -0.5f, |
| 587 | 0.5f, -0.5f, |
| 588 | 0.5f, 0.5f, |
| 589 | 0.5f, 0.5f, |
| 590 | -0.5f, 0.5f, |
| 591 | -0.5f, -0.5f, |
| 592 | }; |
| 593 | // clang-format on |
| 594 | |
| 595 | gl_canvas_ref().glGenBuffers(1, &vbo_); |
| 596 | gl_canvas_ref().glBindBuffer(GL_ARRAY_BUFFER, vbo_); |
| 597 | gl_canvas_ref().glBufferData(GL_ARRAY_BUFFER, |
| 598 | sizeof(g_vertex_buffer_data), |
| 599 | g_vertex_buffer_data.data(), |
| 600 | GL_STATIC_DRAW); |
| 601 | |
| 602 | setup_gl_buffer(); |
| 603 | |
| 604 | update_object_pose(); |
| 605 | |
| 606 | return true; |
| 607 | } |
| 608 | |
| 609 | void Buffer::draw(const mat4& projection, const mat4& viewInv) { |
| 610 | buff_prog_.use(); |
nothing calls this directly
no test coverage detected