Loading...
Searching...
No Matches
glRenderer.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_VIEW_RENDERING_RENDERERS_GLRENDERER_H
#define BALL_VIEW_RENDERING_RENDERERS_GLRENDERER_H
#ifndef BALL_VIEW_RENDERING_RENDERERS_RENDERER_H
# include <BALL/VIEW/RENDERING/RENDERERS/renderer.h>
#endif
#ifndef BALL_MATHS_QUATERNION_H
# include <BALL/MATHS/quaternion.h>
#endif
#ifndef BALL_VIEW_DATATYPE_COLORRGBA_H
# include <BALL/VIEW/DATATYPE/colorRGBA.h>
#endif
#ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H
# include <BALL/VIEW/KERNEL/geometricObject.h>
#endif
#ifndef BALL_VIEW_KERNEL_STAGE_H
# include <BALL/VIEW/KERNEL/stage.h>
#endif
#ifdef BALL_COMPILER_MSVC
# define WINDOWS_LEAN_AND_MEAN
# include <windows.h>
#endif
#ifdef BALL_HAS_GLEW
# include <GL/glew.h>
#elif defined(BALL_OS_DARWIN)
# include <OpenGL/gl.h>
# include <OpenGL/glu.h>
#else
# include <GL/gl.h>
# include <GL/glu.h>
#endif
#ifndef BALL_VIEW_RENDERING_GLDISPLAYLIST_H
# include <BALL/VIEW/RENDERING/glDisplayList.h>
#endif
#ifndef BALL_DATATYPE_REGULARDATA3D_H
# include <BALL/DATATYPE/regularData3D.h>
#endif
#ifndef APIENTRY
#define APIENTRY
#endif
class QFont;
namespace BALL
{
// defines the maximal number of GL-objects, which can be selected in picking mode
// a number as big as 100.000 is needed for large molecules, just to be sure we use a million
#define BALL_GLRENDERER_PICKING_NUMBER_OF_MAX_OBJECTS 1000000
namespace VIEW
{
class Scene;
class GLDisplayList;
class MeshBuffer;
class ColorMap;
class RenderTarget;
class BALL_VIEW_EXPORT GLRenderer
: public Renderer
{
friend class Scene;
public:
enum RenderMode
{
RENDER_MODE_UNDEFINED = 0,
RENDER_MODE_SOLID,
RENDER_MODE_TRANSPARENT,
RENDER_MODE_ALWAYS_FRONT
};
enum BufferMode
{
DIRECT_RENDERING = 0,
DISPLAY_LISTS_RENDERING,
REBUILD_DISPLAY_LISTS
};
class BALL_VIEW_EXPORT WrongModes: public Exception::GeneralException
{
public:
WrongModes(const char* file, int line, int mode, int precision);
};
typedef unsigned int Name;
GLRenderer();
virtual ~GLRenderer();
virtual void clear();
void dump(std::ostream& s, Size depth) const;
inline Name getName(const GeometricObject& object);
GeometricObject* getObject(GLRenderer::Name name) const;
using Renderer::init;
virtual bool init(const Stage& stage, float width, float height);
virtual void setLights(bool reset_all = false);
virtual void setSmoothLines(bool smooth_lines);
virtual bool getSmoothLines();
virtual void pickObjects(Position x1, Position y1, Position x2, Position y2,
std::list<GeometricObject*>& objects);
void pickObjects1(Position x1, Position y1, Position x2, Position y2);
void pickObjects2(std::list<GeometricObject*>& objects);
void setFogIntensity(float intensity);
void enterPickingMode();
void exitPickingMode();
void setSize(float width, float height);
float getXScale() const;
float getYScale() const;
virtual void updateBackgroundColor();
// Initialise transparent rendering
void initTransparent();
// Initialise solid rendering
void initSolid();
// Initialise always front rendering
void initAlwaysFront();
void setAntialiasing(bool state);
void removeRepresentation(const Representation& rep);
void bufferRepresentation(const Representation& rep);
void drawBuffered(const Representation& rep);
bool hasDisplayListFor(const Representation& rep) const;
RenderMode getRenderMode() const;
void setRenderMode(RenderMode mode) { render_mode_ = mode;}
virtual void renderToBuffer(RenderTarget* renderTarget, BufferMode);
virtual bool render(const Representation& representation, bool for_display_list = false);
virtual void bufferingDependentRender_(const Representation& repr, BufferMode mode);
bool isExtensionSupported(const String& extension) const;
void clearVertexBuffersFor(Representation& rep);
bool vertexBuffersSupported() const;
String getVendor();
String getRenderer();
String getOpenGLVersion();
vector<String> getExtensions();
bool runningOnVirtualBox();
bool enableVertexBuffers(bool state);
bool vertexBuffersEnabled() const;
DrawingMode getDrawingMode() const;
void initPerspective();
void setProjection();
//_
void setColorRGBA_(const ColorRGBA& color);
//_
void vertexVector3_(const Vector3& v);
//
void updateCamera(const Camera* camera = 0);
//
void setupStereo(float eye_separation, float focal_length);
Position createTextureFromGrid(const RegularData3D& grid, const ColorMap& map);
void removeTextureFor_(const RegularData3D& grid);
virtual void getFrustum(float& near_f, float& far_f, float& left_f, float& right_f, float& top_f, float& bottom_f);
void updateMaterialForRepresentation(Representation const* rep) { bufferRepresentation(*rep); }
protected:
bool mapViewplaneToScreen_();
void renderRepresentation_(const Representation& representation, bool for_display_list);
void renderRepresentations_(BufferMode mode);
virtual void renderLabel_(const Label& /*label*/);
virtual void renderLine_(const Line& /*line*/);
virtual void renderMultiLine_(const MultiLine& line);
virtual void renderMesh_(const Mesh& /*mesh*/);
virtual void renderQuadMesh_(const QuadMesh& /*mesh*/);
void initDrawingMeshes_();
void initDrawingOthers_();
virtual void renderRuler();
virtual void renderPoint_(const Point& /*point*/);
virtual void renderSimpleBox_(const SimpleBox& /*box*/);
virtual void renderBox_(const Box& /*box*/);
virtual void renderSphere_(const Sphere& /*sphere*/);
virtual void renderDisc_(const Disc& /*disc*/);
virtual void renderTube_(const Tube& /*tube*/);
virtual void renderTwoColoredLine_(const TwoColoredLine& /*two_colored_line*/);
virtual void renderTwoColoredTube_(const TwoColoredTube& /*two_colored_tube*/);
virtual void renderClippingPlane_(const ClippingPlane& plane);
virtual void renderGridVisualisation_(const GridVisualisation& vol);
//_
void setColor4ub_(const GeometricObject& object);
//_
void createSpheres_();
//_
void createTubes_();
//_
void createBoxes_();
//_
void createDottedSphere_(int precision);
//_
void subdivideTriangle_(Vector3& v1, Vector3& v2, Vector3& v3, int precision);
//_
void createLineBox_();
//_
void createDotBox_();
//_
void createSolidBox_();
//_
void clearNames_();
//_
void normalVector3_(const Vector3& v);
//_
void translateVector3_(const Vector3& v);
//_
void texCoordVector3_(const Vector3& v)
{ glTexCoord3f(v.x, v.y, v.z); }
//_
void scaleVector3_(const Vector3& v);
//_
void rotateVector3Angle_(const Vector3& v, Real angle);
//_
void scale_(float f);
void initGLU_(DrawingMode mode);
//_
void setOrthographicZoom(float orthographic_zoom);
//_
float getOrthographicZoom(void);
//_
void generateIlluminationTexture_(float ka, float kd, float kr, float shininess);
inline Position getTextureIndex_(Position x, Position y, Position z, Size width, Size height);
void setupGridClipPlanes_(const GridVisualisation& slice);
// Sets the current OpenGL material
void setMaterial_(const Stage::Material& mat);
DrawingMode drawing_mode_;
Index drawing_precision_;
//_
float near_;
//_
float far_;
//_
float left_;
//_
float right_;
//_
float top_;
//_
float bottom_;
//_
float x_scale_;
//_
float y_scale_;
GLDisplayList* GL_spheres_list_;
GLDisplayList* GL_tubes_list_;
GLDisplayList* GL_boxes_list_;
GLDisplayList* sphere_list_;
GLDisplayList line_list_;
GLuint line_texture_bind_;
GLubyte line_tex_[128][128][4];
// naming of geometric objects
typedef HashMap<const GeometricObject*, Name> NameHashMap;
typedef HashMap<Name, const GeometricObject*> GeometricObjectHashMap;
typedef HashMap<const Representation*, GLDisplayList*> DisplayListHashMap;
typedef HashMap<const Representation*, vector<MeshBuffer*> > MeshBufferHashMap;
GeometricObjectHashMap name_to_object_;
NameHashMap object_to_name_;
DisplayListHashMap display_lists_;
MeshBufferHashMap rep_to_buffers_;
Name all_names_;
GLuint object_buffer_[BALL_GLRENDERER_PICKING_NUMBER_OF_MAX_OBJECTS];
Vector3 normal_vector_;
RenderMode render_mode_;
bool use_vertex_buffer_;
bool smooth_lines_;
bool picking_mode_;
ModelType model_type_;
Position display_lists_index_;
bool single_pick_;
bool drawed_other_object_;
bool drawed_mesh_;
GLUquadricObj* GLU_quadric_obj_;
HashMap<const RegularData3D*, Position> grid_to_texture_;
GLuint cel_texture_;
float orthographic_zoom_;
};
# ifndef BALL_NO_INLINE_FUNCTIONS
# include <BALL/VIEW/RENDERING/RENDERERS/glRenderer.iC>
# endif
} // namespace VIEW
} // namespace BALL
#endif // BALL_VIEW_RENDERING_GLRENDERER_H
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition COMMON/global.h:52
BALL::Exception::GeneralException
Definition COMMON/exception.h:61
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions).
Definition hashMap.h:74
BALL::String
Definition string.h:57
BALL::TVector3::x
T x
Definition vector3.h:489
BALL::TVector3::y
T y
Definition vector3.h:493
BALL::TVector3::z
T z
Definition vector3.h:497
BALL::VIEW::Box
Definition box.h:33
BALL::VIEW::Camera
Definition camera.h:24
BALL::VIEW::ClippingPlane
Definition clippingPlane.h:26
BALL::VIEW::ColorMap
Definition colorMap.h:30
BALL::VIEW::ColorRGBA
Definition colorRGBA.h:32
BALL::VIEW::Disc
Definition disc.h:32
BALL::VIEW::GLDisplayList
Definition glDisplayList.h:32
BALL::VIEW::GLRenderer::WrongModes::WrongModes
WrongModes(const char *file, int line, int mode, int precision)
BALL::VIEW::GLRenderer::enableVertexBuffers
bool enableVertexBuffers(bool state)
BALL::VIEW::GLRenderer::createBoxes_
void createBoxes_()
BALL::VIEW::GLRenderer::Scene
friend class Scene
Definition glRenderer.h:77
BALL::VIEW::GLRenderer::getYScale
float getYScale() const
BALL::VIEW::GLRenderer::NameHashMap
HashMap< const GeometricObject *, Name > NameHashMap
Definition glRenderer.h:469
BALL::VIEW::GLRenderer::far_
float far_
Definition glRenderer.h:444
BALL::VIEW::GLRenderer::display_lists_index_
Position display_lists_index_
Definition glRenderer.h:488
BALL::VIEW::GLRenderer::right_
float right_
Definition glRenderer.h:448
BALL::VIEW::GLRenderer::name_to_object_
GeometricObjectHashMap name_to_object_
Definition glRenderer.h:474
BALL::VIEW::GLRenderer::renderSimpleBox_
virtual void renderSimpleBox_(const SimpleBox &)
Render a simple box (parallel to the axes).
BALL::VIEW::GLRenderer::setAntialiasing
void setAntialiasing(bool state)
Enable or disable antialiasing.
BALL::VIEW::GLRenderer::subdivideTriangle_
void subdivideTriangle_(Vector3 &v1, Vector3 &v2, Vector3 &v3, int precision)
BALL::VIEW::GLRenderer::RenderMode
RenderMode
Definition glRenderer.h:82
BALL::VIEW::GLRenderer::RENDER_MODE_SOLID
@ RENDER_MODE_SOLID
Definition glRenderer.h:87
BALL::VIEW::GLRenderer::RENDER_MODE_UNDEFINED
@ RENDER_MODE_UNDEFINED
Definition glRenderer.h:84
BALL::VIEW::GLRenderer::RENDER_MODE_ALWAYS_FRONT
@ RENDER_MODE_ALWAYS_FRONT
Definition glRenderer.h:93
BALL::VIEW::GLRenderer::RENDER_MODE_TRANSPARENT
@ RENDER_MODE_TRANSPARENT
Definition glRenderer.h:90
BALL::VIEW::GLRenderer::getRenderer
String getRenderer()
BALL::VIEW::GLRenderer::renderTube_
virtual void renderTube_(const Tube &)
Render a tube.
BALL::VIEW::GLRenderer::line_texture_bind_
GLuint line_texture_bind_
Definition glRenderer.h:465
BALL::VIEW::GLRenderer::use_vertex_buffer_
bool use_vertex_buffer_
Definition glRenderer.h:484
BALL::VIEW::GLRenderer::getRenderMode
RenderMode getRenderMode() const
BALL::VIEW::GLRenderer::bottom_
float bottom_
Definition glRenderer.h:452
BALL::VIEW::GLRenderer::renderQuadMesh_
virtual void renderQuadMesh_(const QuadMesh &)
Render a quad mesh.
BALL::VIEW::GLRenderer::renderToBuffer
virtual void renderToBuffer(RenderTarget *renderTarget, BufferMode)
BALL::VIEW::GLRenderer::updateMaterialForRepresentation
void updateMaterialForRepresentation(Representation const *rep)
Definition glRenderer.h:294
BALL::VIEW::GLRenderer::setLights
virtual void setLights(bool reset_all=false)
Set the light sources according to the stage.
BALL::VIEW::GLRenderer::renderBox_
virtual void renderBox_(const Box &)
Render a box.
BALL::VIEW::GLRenderer::drawed_mesh_
bool drawed_mesh_
Definition glRenderer.h:491
BALL::VIEW::GLRenderer::all_names_
Name all_names_
Definition glRenderer.h:478
BALL::VIEW::GLRenderer::GL_tubes_list_
GLDisplayList * GL_tubes_list_
Definition glRenderer.h:461
BALL::VIEW::GLRenderer::near_
float near_
Definition glRenderer.h:442
BALL::VIEW::GLRenderer::renderLine_
virtual void renderLine_(const Line &)
Render a line.
BALL::VIEW::GLRenderer::y_scale_
float y_scale_
Definition glRenderer.h:458
BALL::VIEW::GLRenderer::generateIlluminationTexture_
void generateIlluminationTexture_(float ka, float kd, float kr, float shininess)
BALL::VIEW::GLRenderer::sphere_list_
GLDisplayList * sphere_list_
Definition glRenderer.h:463
BALL::VIEW::GLRenderer::scale_
void scale_(float f)
BALL::VIEW::GLRenderer::renderTwoColoredTube_
virtual void renderTwoColoredTube_(const TwoColoredTube &)
Render a tube with two colors.
BALL::VIEW::GLRenderer::GeometricObjectHashMap
HashMap< Name, const GeometricObject * > GeometricObjectHashMap
Definition glRenderer.h:470
BALL::VIEW::GLRenderer::clearVertexBuffersFor
void clearVertexBuffersFor(Representation &rep)
BALL::VIEW::GLRenderer::setMaterial_
void setMaterial_(const Stage::Material &mat)
BALL::VIEW::GLRenderer::setColor4ub_
void setColor4ub_(const GeometricObject &object)
BALL::VIEW::GLRenderer::translateVector3_
void translateVector3_(const Vector3 &v)
BALL::VIEW::GLRenderer::bufferingDependentRender_
virtual void bufferingDependentRender_(const Representation &repr, BufferMode mode)
BALL::VIEW::GLRenderer::renderRepresentation_
void renderRepresentation_(const Representation &representation, bool for_display_list)
BALL::VIEW::GLRenderer::createTubes_
void createTubes_()
BALL::VIEW::GLRenderer::setColorRGBA_
void setColorRGBA_(const ColorRGBA &color)
BALL::VIEW::GLRenderer::orthographic_zoom_
float orthographic_zoom_
Definition glRenderer.h:496
BALL::VIEW::GLRenderer::initPerspective
void initPerspective()
BALL::VIEW::GLRenderer::clear
virtual void clear()
Explicit default initialization.
BALL::VIEW::GLRenderer::x_scale_
float x_scale_
Definition glRenderer.h:455
BALL::VIEW::GLRenderer::createSolidBox_
void createSolidBox_()
BALL::VIEW::GLRenderer::MeshBufferHashMap
HashMap< const Representation *, vector< MeshBuffer * > > MeshBufferHashMap
Definition glRenderer.h:472
BALL::VIEW::GLRenderer::GLRenderer
GLRenderer()
Default Constructor.
BALL::VIEW::GLRenderer::setupGridClipPlanes_
void setupGridClipPlanes_(const GridVisualisation &slice)
BALL::VIEW::GLRenderer::renderTwoColoredLine_
virtual void renderTwoColoredLine_(const TwoColoredLine &)
Render a line with two colors.
BALL::VIEW::GLRenderer::getTextureIndex_
Position getTextureIndex_(Position x, Position y, Position z, Size width, Size height)
BALL::VIEW::GLRenderer::GL_boxes_list_
GLDisplayList * GL_boxes_list_
Definition glRenderer.h:462
BALL::VIEW::GLRenderer::line_tex_
GLubyte line_tex_[128][128][4]
Definition glRenderer.h:466
BALL::VIEW::GLRenderer::mapViewplaneToScreen_
bool mapViewplaneToScreen_()
BALL::VIEW::GLRenderer::GLU_quadric_obj_
GLUquadricObj * GLU_quadric_obj_
Definition glRenderer.h:492
BALL::VIEW::GLRenderer::initSolid
void initSolid()
BALL::VIEW::GLRenderer::getName
Name getName(const GeometricObject &object)
BALL::VIEW::GLRenderer::getDrawingMode
DrawingMode getDrawingMode() const
BALL::VIEW::GLRenderer::drawing_mode_
DrawingMode drawing_mode_
Definition glRenderer.h:436
BALL::VIEW::GLRenderer::clearNames_
void clearNames_()
BALL::VIEW::GLRenderer::renderRepresentations_
void renderRepresentations_(BufferMode mode)
BALL::VIEW::GLRenderer::picking_mode_
bool picking_mode_
Definition glRenderer.h:486
BALL::VIEW::GLRenderer::texCoordVector3_
void texCoordVector3_(const Vector3 &v)
Definition glRenderer.h:406
BALL::VIEW::GLRenderer::getSmoothLines
virtual bool getSmoothLines()
BALL::VIEW::GLRenderer::renderRuler
virtual void renderRuler()
BALL::VIEW::GLRenderer::createTextureFromGrid
Position createTextureFromGrid(const RegularData3D &grid, const ColorMap &map)
BALL::VIEW::GLRenderer::scaleVector3_
void scaleVector3_(const Vector3 &v)
BALL::VIEW::GLRenderer::createLineBox_
void createLineBox_()
BALL::VIEW::GLRenderer::renderDisc_
virtual void renderDisc_(const Disc &)
Render a disc.
BALL::VIEW::GLRenderer::renderPoint_
virtual void renderPoint_(const Point &)
Render a single point.
BALL::VIEW::GLRenderer::render
virtual bool render(const Representation &representation, bool for_display_list=false)
BALL::VIEW::GLRenderer::renderGridVisualisation_
virtual void renderGridVisualisation_(const GridVisualisation &vol)
Render a grid slice.
BALL::VIEW::GLRenderer::bufferRepresentation
void bufferRepresentation(const Representation &rep)
Buffer the visualisation for the given Representation into OpenGL VertexBuffer Objects and DisplayLis...
BALL::VIEW::GLRenderer::updateCamera
void updateCamera(const Camera *camera=0)
BALL::VIEW::GLRenderer::getExtensions
vector< String > getExtensions()
BALL::VIEW::GLRenderer::dump
void dump(std::ostream &s, Size depth) const
BALL::VIEW::GLRenderer::setProjection
void setProjection()
BALL::VIEW::GLRenderer::renderSphere_
virtual void renderSphere_(const Sphere &)
Render a sphere.
BALL::VIEW::GLRenderer::getVendor
String getVendor()
BALL::VIEW::GLRenderer::setFogIntensity
void setFogIntensity(float intensity)
BALL::VIEW::GLRenderer::initDrawingOthers_
void initDrawingOthers_()
BALL::VIEW::GLRenderer::rep_to_buffers_
MeshBufferHashMap rep_to_buffers_
Definition glRenderer.h:477
BALL::VIEW::GLRenderer::setSize
void setSize(float width, float height)
Set the size of the display.
BALL::VIEW::GLRenderer::initDrawingMeshes_
void initDrawingMeshes_()
BALL::VIEW::GLRenderer::initAlwaysFront
void initAlwaysFront()
BALL::VIEW::GLRenderer::grid_to_texture_
HashMap< const RegularData3D *, Position > grid_to_texture_
Definition glRenderer.h:493
BALL::VIEW::GLRenderer::normal_vector_
Vector3 normal_vector_
Definition glRenderer.h:480
BALL::VIEW::GLRenderer::pickObjects
virtual void pickObjects(Position x1, Position y1, Position x2, Position y2, std::list< GeometricObject * > &objects)
BALL::VIEW::GLRenderer::isExtensionSupported
bool isExtensionSupported(const String &extension) const
BALL::VIEW::GLRenderer::createDotBox_
void createDotBox_()
BALL::VIEW::GLRenderer::~GLRenderer
virtual ~GLRenderer()
Destructor.
BALL::VIEW::GLRenderer::removeRepresentation
void removeRepresentation(const Representation &rep)
Remove all VertexBuffer and DisplayLists for the given Representation.
BALL::VIEW::GLRenderer::display_lists_
DisplayListHashMap display_lists_
Definition glRenderer.h:476
BALL::VIEW::GLRenderer::createSpheres_
void createSpheres_()
BALL::VIEW::GLRenderer::render_mode_
RenderMode render_mode_
Definition glRenderer.h:482
BALL::VIEW::GLRenderer::drawBuffered
void drawBuffered(const Representation &rep)
Draw the visualisation of the given Representation from the VertexBuffers and a DisplayList.
BALL::VIEW::GLRenderer::runningOnVirtualBox
bool runningOnVirtualBox()
BALL::VIEW::GLRenderer::single_pick_
bool single_pick_
Definition glRenderer.h:489
BALL::VIEW::GLRenderer::drawing_precision_
Index drawing_precision_
Definition glRenderer.h:439
BALL::VIEW::GLRenderer::removeTextureFor_
void removeTextureFor_(const RegularData3D &grid)
BALL::VIEW::GLRenderer::setRenderMode
void setRenderMode(RenderMode mode)
Definition glRenderer.h:223
BALL::VIEW::GLRenderer::pickObjects1
void pickObjects1(Position x1, Position y1, Position x2, Position y2)
BALL::VIEW::GLRenderer::getXScale
float getXScale() const
BALL::VIEW::GLRenderer::GL_spheres_list_
GLDisplayList * GL_spheres_list_
Definition glRenderer.h:460
BALL::VIEW::GLRenderer::hasDisplayListFor
bool hasDisplayListFor(const Representation &rep) const
Test if a Representation has a DisplayList.
BALL::VIEW::GLRenderer::initGLU_
void initGLU_(DrawingMode mode)
BALL::VIEW::GLRenderer::renderLabel_
virtual void renderLabel_(const Label &)
BALL::VIEW::GLRenderer::vertexBuffersSupported
bool vertexBuffersSupported() const
BALL::VIEW::GLRenderer::initTransparent
void initTransparent()
BALL::VIEW::GLRenderer::createDottedSphere_
void createDottedSphere_(int precision)
BALL::VIEW::GLRenderer::left_
float left_
Definition glRenderer.h:446
BALL::VIEW::GLRenderer::updateBackgroundColor
virtual void updateBackgroundColor()
Update the background color from the stage.
BALL::VIEW::GLRenderer::object_to_name_
NameHashMap object_to_name_
Definition glRenderer.h:475
BALL::VIEW::GLRenderer::BufferMode
BufferMode
Definition glRenderer.h:99
BALL::VIEW::GLRenderer::DIRECT_RENDERING
@ DIRECT_RENDERING
Render without display lists, directly to the Scene.
Definition glRenderer.h:101
BALL::VIEW::GLRenderer::DISPLAY_LISTS_RENDERING
@ DISPLAY_LISTS_RENDERING
Render the contents of the display lists.
Definition glRenderer.h:104
BALL::VIEW::GLRenderer::REBUILD_DISPLAY_LISTS
@ REBUILD_DISPLAY_LISTS
Rebuild the contents of the display lists and redraw them.
Definition glRenderer.h:107
BALL::VIEW::GLRenderer::renderMultiLine_
virtual void renderMultiLine_(const MultiLine &line)
Render an illuminated line.
BALL::VIEW::GLRenderer::vertexBuffersEnabled
bool vertexBuffersEnabled() const
BALL::VIEW::GLRenderer::renderClippingPlane_
virtual void renderClippingPlane_(const ClippingPlane &plane)
BALL::VIEW::GLRenderer::enterPickingMode
void enterPickingMode()
BALL::VIEW::GLRenderer::getFrustum
virtual void getFrustum(float &near_f, float &far_f, float &left_f, float &right_f, float &top_f, float &bottom_f)
BALL::VIEW::GLRenderer::rotateVector3Angle_
void rotateVector3Angle_(const Vector3 &v, Real angle)
BALL::VIEW::GLRenderer::drawed_other_object_
bool drawed_other_object_
Definition glRenderer.h:490
BALL::VIEW::GLRenderer::setSmoothLines
virtual void setSmoothLines(bool smooth_lines)
BALL::VIEW::GLRenderer::object_buffer_
GLuint object_buffer_[BALL_GLRENDERER_PICKING_NUMBER_OF_MAX_OBJECTS]
Definition glRenderer.h:479
BALL::VIEW::GLRenderer::getObject
GeometricObject * getObject(GLRenderer::Name name) const
BALL::VIEW::GLRenderer::vertexVector3_
void vertexVector3_(const Vector3 &v)
BALL::VIEW::GLRenderer::setOrthographicZoom
void setOrthographicZoom(float orthographic_zoom)
BALL::VIEW::GLRenderer::Name
unsigned int Name
Typedef for OPENGL names.
Definition glRenderer.h:124
BALL::VIEW::GLRenderer::pickObjects2
void pickObjects2(std::list< GeometricObject * > &objects)
BALL::VIEW::GLRenderer::smooth_lines_
bool smooth_lines_
Definition glRenderer.h:485
BALL::VIEW::GLRenderer::top_
float top_
Definition glRenderer.h:450
BALL::VIEW::GLRenderer::line_list_
GLDisplayList line_list_
Definition glRenderer.h:464
BALL::VIEW::GLRenderer::cel_texture_
GLuint cel_texture_
Definition glRenderer.h:494
BALL::VIEW::GLRenderer::exitPickingMode
void exitPickingMode()
BALL::VIEW::GLRenderer::init
virtual bool init(const Stage &stage, float width, float height)
Initialise the renderer, e.g. the display lists.
BALL::VIEW::GLRenderer::setupStereo
void setupStereo(float eye_separation, float focal_length)
BALL::VIEW::GLRenderer::getOrthographicZoom
float getOrthographicZoom(void)
BALL::VIEW::GLRenderer::renderMesh_
virtual void renderMesh_(const Mesh &)
Render a surface mesh.
BALL::VIEW::GLRenderer::getOpenGLVersion
String getOpenGLVersion()
BALL::VIEW::GLRenderer::model_type_
ModelType model_type_
Definition glRenderer.h:487
BALL::VIEW::GLRenderer::normalVector3_
void normalVector3_(const Vector3 &v)
BALL::VIEW::GLRenderer::DisplayListHashMap
HashMap< const Representation *, GLDisplayList * > DisplayListHashMap
Definition glRenderer.h:471
BALL::VIEW::GeometricObject
Definition geometricObject.h:37
BALL::VIEW::GridVisualisation
Definition gridVisualisation.h:27
BALL::VIEW::Label
Definition label.h:48
BALL::VIEW::Line
Definition line.h:38
BALL::VIEW::Mesh
Definition mesh.h:42
BALL::VIEW::MultiLine
Definition multiLine.h:33
BALL::VIEW::Point
Definition point.h:37
BALL::VIEW::QuadMesh
Definition quadMesh.h:30
BALL::VIEW::RenderTarget
Definition renderTarget.h:227
BALL::VIEW::Renderer::init
virtual bool init(Scene &scene)
BALL::VIEW::Renderer::Renderer
Renderer()
BALL::VIEW::Representation
Definition representation.h:59
BALL::VIEW::SimpleBox
Definition simpleBox.h:37
BALL::VIEW::Sphere
Definition sphere.h:33
BALL::VIEW::Stage::Material
Definition stage.h:246
BALL::VIEW::Stage
Definition stage.h:239
BALL::VIEW::Tube
Definition tube.h:40
BALL::VIEW::TwoColoredLine
Definition twoColoredLine.h:49
BALL::VIEW::TwoColoredTube
Definition twoColoredTube.h:49
colorRGBA.h
geometricObject.h
glDisplayList.h
BALL_GLRENDERER_PICKING_NUMBER_OF_MAX_OBJECTS
#define BALL_GLRENDERER_PICKING_NUMBER_OF_MAX_OBJECTS
Definition glRenderer.h:61
BALL::VIEW::DrawingMode
DrawingMode
Enumeration for Drawing Modes.
Definition VIEW/KERNEL/common.h:110
BALL::VIEW::ModelType
ModelType
Definition VIEW/KERNEL/common.h:166
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::RegularData3D
TRegularData3D< float > RegularData3D
Definition regularData3D.h:515
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
BALL::Vector3
TVector3< float > Vector3
Definition vector3.h:1084
BALL::Index
BALL_INDEX_TYPE Index
Definition COMMON/global.h:105
BALL::Real
float Real
Definition COMMON/global.h:148
quaternion.h
regularData3D.h
renderer.h
stage.h