Browse Source

Initialize OpenGL context before calling scene->draw().

tags/v1.0.0
Andrew Belt 6 years ago
parent
commit
47ce8272ab
2 changed files with 11 additions and 9 deletions
  1. +2
    -2
      include/engine/ParamQuantity.hpp
  2. +9
    -7
      src/window.cpp

+ 2
- 2
include/engine/ParamQuantity.hpp View File

@@ -27,8 +27,8 @@ struct ParamQuantity : Quantity {
*/
std::string label;
/** The numerical unit of measurement appended to the value.
Units that are words should have a space to separate the numerical value from the number (e.g. " semitones", " octaves").
Unit abbreviations and symbols should have no space (e.g. "V", "ms", "%", "º").
Unit words and abbreviations should have a space to separate the numerical value from the number (e.g. " semitones", " V", " ms").
Unit symbols should have no space (e.g. "%", "º").
*/
std::string unit;
/** Set to 0 for linear, positive for exponential, negative for logarithmic. */


+ 9
- 7
src/window.cpp View File

@@ -354,27 +354,29 @@ void Window::run() {

// DEBUG("%f %f %d %d", pixelRatio, windowRatio, fbWidth, winWidth);
// Resize scene
APP->event->rootWidget->box.size = math::Vec(fbWidth, fbHeight).div(pixelRatio);
APP->scene->box.size = math::Vec(fbWidth, fbHeight).div(pixelRatio);

// Step scene
APP->event->rootWidget->step();
APP->scene->step();

// Render scene
bool visible = glfwGetWindowAttrib(win, GLFW_VISIBLE) && !glfwGetWindowAttrib(win, GLFW_ICONIFIED);
if (visible) {
glViewport(0, 0, fbWidth, fbHeight);
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

// Update and render
nvgBeginFrame(vg, fbWidth, fbHeight, pixelRatio);
nvgReset(vg);
nvgScale(vg, pixelRatio, pixelRatio);

// Draw scene
widget::Widget::DrawArgs args;
args.vg = vg;
args.clipBox = APP->event->rootWidget->box.zeroPos();
APP->event->rootWidget->draw(args);
args.clipBox = APP->scene->box.zeroPos();
APP->scene->draw(args);

glViewport(0, 0, fbWidth, fbHeight);
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
nvgEndFrame(vg);

glfwSwapBuffers(win);


Loading…
Cancel
Save