Vis 2 Demo  1.0
Technical illustration type real-time rendering of geometry
 All Classes Namespaces Files Functions Variables Typedefs Macros
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vis2::LoaderScene Class Reference

This class loads a scene from a scene description file and the _resource folder of the application. More...

Public Member Functions

 LoaderScene (const std::string &_scene_path, const unsigned int _screen_w, const unsigned int _screen_h)
 Constructor. More...
 
 ~LoaderScene ()
 Destructor. More...
 
int loadScene ()
 This function calls the parsers and prepares the scene for rendering. More...
 
void updateScene (glm::mat4 &_modelMatrix)
 This function updates the scene. More...
 
void drawScene (bool _mouse_right_click, float _mouse_x, float _mouse_y, bool _b_with_pp, bool _b_debug_mode, unsigned int _debug_pass)
 This function draws the objects in the scene. More...
 
glm::vec3 getBackgrColor () const
 A getter for the background color. More...
 
glm::vec3 getSelectedColor ()
 A getter for the color picked by the mouse of the user in the caller component. More...
 
glm::mat4 getProjectionMatrix ()
 A getter for the projection matrix. More...
 
glm::vec2 getZoomLimits () const
 A getter for the zoom limits according to viewer position and near and far planes of the projection matrix. More...
 

Private Member Functions

 LoaderScene (const LoaderScene &)
 Hidden copy-constructor. More...
 
void parseShaders (std::FILE *_f)
 Function for parsing the shader descriptions. More...
 
void string2Shader (const std::string &_shader_type, const std::string &_vertex_shader_path, const std::string &_geometry_shader_path, const std::string &_fragment_shader_path)
 Function for creating and loading shaders according to description. More...
 
void parseEnvironment (std::FILE *_f)
 Function for parsing the descriptions of the environment variables (viewpoint, lights, etc.). More...
 
glm::vec3 string2Vec3 (const std::string &_line)
 Function for parsing float vectors from strings. More...
 
float string2Float (const std::string &_line)
 Function for parsing floats from strings. More...
 
void parseGeometry (std::FILE *_f)
 Function for parsing the geometry descriptions. More...
 
void string2Geometry (const unsigned int _type, const std::string &_object_name, const std::string &_geometry_path, const std::string &_diff_texture_path, const std::string &_scale, const std::string &_object_color)
 Function for creating and loading the geometric objects. More...
 
void parseNeighbors (std::FILE *_f)
 Function for parsing the descriptions of the neighborhood relationships btw. the geometric objects in the scene. More...
 
void string2Neighbors (const std::string &_name, const std::string &_neighbors)
 Function for parsing a neighborhood relationship. More...
 
glm::vec3 name2Color (const std::string &_obj_name)
 Function for translating an objects name to its color. More...
 
void setupDrawing ()
 Function for initializing matrices, FBOs, etc. in preparation for draw calls. More...
 
bool setupEDF ()
 Function for setup of the EDGE DETECTION and FILTERING task. More...
 
bool shaderEDFLoaded () const
 Function for checking if setup of the EDGE DETECTION and FILTERING task is possible. More...
 
bool setupSMF ()
 Function for setup of the SELECTION MASKING and FILTERING task. More...
 
bool shaderSMFLoaded () const
 Function for checking if setup of the SELECTION MASKING and FILTERING task is possible. More...
 
bool setupDPS ()
 Function for setup of the DEPTH PEELING of the SHELL task. More...
 
bool shaderDPSLoaded () const
 Function for checking if setup of the DEPTH PEELING of the SHELL and the BLENDING task is possible. More...
 
bool setupDPSB ()
 Function for setup of the BLENDING of the result of DEPTH PEELING task. More...
 
bool shaderDPSBLoaded () const
 Function for checking if setup of the BLENDING of the result of DEPTH PEELING task is possible. More...
 
glm::vec3 getSelectedColorId (glm::vec3 &_color_in, float _tolerance)
 Function finds the color among the contens objects that is closest to the input. More...
 

Private Attributes

const unsigned int screen_width
 the viewport width is needed for the FBOs and postprocessing More...
 
const unsigned int screen_height
 the viewport height is needed for the FBOs and postprocessing More...
 
std::string scene_path
 the path to the file containing the scene description More...
 
glm::vec4 light_pos_0
 is the position of the 1. light source as a result of updates from the caller More...
 
glm::vec4 light_pos_1
 is the position of the 2. light source as a result of updates from the caller More...
 
glm::vec3 selected_col
 is the color on which the user has clicked in the caller component More...
 
glm::mat4 modelMatrix
 is the model matrix resulting from the user actions in the caller component More...
 
glm::vec3 backgr_col
 is the viewport background color More...
 
glm::vec4 view_pos
 is the position of the camera / viewer More...
 
glm::vec4 view_pos_lookAt
 is the camera target More...
 
glm::mat4 projectionMatrix
 is the projection matrix calculated using the two parameters above More...
 
glm::vec4 light_pos_0_init
 is the initial position of the 1. light source More...
 
glm::vec4 light_pos_1_init
 is the initial position of the 2. light source More...
 
glm::vec3 light_col_0
 is the color of the 1.light souce More...
 
glm::vec3 light_col_1
 is the color of the 2.light souce More...
 
glm::vec3 col_edges
 is the color of the edges produced by the edge-finding shaders More...
 
bool shader_loaded [VIS2_MAX_NR_SHADER_TYPES]
 is a binary flag array, signifying which shaders were loaded More...
 
vis2::Shadershaders [VIS2_MAX_NR_SHADER_TYPES]
 is an array of shader programs More...
 
vis2::ShaderControllershader_ctrls [VIS2_MAX_NR_SHADER_TYPES]
 
const glm::mat4 mM_obj
 is the initial model matrix for all OBJ geometry (correction of y-z swap) More...
 
unsigned int counter_shell_obj
 is the number of objects COMPRISING the shell More...
 
bool shells_loaded [VIS2_SCENE_MAX_NR_SHELL_OBJ]
 is a binary flag array, signifying which SHELL slots are occupied More...
 
glm::mat4 shells_mM [VIS2_SCENE_MAX_NR_SHELL_OBJ]
 is the array of the model matrices of each shell More...
 
vis2::LoaderOBJloaders_shell [VIS2_SCENE_MAX_NR_SHELL_OBJ]
 is an array containing the geometry loaders for the SHELLS More...
 
vis2::Texturetextures_shell [VIS2_SCENE_MAX_NR_SHELL_OBJ]
 is an array containing the diffuse textures for the SHELLS More...
 
vis2::ModelMultiTexturedshells [VIS2_SCENE_MAX_NR_SHELL_OBJ]
 contains the SHELLS More...
 
unsigned int counter_content_obj
 is the number of objects INSIDE the shell More...
 
bool contents_loaded [VIS2_SCENE_MAX_NR_CONTENT_OBJ]
 is a binary flag array, signifying which CONTENTS slots are occupied More...
 
glm::mat4 contents_mM [VIS2_SCENE_MAX_NR_CONTENT_OBJ]
 is the array of the model matrices of each content object More...
 
vis2::LoaderOBJloaders_content [VIS2_SCENE_MAX_NR_CONTENT_OBJ]
 is an array containing the geometry loaders for the CONTENTS More...
 
vis2::Texturetextures_content [VIS2_SCENE_MAX_NR_CONTENT_OBJ]
 is an array containing the diffuse textures for the CONTENTS More...
 
vis2::ModelMultiTexturedcontents [VIS2_SCENE_MAX_NR_CONTENT_OBJ]
 contains the CONTENTS More...
 
vis2::NeighborhoodRecordneighb_rec_Ptr
 holds the neighborhood relationships btw. the objects above More...
 
unsigned int counter_separator_obj
 is the number of objects separating the contents inside the INSIDE the shell More...
 
