- moved the remaining parts of the main vertex buffer to hwrenderer.

This commit is contained in:
Christoph Oelckers 2018-10-27 14:42:24 +02:00
commit 5a4e5a8038
10 changed files with 158 additions and 163 deletions

View file

@ -116,70 +116,3 @@ void FSkyVertexBuffer::BindVBO()
glDisableVertexAttribArray(VATTR_NORMAL);
}
//==========================================================================
//
//
//
//==========================================================================
FGLFlatVertexBuffer::FGLFlatVertexBuffer(int width, int height)
: FFlatVertexBuffer(width, height)
{
mVertexBuffer = screen->CreateVertexBuffer();
mIndexBuffer = screen->CreateIndexBuffer();
unsigned int bytesize = BUFFER_SIZE * sizeof(FFlatVertex);
mVertexBuffer->SetData(bytesize, nullptr, false);
static const FVertexBufferAttribute format[] = {
{ 0, VATTR_VERTEX, VFmt_Float3, myoffsetof(FFlatVertex, x) },
{ 0, VATTR_TEXCOORD, VFmt_Float2, myoffsetof(FFlatVertex, u) }
};
mVertexBuffer->SetFormat(1, 2, sizeof(FFlatVertex), format);
mIndex = mCurIndex = 0;
mNumReserved = NUM_RESERVED;
Copy(0, NUM_RESERVED);
}
FGLFlatVertexBuffer::~FGLFlatVertexBuffer()
{
delete mIndexBuffer;
delete mVertexBuffer;
mIndexBuffer = nullptr;
mVertexBuffer = nullptr;
}
void FGLFlatVertexBuffer::Copy(int start, int count)
{
Map();
memcpy(GetBuffer(start), &vbo_shadowdata[0], count * sizeof(FFlatVertex));
Unmap();
}
void FGLFlatVertexBuffer::OutputResized(int width, int height)
{
FFlatVertexBuffer::OutputResized(width, height);
Copy(4, 4);
}
void FGLFlatVertexBuffer::Bind(FRenderState &state)
{
state.SetVertexBuffer(mVertexBuffer, 0, 0);
state.SetIndexBuffer(mIndexBuffer);
}
//==========================================================================
//
//
//
//==========================================================================
void FGLFlatVertexBuffer::CreateVBO()
{
vbo_shadowdata.Resize(mNumReserved);
FFlatVertexBuffer::CreateVertices();
mCurIndex = mIndex = vbo_shadowdata.Size();
Copy(0, mIndex);
mIndexBuffer->SetData(ibo_data.Size() * sizeof(uint32_t), &ibo_data[0]);
}