fsleyes.gl.gl21.glsh_funcs¶
This module contains functions which are used by GLSH instances
for rendering Image overlays which contain fibre orientation
distribution (FOD) spherical harmonic (SH) coefficients, in an OpenGL 2.1
compatible manner. The functions defined in this module are intended to be
called by GLSH instances.
For each voxel, a sphere is drawn, with the position of each vertex on the sphere adjusted by the SH coefficients (radii). For one draw call, the radii for all voxels and vertices is calculated, and stored in a texture.
Different vertex/fragment shaders are used depending upon the current settings
of the SHOpts instance associated with the GLSH. If the
VectorOpts.colourImage property is set, the glsh_volume_vert.glsl
andf glvolume_frag.glsl shaders are used. In this case, the FODs are each
voxel are coloured according to the values in the colourImage. Otherwise,
the glsh_vert.glsl and glsh_frag.glsl shaders are used. In this case,
the vertices of each FOD are coloured according to their orientation, or to
their radius.
-
fsleyes.gl.gl21.glsh_funcs.compileShaders(self)[source]¶ Creates a
GLSLShader, and attaches it to thisGLSHinstance as an attribute calledshader.
-
fsleyes.gl.gl21.glsh_funcs.updateShaderState(self)[source]¶ Updates the state of the vertex and fragment shaders.
-
fsleyes.gl.gl21.glsh_funcs.preDraw(self, xform=None, bbox=None)[source]¶ Called by
GLSH.preDraw(). Loads the shader program, and updates some shader attributes.
-
fsleyes.gl.gl21.glsh_funcs.draw2D(self, zpos, axes, xform=None, bbox=None)[source]¶ Called by
GLSH.draw2D(). Draws the scene.