- add vertex buffer based drawing for all walls and flats.
This commit is contained in:
parent
7d3beb665b
commit
f7404d20fb
7 changed files with 272 additions and 29 deletions
|
|
@ -296,6 +296,7 @@ void FFlatVertexBuffer::CreateVBO()
|
|||
{
|
||||
CreateFlatVBO();
|
||||
memcpy(map, &vbo_shadowdata[0], vbo_shadowdata.Size() * sizeof(FFlatVertex));
|
||||
mIndex = vbo_shadowdata.Size();
|
||||
}
|
||||
else if (sectors)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ class FFlatVertexBuffer : public FVertexBuffer
|
|||
{
|
||||
FFlatVertex *map;
|
||||
unsigned int mIndex;
|
||||
unsigned int mCurIndex;
|
||||
|
||||
void CheckPlanes(sector_t *sector);
|
||||
|
||||
|
|
@ -49,6 +50,23 @@ public:
|
|||
void BindVBO();
|
||||
void CheckUpdate(sector_t *sector);
|
||||
|
||||
FFlatVertex *GetBuffer()
|
||||
{
|
||||
return &map[mCurIndex];
|
||||
}
|
||||
unsigned int GetCount(FFlatVertex *newptr, unsigned int *poffset)
|
||||
{
|
||||
unsigned int newofs = unsigned int(newptr - map);
|
||||
unsigned int diff = newofs - mCurIndex;
|
||||
*poffset = mCurIndex;
|
||||
mCurIndex = newofs;
|
||||
return diff;
|
||||
}
|
||||
void Reset()
|
||||
{
|
||||
mCurIndex = mIndex;
|
||||
}
|
||||
|
||||
private:
|
||||
int CreateSubsectorVertices(subsector_t *sub, const secplane_t &plane, int floor);
|
||||
int CreateSectorVertices(sector_t *sec, const secplane_t &plane, int floor);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue