1#ifndef VISTLE_PARRENDMGR_H
2#define VISTLE_PARRENDMGR_H
16 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
18 typedef void (*IceTDrawCallback)(
const IceTDouble *proj,
const IceTDouble *mv,
const IceTFloat *bg,
19 const IceTInt *viewport, IceTImage image);
36 void compositeCurrentView(
const unsigned char *rgba,
const float *depth,
const int viewport[4],
int timestep,
44 unsigned char *
rgba(
size_t viewIdx);
46 void updateRect(
size_t viewIdx,
const IceTInt *viewport);
51 int rootRank()
const {
return m_displayRank == -1 ? 0 : m_displayRank; }
70 size_t m_updateCount = -1;
80 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
85 std::vector<RhrServer::Light>
lights;
96 template<
class Archive>
97 void serialize(Archive &ar,
const unsigned int version)
115 template<
class Archive>
128 int numTimesteps = 0;
133 template<
class Archive>
142 std::vector<PerViewState, Eigen::aligned_allocator<PerViewState>>
m_viewData;
143 std::vector<std::vector<unsigned char>>
m_rgba;
154 IceTData(): ctxValid(false), width(0), height(0) { ctx = 0; }
Definition: parrendmgr.h:14
int m_updateScene
Definition: parrendmgr.h:73
void setCurrentView(size_t i)
void compositeCurrentView(const unsigned char *rgba, const float *depth, const int viewport[4], int timestep, bool lastView)
double m_delaySec
Definition: parrendmgr.h:63
int m_doRender
Definition: parrendmgr.h:74
int m_currentView
holds no. of view currently being rendered - not a problem as IceT is not reentrant anyway
Definition: parrendmgr.h:145
bool m_frameComplete
track whether frame has been flushed to clients
Definition: parrendmgr.h:146
bool isVariantVisible(const std::string &variant) const
int rootRank() const
Definition: parrendmgr.h:51
vistle::Matrix4 getProjMat(size_t viewIdx) const
void removeObject(std::shared_ptr< RenderObject > ro)
bool prepareFrame(size_t numTimesteps)
void finishCurrentView(const IceTImage &img, int timestep)
Vector3 localBoundMax
Definition: parrendmgr.h:68
vistle::Matrix4 getModelViewMat(size_t viewIdx) const
std::vector< std::vector< float > > m_depth
Definition: parrendmgr.h:144
bool finishFrame(int timestep)
Port * outputPort() const
IntParameter * m_colorRank
Definition: parrendmgr.h:65
std::vector< PerViewState, Eigen::aligned_allocator< PerViewState > > m_viewData
Definition: parrendmgr.h:142
bool handleMessage(const message::Message *message, const MessagePayload &payload)
int m_displayRank
Definition: parrendmgr.h:58
void updateRect(size_t viewIdx, const IceTInt *viewport)
const PerViewState & viewData(size_t viewIdx) const
IntParameter * m_continuousRendering
Definition: parrendmgr.h:60
~ParallelRemoteRenderManager()
float * depth(size_t viewIdx)
RhrServer::VariantVisibilityMap m_clientVariants
Definition: parrendmgr.h:159
IceTDrawCallback m_drawCallback
Definition: parrendmgr.h:57
Renderer * m_module
Definition: parrendmgr.h:56
void finishCurrentView(const IceTImage &img, int timestep, bool lastView)
size_t m_lightsUpdateCount
Definition: parrendmgr.h:75
bool sceneChanged() const
void setLocalBounds(const Vector3 &min, const Vector3 &max)
unsigned char * rgba(size_t viewIdx)
Vector4 m_defaultColor
Definition: parrendmgr.h:66
std::vector< IceTData > m_icet
Definition: parrendmgr.h:156
int m_updateVariants
Definition: parrendmgr.h:72
void connectionRemoved(const Port *to)
Renderer::VariantMap m_localVariants
Definition: parrendmgr.h:160
ParallelRemoteRenderManager(Renderer *module, IceTDrawCallback drawCallback)
bool checkIceTError(const char *msg) const
std::vector< std::vector< unsigned char > > m_rgba
Definition: parrendmgr.h:143
bool handleParam(const Parameter *p)
void addObject(std::shared_ptr< RenderObject > ro)
RhrController m_rhrControl
Definition: parrendmgr.h:59
void connectionAdded(const Port *to)
int m_updateBounds
Definition: parrendmgr.h:71
FloatParameter * m_delay
Definition: parrendmgr.h:62
Definition: rhrcontroller.h:11
std::map< std::string, bool > VariantVisibilityMap
Definition: rhrserver.h:92
Eigen::Matrix< Scalar, 3, 1 > Vector3
Eigen::Matrix< Scalar, 4, 1 > Vector4
Eigen::Matrix< Scalar, 4, 4 > Matrix4
serializable description of one IceT tile - usable by boost::mpi
Definition: parrendmgr.h:109
int height
Definition: parrendmgr.h:111
int rank
Definition: parrendmgr.h:110
void serialize(Archive &ar, const unsigned int version)
Definition: parrendmgr.h:116
DisplayTile()
Definition: parrendmgr.h:113
state shared among all views
Definition: parrendmgr.h:126
GlobalState()
Definition: parrendmgr.h:131
Vector3 bMax
Definition: parrendmgr.h:129
void serialize(Archive &ar, const unsigned int version)
Definition: parrendmgr.h:134
per view IceT state
Definition: parrendmgr.h:149
IceTContext ctx
Definition: parrendmgr.h:152
bool ctxValid
Definition: parrendmgr.h:150
IceTData()
Definition: parrendmgr.h:154
int height
Definition: parrendmgr.h:151
Definition: parrendmgr.h:77
PerViewState()
Definition: parrendmgr.h:89
int height
Definition: parrendmgr.h:87
Matrix4 proj
Definition: parrendmgr.h:84
RhrServer::ViewParameters rhrParam
Definition: parrendmgr.h:86
std::vector< RhrServer::Light > lights
Definition: parrendmgr.h:85
Matrix4 view
Definition: parrendmgr.h:83
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Matrix4 model
Definition: parrendmgr.h:82
void serialize(Archive &ar, const unsigned int version)
Definition: parrendmgr.h:97
Definition: rhrserver.h:216