15#include <Inventor/nodes/SoSubNode.h> 
   16#include <Inventor/fields/SoSFEnum.h> 
   17#include <Inventor/fields/SoSFString.h> 
   18#include <Inventor/fields/SoSFBool.h> 
   37  void GLRender(SoGLRenderAction *action) 
override;
 
  123  void setNamesToField(
const std::vector<ml::OpenGL::TypeInfo>& list, SoSFString& field);
 
  124  void addVariablesToString(
const std::vector<ml::OpenGL::TypeInfo>& list, 
const std::string& type, std::string& result);
 
  125  void addNamesToString(
const std::vector<ml::OpenGL::TypeInfo>& list, std::string& names);
 
  126  void setStringToField(
const std::string& value, SoSFString& field);
 
  127  void addTypesToString(
const std::vector<ml::OpenGL::TypeInfo>& list, std::string& names);
 
  128  void setTypesToField(
const std::vector<ml::OpenGL::TypeInfo>& list, SoSFString& field);
 
  129  void addSizesToString(
const std::vector<ml::OpenGL::TypeInfo>& list, std::string& names);
 
  130  void setSizesToField(
const std::vector<ml::OpenGL::TypeInfo>& list, SoSFString& field);
 
  131  void setPipelineToField(ShaderPipeline* pipeline, SoSFString& field);
 
 
class that is used for returning advanced shader diagnosis
 
std::vector< ml::OpenGL::TypeInfo > activeUniforms
 
std::vector< ml::OpenGL::TypeInfo > availableIncludes
 
std::vector< ml::OpenGL::TypeInfo > availableFragmentShaderStateMembers
 
std::string fragmentShader
 
std::vector< ml::OpenGL::TypeInfo > availableBuiltInUniforms
 
std::vector< ml::OpenGL::TypeInfo > availableVaryingMembers
 
std::string vertexShaderLog
 
ShaderPipeline * fragmentPipeline
 
std::vector< ml::OpenGL::TypeInfo > availableExternalUniforms
 
std::string fragmentShaderLog
 
virtual void setupDiagnosisSettings(Settings &settings)
 
SoSFBool programLinkError
 
SoSFBool fragmentShaderError
 
SoSFString availableUniforms
 
SoSFString availableFragmentShaderStateMemberTypes
 
void GLRender(SoGLRenderAction *action) override
 
SoSFString programLinkLog
 
SoSFString userVertexShader
 
SoSFBool enableUserFragmentShader
 
SoSFString fragmentShader
 
SoSFString geometryShaderLog
 
SoSFString vertexShaderLog
 
static void initClass()
Initialization of inventor runtime system.
 
SoSFString availableVaryingTypes
 
SoSFString availableIncludeNames
 
SoSFString activeUniforms
 
~SoView2DShaderDiagnosis() override
 
SoSFBool geometryShaderError
 
SoSFBool vertexShaderError
 
SoSFBool enableUserVertexShader
 
SoSFString availableUniformNames
 
SoSFString availableVaryingNames
 
SoView2DShaderDiagnosis()
 
SoSFString availableIncludes
 
SoSFString availableUniformSizes
 
SoSFBool fetchActiveUniformValues
 
SoSFString userFragmentShader
 
SoSFString availableFragmentShaderSteps
 
SoSFString availableFragmentShaderStateMembers
 
SoSFString geometryShader
 
SoSFString availableUniformTypes
 
virtual void diagnosisResult(const ShaderDiagnosis &diagnosis)
 
SoSFString availableStateMembers
 
SoSFString fragmentShaderLog
 
std::string customVertexShader
 
std::string customFragmentShader