Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenGL acceleration #9

Open
9 tasks
sthenic opened this issue Jun 13, 2024 · 0 comments
Open
9 tasks

OpenGL acceleration #9

sthenic opened this issue Jun 13, 2024 · 0 comments

Comments

@sthenic
Copy link
Owner

sthenic commented Jun 13, 2024

  • Shader wrapper class
    • Load shaders (vertex + fragment) from file
  • Vertex buffer (+array) wrapper class
    • We need a resize operation glBufferData(NULL).
    • We need an operation to set new contents. Get pointer via glMapBuffer/glMapBufferRange. std::memcpy for speed?
  • Texture wrapper class
    • Allocate a certain size (don't fill):
      glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL)
      
    • Probably need to call glViewport with these sizes before rendering.
  • Framebuffer wrapper class
    • Need to be able to set (and swap) the bound texture (for when the viewport size changes).
      glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0);
      
    • Can we make do without calling glDrawBuffers(GL_COLOR_ATTACHMENT0)?
  • Line plotting class
    • Shaders
    • Needs to handle an arbitrary number of lines. We probably want to plot all channels at the same time for performance reasons?
    • Figure out how to handle that the selected channel is plotted "on top". Something with the depth (z-axis)?
  • Heatmap plotting class
    • Shaders
  • Render with ImPlot::Image(<texture>)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant