5 #ifndef BALL_VIEW_RENDERING_RENDERERS_RTFACTRENDERER_H
6 #define BALL_VIEW_RENDERING_RENDERERS_RTFACTRENDERER_H
8 #define BALLVIEW_RTFACTRENDERER_THROW(exceptionName, message) (throw BALL::Exception::##exceptionName##(__FILE__, __LINE__, message))
21 #include <RTremote/Renderer.hpp>
22 #include <RTremote/Picking.hpp>
58 rtfact_needs_update_(false)
70 virtual bool init(
Scene& scene);
74 return "RTfact-RTRemote Ray Tracer";
83 std::list<GeometricObject*>& objects);
85 virtual void setSize(
float width,
float height);
87 virtual void setupStereo(
float eye_separation,
float focal_length);
89 virtual void getFrustum(
float& near_f,
float& far_f,
float& left_f,
float& right_f,
float& top_f,
float& bottom_f);
90 virtual void setFrustum(
float near_f,
float far_f,
float left_f,
float right_f,
float top_f,
float bottom_f);
92 virtual void prepareBufferedRendering(
const Stage& stage);
95 virtual void useContinuousLoop(
bool use_loop);
100 void setLights(
bool reset_all =
false);
102 void updateCamera(
const Camera* camera = 0);
104 void updateBackgroundColor();
106 void setupEnvironmentMap(
const QImage& image);
110 RTfact::Remote::GroupHandle transformTube(
const TwoColoredTube& tube);
111 RTfact::Remote::GroupHandle transformLine(
const TwoColoredLine& line);
112 void updateMaterialFromStage(RTfact::Remote::RTAppearanceHandle& material);
125 virtual std::vector<float> intersectRaysWithGeometry(
const std::vector<Vector3>& origins,
126 const std::vector<Vector3>& directions);
132 std::vector<RTfact::Remote::RTLightHandle> lights_;
134 RTfact::Remote::Renderer m_renderer;
136 boost::shared_ptr<RTfact::Remote::Picking> m_picking;
144 template<
typename taPixelType>
145 void renderImpl(taPixelType* buffer,
const unsigned int width,
const unsigned int height,
const unsigned int pitch);
147 void renderImpl(
float* buffer,
const unsigned int width,
const unsigned int height,
const unsigned int pitch)
151 bool rtfact_needs_update_;
165 #endif // BALL_VIEW_RENDERING_RTFACTRENDERER_H
boost::shared_ptr< FrameBuffer > FrameBufferPtr
virtual ~RTfactRenderer()
Destructor.
RTfactRenderer()
Default Constructor.
std::vector< RTfact::Remote::GroupHandle > top_group_handles
The top-level group handles this object was assigned to.
bool has_been_disabled
Mark previously disabled representations.
std::vector< RTfact::Remote::RTAppearanceHandle > material_handles
The materials.
-*- Mode: C++; tab-width: 2; -*-
virtual String getRenderer()
HashMap class based on the STL map (containing serveral convenience functions)
virtual void formatUpdated()
std::vector< RTfact::Remote::GeoHandle > object_handles
The object handles.