| 44 | } |
| 45 | |
| 46 | bool Background::initialize() { |
| 47 | if (!background_prog.create(shader::background_vert_shader, |
| 48 | shader::background_frag_shader, |
| 49 | ShaderProgram::TexelChannels::FormatR, |
| 50 | "rgba", |
| 51 | {})) { |
| 52 | return false; |
| 53 | } |
| 54 | |
| 55 | // Generate square VBO |
| 56 | // clang-format off |
| 57 | static constexpr auto vertex_buffer_data = std::array{ |
| 58 | -1.0f, -1.0f, |
| 59 | 1.0f, -1.0f, |
| 60 | 1.0f, 1.0f, |
| 61 | 1.0f, 1.0f, |
| 62 | -1.0f, 1.0f, |
| 63 | -1.0f, -1.0f, |
| 64 | }; |
| 65 | // clang-format on |
| 66 | gl_canvas_ref().glGenBuffers(1, &background_vbo); |
| 67 | |
| 68 | gl_canvas_ref().glBindBuffer(GL_ARRAY_BUFFER, background_vbo); |
| 69 | gl_canvas_ref().glBufferData(GL_ARRAY_BUFFER, |
| 70 | sizeof(vertex_buffer_data), |
| 71 | vertex_buffer_data.data(), |
| 72 | GL_STATIC_DRAW); |
| 73 | |
| 74 | return true; |
| 75 | } |
| 76 | |
| 77 | void Background::draw(const mat4&, const mat4&) { |
| 78 | background_prog.use(); |
nothing calls this directly
no test coverage detected