mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 13:49:23 +02:00
don't try to render until mesh is ready
This commit is contained in:
parent
b2a28147c0
commit
8ee1fac367
2 changed files with 5 additions and 19 deletions
|
@ -556,11 +556,6 @@ void RenderablePolyVoxEntityItem::render(RenderArgs* args) {
|
||||||
assert(getType() == EntityTypes::PolyVox);
|
assert(getType() == EntityTypes::PolyVox);
|
||||||
Q_ASSERT(args->_batch);
|
Q_ASSERT(args->_batch);
|
||||||
|
|
||||||
if (_start == 0) {
|
|
||||||
_start = usecTimestampNow();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool voxelDataDirty;
|
bool voxelDataDirty;
|
||||||
bool volDataDirty;
|
bool volDataDirty;
|
||||||
withWriteLock([&] {
|
withWriteLock([&] {
|
||||||
|
@ -585,6 +580,11 @@ void RenderablePolyVoxEntityItem::render(RenderArgs* args) {
|
||||||
voxelVolumeSize = _voxelVolumeSize;
|
voxelVolumeSize = _voxelVolumeSize;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!mesh ||
|
||||||
|
!mesh->getIndexBuffer()._buffer) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!_pipeline) {
|
if (!_pipeline) {
|
||||||
gpu::ShaderPointer vertexShader = gpu::Shader::createVertex(std::string(polyvox_vert));
|
gpu::ShaderPointer vertexShader = gpu::Shader::createVertex(std::string(polyvox_vert));
|
||||||
gpu::ShaderPointer pixelShader = gpu::Shader::createPixel(std::string(polyvox_frag));
|
gpu::ShaderPointer pixelShader = gpu::Shader::createPixel(std::string(polyvox_frag));
|
||||||
|
@ -618,22 +618,10 @@ void RenderablePolyVoxEntityItem::render(RenderArgs* args) {
|
||||||
Transform transform(voxelToWorldMatrix());
|
Transform transform(voxelToWorldMatrix());
|
||||||
batch.setModelTransform(transform);
|
batch.setModelTransform(transform);
|
||||||
batch.setInputFormat(_vertexFormat);
|
batch.setInputFormat(_vertexFormat);
|
||||||
|
|
||||||
// ok
|
|
||||||
if (usecTimestampNow() - _start < 600000) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
batch.setInputBuffer(gpu::Stream::POSITION, mesh->getVertexBuffer()._buffer,
|
batch.setInputBuffer(gpu::Stream::POSITION, mesh->getVertexBuffer()._buffer,
|
||||||
0,
|
0,
|
||||||
sizeof(PolyVox::PositionMaterialNormal));
|
sizeof(PolyVox::PositionMaterialNormal));
|
||||||
|
|
||||||
|
|
||||||
// crash
|
|
||||||
// if (usecTimestampNow() - _start < 600000) {
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
batch.setIndexBuffer(gpu::UINT32, mesh->getIndexBuffer()._buffer, 0);
|
batch.setIndexBuffer(gpu::UINT32, mesh->getIndexBuffer()._buffer, 0);
|
||||||
|
|
||||||
if (!_xTextureURL.isEmpty() && !_xTexture) {
|
if (!_xTextureURL.isEmpty() && !_xTexture) {
|
||||||
|
|
|
@ -188,8 +188,6 @@ private:
|
||||||
void cacheNeighbors();
|
void cacheNeighbors();
|
||||||
void copyUpperEdgesFromNeighbors();
|
void copyUpperEdgesFromNeighbors();
|
||||||
void bonkNeighbors();
|
void bonkNeighbors();
|
||||||
|
|
||||||
quint64 _start { 0 };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool inUserBounds(const PolyVox::SimpleVolume<uint8_t>* vol, PolyVoxEntityItem::PolyVoxSurfaceStyle surfaceStyle,
|
bool inUserBounds(const PolyVox::SimpleVolume<uint8_t>* vol, PolyVoxEntityItem::PolyVoxSurfaceStyle surfaceStyle,
|
||||||
|
|
Loading…
Reference in a new issue