Source code for yt_idv.scene_components.rgba
import traitlets
from OpenGL import GL
from yt_idv.scene_components.base_component import SceneComponent
from yt_idv.scene_data.line import LineData
from yt_idv.scene_data.rgba import RGBAData
[docs]class RGBADisplay(SceneComponent):
name = "rgba_display"
data = traitlets.Instance(RGBAData)
priority = 20
def _set_uniforms(self, scene, shader_program):
shader_program._set_uniform("cm_tex", 0)
[docs] def draw(self, scene, program):
with self.data.colormap_texture.bind(0):
GL.glDrawArrays(GL.GL_TRIANGLES, 0, 6)
[docs]class RGBALinePlot(SceneComponent):
name = "rgba_line_plot"
data = traitlets.Instance(LineData)
priority = 20
[docs] def draw(self, scene, program):
for i, _channel in enumerate("rgba"):
program._set_uniform("channel", i)
GL.glDrawArrays(GL.GL_LINE_STRIP, 0, self.data.n_vertices)
def _set_uniforms(self, scene, shader_program):
pass