bool separators_loaded [VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
 is a binary flag array, signifying which SEPARATOR slots are occupied More...
 
glm::mat4 separators_mM [VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
 is the array of the model matrices of each separator object More...
 
vis2::LoaderOBJloaders_separator [VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
 is an array containing the geometry loaders for the SEPARATORS More...
 
vis2::Texturetextures_separator [VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
 is an array containing the diffuse textures for the SEPARATORS More...
 
vis2::ModelMultiTexturedseparators [VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
 contains the SEPARATORS More...
 
bool FBOs_ready
 saves the status of all FBOs and shader controllers needed for rendering More...
 
glm::mat4 orthoMatrix
 is the orthogonal matrix for drawing the texture quads More...
 
vis2::FramebufferObjectfbo_0
 is the FBO for selecting objects More...
 
vis2::FramebufferObjectfbos_EDF [VIS2_SCENE_NR_FBOS_EDF]
 contains FBOs for the EDGE DETECTION and FILTERING task More...
 
vis2::QuadTexturedquads_EDF [VIS2_SCENE_NR_FBOS_EDF]
 quad for the EDGE DETECTION and FILTERING task More...
 
vis2::FramebufferObjectfbos_SMF [VIS2_SCENE_NR_FBOS_SMF]
 contains FBOs for the SELECTION MASKING and FILTERING task More...
 
vis2::QuadTexturedquads_SMF [VIS2_SCENE_NR_QUADS_SMF]
 quad for the SELECTION MASKING and FILTERING task More...
 
vis2::FramebufferObjectfbos_DPS [VIS2_SCENE_NR_FBOS_DPS]
 contains FBOs for the DEPTH PEELING of the SHELL task More...
 
vis2::FramebufferObjectfbos_DPSB [VIS2_SCENE_NR_FBOS_DPSB]
 contains FBOs for the BLENDING of the result of DEPTH PEELING task More...
 
vis2::QuadTexturedquad_DPSB_Ptr
 quad for the BLENDING of the result of DEPTH PEELING task More...
 
vis2::QuadTexturedquad_final_Ptr
 for the final blending of all components More...
 
vis2::QuadTexturedquad_debug_Ptr
 quad for debugging texture output More...
 

Detailed Description

This class loads a scene from a scene description file and the _resource folder of the application.

This class uses the scene file description in folder "_resources/Levels/" to load objects with
geometry in folder "_resources/Models/..." and textures in folder "_resources/Textures".
The scene description file also includes shader program definitions referncing the folder "_resources/Shader"
as well as definitions of environment variables (i.e. light sources, background color etc.) and
object neighborhood relationships.

Definition at line 48 of file LoaderScene.h.

Constructor & Destructor Documentation

LoaderScene::LoaderScene ( const std::string &  _scene_path,
const unsigned int  _screen_w,
const unsigned int  _screen_h 
)

Constructor.

Checks if the file extension of the scene description file is TXT and initiates all loading flags to false.
If the file extension is not valid the application terminates.

Parameters
[in]_scene_pathis the path to the scene description file.
[in]_screen_wis the viewport width,
[in]_screen_his the viewport height.

Definition at line 8 of file LoaderScene.cpp.

LoaderScene::~LoaderScene ( )

Destructor.

Deletes all shader and shader controller objects, all drawable objects, the neighboring service,
and the Frame Buffer Objects and quads for post-processing effects.

Definition at line 51 of file LoaderScene.cpp.

vis2::LoaderScene::LoaderScene ( const LoaderScene )
private

Hidden copy-constructor.

Member Function Documentation

void LoaderScene::drawScene ( bool  _mouse_right_click,
float  _mouse_x,
float  _mouse_y,
bool  _b_with_pp,
bool  _b_debug_mode,
unsigned int  _debug_pass 
)

This function draws the objects in the scene.

Definition at line 278 of file LoaderScene.cpp.

glm::vec3 vis2::LoaderScene::getBackgrColor ( ) const
inline

A getter for the background color.

Definition at line 94 of file LoaderScene.h.

glm::mat4 vis2::LoaderScene::getProjectionMatrix ( )
inline

A getter for the projection matrix.

Definition at line 100 of file LoaderScene.h.

glm::vec3 vis2::LoaderScene::getSelectedColor ( )
inline

A getter for the color picked by the mouse of the user in the caller component.

Definition at line 97 of file LoaderScene.h.

glm::vec3 LoaderScene::getSelectedColorId ( glm::vec3 &  _color_in,
float  _tolerance 
)
private

Function finds the color among the contens objects that is closest to the input.

Parameters
[in]_color_inis the given color (selected by the user),
[in]_toleranceis the margin of possible error,
Returns
the closest color among the contents objects.

Definition at line 1197 of file LoaderScene.cpp.

glm::vec2 vis2::LoaderScene::getZoomLimits ( ) const
inline

A getter for the zoom limits according to viewer position and near and far planes of the projection matrix.

Definition at line 103 of file LoaderScene.h.

int LoaderScene::loadScene ( )

This function calls the parsers and prepares the scene for rendering.

The parsing order is: shader, shader controller, environment, geometry, neighborhood.

Returns
0 if the parsing and setup were successful; otherwise the program terminates.

Definition at line 139 of file LoaderScene.cpp.

glm::vec3 LoaderScene::name2Color ( const std::string &  _obj_name)
private

Function for translating an objects name to its color.

Parameters
[in]_obj_nameis the name of the object,
Returns
the background color if no object with the name _obj_name could be found,
otherwise - the color of the object with the name _obj_name

Definition at line 974 of file LoaderScene.cpp.

void LoaderScene::parseEnvironment ( std::FILE *  _f)
private

Function for parsing the descriptions of the environment variables (viewpoint, lights, etc.).

Parameters
[in]_fis the scene description file opened for reading

Definition at line 620 of file LoaderScene.cpp.

void LoaderScene::parseGeometry ( std::FILE *  _f)
private

Function for parsing the geometry descriptions.

Parameters
[in]_fis the scene description file opened for reading

Definition at line 727 of file LoaderScene.cpp.

void LoaderScene::parseNeighbors ( std::FILE *  _f)
private

Function for parsing the descriptions of the neighborhood relationships btw. the geometric objects in the scene.

Parameters
[in]_fis the scene description file opened for reading

Definition at line 905 of file LoaderScene.cpp.

void LoaderScene::parseShaders ( std::FILE *  _f)
private

Function for parsing the shader descriptions.

Parameters
[in]_fis the scene description file opened for reading

Definition at line 553 of file LoaderScene.cpp.

bool LoaderScene::setupDPS ( )
private

Function for setup of the DEPTH PEELING of the SHELL task.

Returns
TRUE if the setup was successful, FALSE otherwise.

Definition at line 1158 of file LoaderScene.cpp.

bool LoaderScene::setupDPSB ( )
private

Function for setup of the BLENDING of the result of DEPTH PEELING task.

Returns
TRUE if the setup was successful, FALSE otherwise.

Definition at line 1175 of file LoaderScene.cpp.

void LoaderScene::setupDrawing ( )
private

Function for initializing matrices, FBOs, etc. in preparation for draw calls.

If the setup of the FBOs fails, no post-processing effects are drawn.

Definition at line 1032 of file LoaderScene.cpp.

bool LoaderScene::setupEDF ( )
private

Function for setup of the EDGE DETECTION and FILTERING task.

Returns
TRUE if the setup was successful, FALSE otherwise.

Definition at line 1106 of file LoaderScene.cpp.

bool LoaderScene::setupSMF ( )
private

Function for setup of the SELECTION MASKING and FILTERING task.

Returns
TRUE if the setup was successful, FALSE otherwise.

Definition at line 1133 of file LoaderScene.cpp.

bool vis2::LoaderScene::shaderDPSBLoaded ( ) const
inlineprivate

Function for checking if setup of the BLENDING of the result of DEPTH PEELING task is possible.

Returns
TRUE if all necessary shader controllers are loaded, FALSE otherwise.

Definition at line 244 of file LoaderScene.h.

bool vis2::LoaderScene::shaderDPSLoaded ( ) const
inlineprivate

Function for checking if setup of the DEPTH PEELING of the SHELL and the BLENDING task is possible.

Returns
TRUE if all necessary shader controllers are loaded, FALSE otherwise.

Definition at line 233 of file LoaderScene.h.

bool vis2::LoaderScene::shaderEDFLoaded ( ) const
inlineprivate

Function for checking if setup of the EDGE DETECTION and FILTERING task is possible.

Returns
TRUE if all necessary shader controllers are loaded, FALSE otherwise.

Definition at line 209 of file LoaderScene.h.

bool vis2::LoaderScene::shaderSMFLoaded ( ) const
inlineprivate

Function for checking if setup of the SELECTION MASKING and FILTERING task is possible.

Returns
TRUE if all necessary shader controllers are loaded, FALSE otherwise.

Definition at line 221 of file LoaderScene.h.

float LoaderScene::string2Float ( const std::string &  _line)
private

Function for parsing floats from strings.

Parameters
[in]is the string to be parsed,
Returns
the parsed float or 0.0f on failure.

Definition at line 708 of file LoaderScene.cpp.

void LoaderScene::string2Geometry ( const unsigned int  _type,
const std::string &  _object_name,
const std::string &  _geometry_path,
const std::string &  _diff_texture_path,
const std::string &  _scale,
const std::string &  _object_color 
)
private

Function for creating and loading the geometric objects.

Parameters
[in]_typeis the type of the shader (see definitions in ShaderController),
[in]_object_nameis the object name,
[in]_geometry_pathcontains the path to the OBJ file,
[in]_diff_texture_pathcontains the path to the texture file,
[in]_scalecontains uniform scale of the object,
[in]_object_colorcontains the color of the object for post-processing effects.

Definition at line 800 of file LoaderScene.cpp.

void LoaderScene::string2Neighbors ( const std::string &  _name,
const std::string &  _neighbors 
)
private

Function for parsing a neighborhood relationship.

Parameters
[in]_nameis the object name,
[in]_neighborsis a string containing the names of all its neighbor.

Definition at line 934 of file LoaderScene.cpp.

void LoaderScene::string2Shader ( const std::string &  _shader_type,
const std::string &  _vertex_shader_path,
const std::string &  _geometry_shader_path,
const std::string &  _fragment_shader_path 
)
private

Function for creating and loading shaders according to description.

Parameters
[in]_shader_typecontains the type of the shader,
[in]_vertex_shader_pathcontains the path to the vertex shader file,
[in]_geometry_shader_pathcontains the path to the geometry shader file,
[in]_fragment_shader_pathcontains the path to the fragment shader file.

Definition at line 587 of file LoaderScene.cpp.

glm::vec3 LoaderScene::string2Vec3 ( const std::string &  _line)
private

Function for parsing float vectors from strings.

Parameters
[in]is the string to be parsed,
Returns
the parsed vector or (0.0f 0.0f 0.0f) on failure.

Definition at line 683 of file LoaderScene.cpp.

void LoaderScene::updateScene ( glm::mat4 &  _modelMatrix)

This function updates the scene.

Parameters
[in]_modelMatrixis the new model matrix resulting from the user actions in the caller component

Definition at line 248 of file LoaderScene.cpp.

Member Data Documentation

glm::vec3 vis2::LoaderScene::backgr_col
private

is the viewport background color

Definition at line 280 of file LoaderScene.h.

glm::vec3 vis2::LoaderScene::col_edges
private

is the color of the edges produced by the edge-finding shaders

Definition at line 293 of file LoaderScene.h.

vis2::ModelMultiTextured* vis2::LoaderScene::contents[VIS2_SCENE_MAX_NR_CONTENT_OBJ]
private

contains the CONTENTS

Definition at line 318 of file LoaderScene.h.

bool vis2::LoaderScene::contents_loaded[VIS2_SCENE_MAX_NR_CONTENT_OBJ]
private

is a binary flag array, signifying which CONTENTS slots are occupied

Definition at line 314 of file LoaderScene.h.

glm::mat4 vis2::LoaderScene::contents_mM[VIS2_SCENE_MAX_NR_CONTENT_OBJ]
private

is the array of the model matrices of each content object

Definition at line 315 of file LoaderScene.h.

unsigned int vis2::LoaderScene::counter_content_obj
private

is the number of objects INSIDE the shell

Definition at line 313 of file LoaderScene.h.

unsigned int vis2::LoaderScene::counter_separator_obj
private

is the number of objects separating the contents inside the INSIDE the shell

Definition at line 322 of file LoaderScene.h.

unsigned int vis2::LoaderScene::counter_shell_obj
private

is the number of objects COMPRISING the shell

Definition at line 306 of file LoaderScene.h.

vis2::FramebufferObject* vis2::LoaderScene::fbo_0
private

is the FBO for selecting objects

Definition at line 339 of file LoaderScene.h.

vis2::FramebufferObject* vis2::LoaderScene::fbos_DPS[VIS2_SCENE_NR_FBOS_DPS]
private

contains FBOs for the DEPTH PEELING of the SHELL task

Definition at line 347 of file LoaderScene.h.

vis2::FramebufferObject* vis2::LoaderScene::fbos_DPSB[VIS2_SCENE_NR_FBOS_DPSB]
private

contains FBOs for the BLENDING of the result of DEPTH PEELING task

Definition at line 349 of file LoaderScene.h.

vis2::FramebufferObject* vis2::LoaderScene::fbos_EDF[VIS2_SCENE_NR_FBOS_EDF]
private

contains FBOs for the EDGE DETECTION and FILTERING task

Definition at line 341 of file LoaderScene.h.

bool vis2::LoaderScene::FBOs_ready
private

saves the status of all FBOs and shader controllers needed for rendering

Definition at line 336 of file LoaderScene.h.

vis2::FramebufferObject* vis2::LoaderScene::fbos_SMF[VIS2_SCENE_NR_FBOS_SMF]
private

contains FBOs for the SELECTION MASKING and FILTERING task

Definition at line 344 of file LoaderScene.h.

glm::vec3 vis2::LoaderScene::light_col_0
private

is the color of the 1.light souce

Definition at line 290 of file LoaderScene.h.

glm::vec3 vis2::LoaderScene::light_col_1
private

is the color of the 2.light souce

Definition at line 291 of file LoaderScene.h.

glm::vec4 vis2::LoaderScene::light_pos_0
private

is the position of the 1. light source as a result of updates from the caller

Definition at line 268 of file LoaderScene.h.

glm::vec4 vis2::LoaderScene::light_pos_0_init
private

is the initial position of the 1. light source

Definition at line 287 of file LoaderScene.h.

glm::vec4 vis2::LoaderScene::light_pos_1
private

is the position of the 2. light source as a result of updates from the caller

Definition at line 269 of file LoaderScene.h.

glm::vec4 vis2::LoaderScene::light_pos_1_init
private

is the initial position of the 2. light source

Definition at line 288 of file LoaderScene.h.

vis2::LoaderOBJ* vis2::LoaderScene::loaders_content[VIS2_SCENE_MAX_NR_CONTENT_OBJ]
private

is an array containing the geometry loaders for the CONTENTS

Definition at line 316 of file LoaderScene.h.

vis2::LoaderOBJ* vis2::LoaderScene::loaders_separator[VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
private

is an array containing the geometry loaders for the SEPARATORS

Definition at line 325 of file LoaderScene.h.

vis2::LoaderOBJ* vis2::LoaderScene::loaders_shell[VIS2_SCENE_MAX_NR_SHELL_OBJ]
private

is an array containing the geometry loaders for the SHELLS

Definition at line 309 of file LoaderScene.h.

const glm::mat4 vis2::LoaderScene::mM_obj
private

is the initial model matrix for all OBJ geometry (correction of y-z swap)

Definition at line 304 of file LoaderScene.h.

glm::mat4 vis2::LoaderScene::modelMatrix
private

is the model matrix resulting from the user actions in the caller component

Definition at line 273 of file LoaderScene.h.

vis2::NeighborhoodRecord* vis2::LoaderScene::neighb_rec_Ptr
private

holds the neighborhood relationships btw. the objects above

Definition at line 320 of file LoaderScene.h.

glm::mat4 vis2::LoaderScene::orthoMatrix
private

is the orthogonal matrix for drawing the texture quads

Definition at line 337 of file LoaderScene.h.

glm::mat4 vis2::LoaderScene::projectionMatrix
private

is the projection matrix calculated using the two parameters above

Definition at line 285 of file LoaderScene.h.

vis2::QuadTextured* vis2::LoaderScene::quad_debug_Ptr
private

quad for debugging texture output

Definition at line 354 of file LoaderScene.h.

vis2::QuadTextured* vis2::LoaderScene::quad_DPSB_Ptr
private

quad for the BLENDING of the result of DEPTH PEELING task

Definition at line 350 of file LoaderScene.h.

vis2::QuadTextured* vis2::LoaderScene::quad_final_Ptr
private

for the final blending of all components

Definition at line 352 of file LoaderScene.h.

vis2::QuadTextured* vis2::LoaderScene::quads_EDF[VIS2_SCENE_NR_FBOS_EDF]
private

quad for the EDGE DETECTION and FILTERING task

Definition at line 342 of file LoaderScene.h.

vis2::QuadTextured* vis2::LoaderScene::quads_SMF[VIS2_SCENE_NR_QUADS_SMF]
private

quad for the SELECTION MASKING and FILTERING task

Definition at line 345 of file LoaderScene.h.

std::string vis2::LoaderScene::scene_path
private

the path to the file containing the scene description

Definition at line 266 of file LoaderScene.h.

const unsigned int vis2::LoaderScene::screen_height
private

the viewport height is needed for the FBOs and postprocessing

Definition at line 265 of file LoaderScene.h.

const unsigned int vis2::LoaderScene::screen_width
private

the viewport width is needed for the FBOs and postprocessing

Definition at line 264 of file LoaderScene.h.

glm::vec3 vis2::LoaderScene::selected_col
private

is the color on which the user has clicked in the caller component

Definition at line 271 of file LoaderScene.h.

vis2::ModelMultiTextured* vis2::LoaderScene::separators[VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
private

contains the SEPARATORS

Definition at line 327 of file LoaderScene.h.

bool vis2::LoaderScene::separators_loaded[VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
private

is a binary flag array, signifying which SEPARATOR slots are occupied

Definition at line 323 of file LoaderScene.h.

glm::mat4 vis2::LoaderScene::separators_mM[VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
private

is the array of the model matrices of each separator object

Definition at line 324 of file LoaderScene.h.

vis2::ShaderController* vis2::LoaderScene::shader_ctrls[VIS2_MAX_NR_SHADER_TYPES]
private

is an array of shader controllers for communication with the shaders

Definition at line 299 of file LoaderScene.h.

bool vis2::LoaderScene::shader_loaded[VIS2_MAX_NR_SHADER_TYPES]
private

is a binary flag array, signifying which shaders were loaded

Definition at line 297 of file LoaderScene.h.

vis2::Shader* vis2::LoaderScene::shaders[VIS2_MAX_NR_SHADER_TYPES]
private

is an array of shader programs

Definition at line 298 of file LoaderScene.h.

vis2::ModelMultiTextured* vis2::LoaderScene::shells[VIS2_SCENE_MAX_NR_SHELL_OBJ]
private

contains the SHELLS

Definition at line 311 of file LoaderScene.h.

bool vis2::LoaderScene::shells_loaded[VIS2_SCENE_MAX_NR_SHELL_OBJ]
private

is a binary flag array, signifying which SHELL slots are occupied

Definition at line 307 of file LoaderScene.h.

glm::mat4 vis2::LoaderScene::shells_mM[VIS2_SCENE_MAX_NR_SHELL_OBJ]
private

is the array of the model matrices of each shell

Definition at line 308 of file LoaderScene.h.

vis2::Texture* vis2::LoaderScene::textures_content[VIS2_SCENE_MAX_NR_CONTENT_OBJ]
private

is an array containing the diffuse textures for the CONTENTS

Definition at line 317 of file LoaderScene.h.

vis2::Texture* vis2::LoaderScene::textures_separator[VIS2_SCENE_MAX_NR_SEPARATOR_OBJ]
private

is an array containing the diffuse textures for the SEPARATORS

Definition at line 326 of file LoaderScene.h.

vis2::Texture* vis2::LoaderScene::textures_shell[VIS2_SCENE_MAX_NR_SHELL_OBJ]
private

is an array containing the diffuse textures for the SHELLS

Definition at line 310 of file LoaderScene.h.

glm::vec4 vis2::LoaderScene::view_pos
private

is the position of the camera / viewer

Definition at line 282 of file LoaderScene.h.

glm::vec4 vis2::LoaderScene::view_pos_lookAt
private

is the camera target

Definition at line 283 of file LoaderScene.h.


The documentation for this class was generated from the following files: