#include <gl_mesh_attributes_feeder.h>
Classes | |
struct | GLBufferObject |
Public Member Functions | |
void | buffersDeAllocationRequested () |
void | buffersDeAllocationRequested (const ReqAtts &rq) |
void | draw (const ReqAtts &rq, const std::vector< GLuint > textid=std::vector< GLuint >()) |
GLMeshAttributesFeeder (MESHTYPE &mesh, MemoryInfo &meminfo, size_t perbatchprimitives) | |
void | invalidateRequestedAttributes (const ReqAtts &rq) |
bool | isPossibleToUseBORendering () const |
size_t | perBatchPrimitives () const |
ReqAtts | removeRequestedAttributes (const ReqAtts &rq) |
void | setPerBatchPrimitives (size_t perbatchprimitives) |
ReqAtts | setupRequestedAttributes (const ReqAtts &rq, bool &allocated) |
~GLMeshAttributesFeeder () | |
Protected Types | |
typedef std::map< short, ChunkVector > | ChunkMap |
typedef std::vector< std::pair < GLuint, GLuint > > | ChunkVector |
Protected Member Functions | |
size_t | boExpectedDimension (ATT_NAMES name, bool replicatedpipeline, bool generateindex) const |
size_t | boExpectedSize (ATT_NAMES name, bool replicatedpipeline, bool generateindex) const |
void | bufferDeAllocationRequested (const ATT_NAMES att) |
std::ptrdiff_t | bufferObjectsMemoryRequired (const ReqAtts &rqatt) const |
bool | buffersAllocationFunction (const ReqAtts &req, std::vector< bool > &attributestobeupdated) |
void | disableClientState (ATT_NAMES boname, const ReqAtts &req) const |
void | drawPoints (const ReqAtts &req) |
void | drawTriangles (const ReqAtts &req, const std::vector< GLuint > &textureindex=std::vector< GLuint >()) |
void | fillchunkMap (ChunkMap &cmap) |
const GLBufferObject & | getBufferObjectInfo (ATT_NAMES boname) const |
bool | immediateModeRendering (const ReqAtts &req, const std::vector< GLuint > &textureindex=std::vector< GLuint >()) |
void | setBufferPointer (ATT_NAMES boname) const |
bool | tryToAllocateAndCopyAttributesInBO (const ReqAtts &req) |
bool | updateBuffersIndexedPipeline (const std::vector< bool > &attributestobeupdated) |
bool | updateBuffersReplicatedPipeline (const std::vector< bool > &attributestobeupdated) |
void | updateClientState (const ReqAtts &req) |
Static Protected Member Functions | |
static bool | isPerVertexAttribute (ATT_NAMES name) |
Protected Attributes | |
std::vector< GLBufferObject * > | _bo |
bool | _borendering |
ChunkMap | _chunkmap |
ReqAtts | _currallocatedboatt |
MemoryInfo & | _gpumeminfo |
bool | _lastfeedingusedreplicatedpipeline |
MESHTYPE & | _mesh |
size_t | _perbatchprim |
bool | _rendermodinitialized |
std::vector< std::pair< short, GLuint > > | _texindnumtriangles |
*_allreqattmap contains a map of the requested atts by each single view. it's maintained for the actual rendering step*/ |
Definition at line 227 of file gl_mesh_attributes_feeder.h.
typedef std::map< short, ChunkVector > vcg::GLMeshAttributesFeeder< MESHTYPE >::ChunkMap [protected] |
Definition at line 1465 of file gl_mesh_attributes_feeder.h.
typedef std::vector< std::pair< GLuint,GLuint > > vcg::GLMeshAttributesFeeder< MESHTYPE >::ChunkVector [protected] |
Definition at line 1464 of file gl_mesh_attributes_feeder.h.
vcg::GLMeshAttributesFeeder< MESHTYPE >::GLMeshAttributesFeeder | ( | MESHTYPE & | mesh, |
MemoryInfo & | meminfo, | ||
size_t | perbatchprimitives | ||
) | [inline] |
Definition at line 230 of file gl_mesh_attributes_feeder.h.
vcg::GLMeshAttributesFeeder< MESHTYPE >::~GLMeshAttributesFeeder | ( | ) | [inline] |
Definition at line 245 of file gl_mesh_attributes_feeder.h.
size_t vcg::GLMeshAttributesFeeder< MESHTYPE >::boExpectedDimension | ( | ATT_NAMES | name, |
bool | replicatedpipeline, | ||
bool | generateindex | ||
) | const [inline, protected] |
Definition at line 1433 of file gl_mesh_attributes_feeder.h.
size_t vcg::GLMeshAttributesFeeder< MESHTYPE >::boExpectedSize | ( | ATT_NAMES | name, |
bool | replicatedpipeline, | ||
bool | generateindex | ||
) | const [inline, protected] |
Definition at line 1384 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::bufferDeAllocationRequested | ( | const ATT_NAMES | att | ) | [inline, protected] |
Definition at line 484 of file gl_mesh_attributes_feeder.h.
std::ptrdiff_t vcg::GLMeshAttributesFeeder< MESHTYPE >::bufferObjectsMemoryRequired | ( | const ReqAtts & | rqatt | ) | const [inline, protected] |
Definition at line 1366 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::buffersAllocationFunction | ( | const ReqAtts & | req, |
std::vector< bool > & | attributestobeupdated | ||
) | [inline, protected] |
*********************************************************************************************************/
Definition at line 506 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::buffersDeAllocationRequested | ( | ) | [inline] |
Reimplemented in MLThreadSafeGLMeshAttributesFeeder.
Definition at line 359 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::buffersDeAllocationRequested | ( | const ReqAtts & | rq | ) | [inline] |
Definition at line 371 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::disableClientState | ( | ATT_NAMES | boname, |
const ReqAtts & | req | ||
) | const [inline, protected] |
Definition at line 1325 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::draw | ( | const ReqAtts & | rq, |
const std::vector< GLuint > | textid = std::vector<GLuint>() |
||
) | [inline] |
Definition at line 383 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::drawPoints | ( | const ReqAtts & | req | ) | [inline, protected] |
Definition at line 1235 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::drawTriangles | ( | const ReqAtts & | req, |
const std::vector< GLuint > & | textureindex = std::vector<GLuint>() |
||
) | [inline, protected] |
Definition at line 1160 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::fillchunkMap | ( | ChunkMap & | cmap | ) | [inline, protected] |
Definition at line 1467 of file gl_mesh_attributes_feeder.h.
const GLBufferObject& vcg::GLMeshAttributesFeeder< MESHTYPE >::getBufferObjectInfo | ( | ATT_NAMES | boname | ) | const [inline, protected] |
Definition at line 479 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::immediateModeRendering | ( | const ReqAtts & | req, |
const std::vector< GLuint > & | textureindex = std::vector<GLuint>() |
||
) | [inline, protected] |
Definition at line 1053 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::invalidateRequestedAttributes | ( | const ReqAtts & | rq | ) | [inline] |
Definition at line 347 of file gl_mesh_attributes_feeder.h.
static bool vcg::GLMeshAttributesFeeder< MESHTYPE >::isPerVertexAttribute | ( | ATT_NAMES | name | ) | [inline, static, protected] |
Definition at line 1451 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::isPossibleToUseBORendering | ( | ) | const [inline] |
Definition at line 416 of file gl_mesh_attributes_feeder.h.
size_t vcg::GLMeshAttributesFeeder< MESHTYPE >::perBatchPrimitives | ( | ) | const [inline] |
Definition at line 411 of file gl_mesh_attributes_feeder.h.
ReqAtts vcg::GLMeshAttributesFeeder< MESHTYPE >::removeRequestedAttributes | ( | const ReqAtts & | rq | ) | [inline] |
Definition at line 342 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::setBufferPointer | ( | ATT_NAMES | boname | ) | const [inline, protected] |
Definition at line 1284 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::setPerBatchPrimitives | ( | size_t | perbatchprimitives | ) | [inline] |
Definition at line 406 of file gl_mesh_attributes_feeder.h.
ReqAtts vcg::GLMeshAttributesFeeder< MESHTYPE >::setupRequestedAttributes | ( | const ReqAtts & | rq, |
bool & | allocated | ||
) | [inline] |
Definition at line 320 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::tryToAllocateAndCopyAttributesInBO | ( | const ReqAtts & | req | ) | [inline, protected] |
Definition at line 659 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::updateBuffersIndexedPipeline | ( | const std::vector< bool > & | attributestobeupdated | ) | [inline, protected] |
Definition at line 712 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::updateBuffersReplicatedPipeline | ( | const std::vector< bool > & | attributestobeupdated | ) | [inline, protected] |
Definition at line 836 of file gl_mesh_attributes_feeder.h.
void vcg::GLMeshAttributesFeeder< MESHTYPE >::updateClientState | ( | const ReqAtts & | req | ) | [inline, protected] |
Definition at line 1254 of file gl_mesh_attributes_feeder.h.
std::vector<GLBufferObject*> vcg::GLMeshAttributesFeeder< MESHTYPE >::_bo [protected] |
Definition at line 1497 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::_borendering [protected] |
Definition at line 1507 of file gl_mesh_attributes_feeder.h.
ChunkMap vcg::GLMeshAttributesFeeder< MESHTYPE >::_chunkmap [protected] |
Definition at line 1510 of file gl_mesh_attributes_feeder.h.
ReqAtts vcg::GLMeshAttributesFeeder< MESHTYPE >::_currallocatedboatt [protected] |
Definition at line 1500 of file gl_mesh_attributes_feeder.h.
MemoryInfo& vcg::GLMeshAttributesFeeder< MESHTYPE >::_gpumeminfo [protected] |
Definition at line 1495 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::_lastfeedingusedreplicatedpipeline [protected] |
Definition at line 1506 of file gl_mesh_attributes_feeder.h.
MESHTYPE& vcg::GLMeshAttributesFeeder< MESHTYPE >::_mesh [protected] |
Definition at line 1494 of file gl_mesh_attributes_feeder.h.
size_t vcg::GLMeshAttributesFeeder< MESHTYPE >::_perbatchprim [protected] |
Definition at line 1508 of file gl_mesh_attributes_feeder.h.
bool vcg::GLMeshAttributesFeeder< MESHTYPE >::_rendermodinitialized [protected] |
Definition at line 1509 of file gl_mesh_attributes_feeder.h.
std::vector< std::pair<short,GLuint> > vcg::GLMeshAttributesFeeder< MESHTYPE >::_texindnumtriangles [protected] |
*_allreqattmap contains a map of the requested atts by each single view. it's maintained for the actual rendering step*/
Definition at line 1504 of file gl_mesh_attributes_feeder.h.