56 std::vector<SoView2DShaderCustomInclude*>
_includes;
#define SOVIEW2D_API
File to resolve system dependencies in View2D library.
Class managing an OpenGL shader program.
SoView2DExtension Base class for all View2DExtensions used for drawing and event handling on the View...
Container class for includes.
Container class to specify a change operation for the shader pipeline shader.
Stores information for each overlay to render.
void combineShaderString(const SoView2DShaderState ¤tState, const ShaderPipelineCodeTarget &source, std::string &output)
void applyFragmentOperations(const std::vector< SoView2DShaderOperation * > &operations)
void overwriteDrawingSettings(SoView2DDrawingSettings &settings) override
SoView2DShaderBuiltInFunctions::SetupState _setupState
SoView2DShaderBuiltInIncludes::IncludeContainer _builtInIncludes
void appendFunction(ShaderPipeline &pipeline, int step, SoView2DShaderBuiltInFunctions::SoView2DShaderFunction *function, const SoView2DShaderState ¤tState)
void addFragmentIncludes(const std::vector< SoView2DShaderCustomInclude * > &includes)
ShaderPipeline _fragmentPipeline
The fragment shader pipeline.
void draw(View2DSliceList *dsl, View2DSlice *dslice, int slice) override
Draws a border on the given slice.
void addOverlay(SoGLShaderProgram *program, SoView2DShaderOverlayInfo *overlay, float dx1, float dy1, float dx2, float dy2)
Adds the overlay uniforms to the shader program.
void fillDiagnosis(CachedShader ¤t, SoView2DShaderDiagnosis *diagnosisModule, SoState *state)
SoSFEnum blendMode
select the blend mode of the shader
SoView2DShaderBuiltInFunctions::WriteFragment _writeFragment
void GLRender(SoGLRenderAction *action) override
SoSFBool disableBaseImageDrawing
If enabled, the SoView2D does not draw its base image.
void createShaders(std::string &vertexShader, std::string &fragmentShader, SoState *state, const SoView2DShaderState ¤tState)
Stores the state that defines the shader of the shader pipeline, used to detect if a regeneration of ...
a list that holds all View2DSlice objects (lazily created) of a SoView2D
a single slice that is stored in a View2DSliceList, typically created by a View2DSliceList
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
Drawing settings that can be overwritten by extensions.
SoView2DShaderDiagnosis * _diagnosis
std::vector< SoView2DShaderOperation * > _operations
SoNodeList _shaderParameters
std::vector< SoView2DShaderCustomInclude * > _includes
std::vector< size_t > _nodeIds
std::vector< SoView2DShaderOverlayInfo * > _overlays
SoView2DShaderState _currentState
SoRef< SoVertexShader > _vertexShader
SoRef< SoShaderProgram > _shaderProgram
std::string _fragmentShaderString
SoRef< SoFragmentShader > _fragmentShader
std::string _vertexShaderString