Transform to polyvox corner for render

This commit is contained in:
Atlante45 2015-06-05 14:32:47 +02:00
parent cafc5b7a7c
commit 260272d288

View file

@ -380,14 +380,16 @@ void RenderablePolyVoxEntityItem::render(RenderArgs* args) {
getModel(); getModel();
} }
Transform transformToCenter = getTransformToCenter(); Transform transform;
transformToCenter.setScale(getDimensions() / _voxelVolumeSize); transform.setTranslation(getPosition() - getRegistrationPoint() * getDimensions());
transform.setRotation(getRotation());
transform.setScale(getDimensions() / _voxelVolumeSize);
auto mesh = _modelGeometry.getMesh(); auto mesh = _modelGeometry.getMesh();
Q_ASSERT(args->_batch); Q_ASSERT(args->_batch);
gpu::Batch& batch = *args->_batch; gpu::Batch& batch = *args->_batch;
DependencyManager::get<DeferredLightingEffect>()->bindSimpleProgram(batch); DependencyManager::get<DeferredLightingEffect>()->bindSimpleProgram(batch);
batch.setModelTransform(transformToCenter); batch.setModelTransform(transform);
batch.setInputFormat(mesh->getVertexFormat()); batch.setInputFormat(mesh->getVertexFormat());
batch.setInputBuffer(gpu::Stream::POSITION, mesh->getVertexBuffer()); batch.setInputBuffer(gpu::Stream::POSITION, mesh->getVertexBuffer());
batch.setInputBuffer(gpu::Stream::NORMAL, batch.setInputBuffer(gpu::Stream::NORMAL,