Lindie viewer-dev catchup regarding rendering pipeline.

This commit is contained in:
Shyotl
2012-06-30 20:05:31 -05:00
parent a8ebd6eebb
commit 67e1a3b004
87 changed files with 3880 additions and 2180 deletions

View File

@@ -268,11 +268,10 @@ public:
SKIP_FRUSTUM_CHECK = 0x00000020,
IN_IMAGE_QUEUE = 0x00000040,
IMAGE_DIRTY = 0x00000080,
OCCLUSION_DIRTY = 0x00000100,
MESH_DIRTY = 0x00000200,
NEW_DRAWINFO = 0x00000400,
IN_BUILD_Q1 = 0x00000800,
IN_BUILD_Q2 = 0x00001000,
MESH_DIRTY = 0x00000100,
NEW_DRAWINFO = 0x00000200,
IN_BUILD_Q1 = 0x00000400,
IN_BUILD_Q2 = 0x00000800,
STATE_MASK = 0x0000FFFF,
} eSpatialState;
@@ -318,10 +317,9 @@ public:
BOOL boundObjects(BOOL empty, LLVector4a& newMin, LLVector4a& newMax);
void unbound();
BOOL rebound();
void buildOcclusion(); //rebuild mOcclusionVerts
void checkOcclusion(); //read back last occlusion query (if any)
void doOcclusion(LLCamera* camera); //issue occlusion query
void destroyGL();
void destroyGL(bool keep_occlusion = false);
void updateDistance(LLCamera& camera);
BOOL needsUpdate();
@@ -386,7 +384,6 @@ public:
LLSpatialPartition* mSpatialPartition;
LLPointer<LLVertexBuffer> mVertexBuffer;
LLPointer<LLVertexBuffer> mOcclusionVerts;
GLuint mOcclusionQuery[LLViewerCamera::NUM_CAMERAS];
U32 mBufferUsage;
@@ -637,6 +634,7 @@ class LLParticlePartition : public LLSpatialPartition
{
public:
LLParticlePartition();
virtual void rebuildGeom(LLSpatialGroup* group);
virtual void getGeometry(LLSpatialGroup* group);
virtual void addGeometryCount(LLSpatialGroup* group, U32 &vertex_count, U32& index_count);
virtual F32 calcPixelArea(LLSpatialGroup* group, LLCamera& camera);
@@ -651,18 +649,24 @@ public:
};
//spatial partition for grass (implemented in LLVOGrass.cpp)
class LLGrassPartition : public LLParticlePartition
class LLGrassPartition : public LLSpatialPartition
{
public:
LLGrassPartition();
virtual void getGeometry(LLSpatialGroup* group);
virtual void addGeometryCount(LLSpatialGroup* group, U32 &vertex_count, U32& index_count);
protected:
U32 mRenderPass;
};
//spatial partition for clouds (implemented in LLVOClouds.cpp)
#if ENABLE_CLASSIC_CLOUDS
class LLCloudPartition : public LLParticlePartition
{
public:
LLCloudPartition();
};
#endif
//class for wrangling geometry out of volumes (implemented in LLVOVolume.cpp)
class LLVolumeGeometryManager: public LLGeometryManager