fix blocks selection with semi-transparent blocks
This commit is contained in:
parent
b28bcf052b
commit
171cbb48d0
@ -210,11 +210,14 @@ void ChunksRenderer::drawChunks(
|
|||||||
visibleChunks += drawChunk(indices[i].index, camera, shader, culling);
|
visibleChunks += drawChunk(indices[i].index, camera, shader, culling);
|
||||||
}
|
}
|
||||||
//}
|
//}
|
||||||
drawSortedMeshes(camera, shader);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChunksRenderer::drawSortedMeshes(const Camera& camera, Shader& shader) {
|
void ChunksRenderer::drawSortedMeshes(const Camera& camera, Shader& shader) {
|
||||||
timeutil::ScopeLogTimer log(444);
|
timeutil::ScopeLogTimer log(444);
|
||||||
|
|
||||||
|
const auto& atlas = assets.require<Atlas>("blocks");
|
||||||
|
|
||||||
|
atlas.getTexture()->bind();
|
||||||
|
|
||||||
std::vector<const SortingMeshEntry*> entries;
|
std::vector<const SortingMeshEntry*> entries;
|
||||||
|
|
||||||
|
|||||||
@ -164,10 +164,18 @@ void WorldRenderer::renderLevel(
|
|||||||
particles->render(camera, delta * !pause);
|
particles->render(camera, delta * !pause);
|
||||||
|
|
||||||
auto& shader = assets.require<Shader>("main");
|
auto& shader = assets.require<Shader>("main");
|
||||||
|
auto& linesShader = assets.require<Shader>("lines");
|
||||||
|
|
||||||
setupWorldShader(shader, camera, settings, fogFactor);
|
setupWorldShader(shader, camera, settings, fogFactor);
|
||||||
|
|
||||||
chunks->drawChunks(camera, shader);
|
chunks->drawChunks(camera, shader);
|
||||||
|
|
||||||
|
if (hudVisible) {
|
||||||
|
renderLines(camera, linesShader, ctx);
|
||||||
|
}
|
||||||
|
shader.use();
|
||||||
|
chunks->drawSortedMeshes(camera, shader);
|
||||||
|
|
||||||
if (!pause) {
|
if (!pause) {
|
||||||
scripting::on_frontend_render();
|
scripting::on_frontend_render();
|
||||||
}
|
}
|
||||||
@ -326,7 +334,6 @@ void WorldRenderer::draw(
|
|||||||
ctx, camera, *lineBatch, linesShader, showChunkBorders
|
ctx, camera, *lineBatch, linesShader, showChunkBorders
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
renderLines(camera, linesShader, ctx);
|
|
||||||
if (player->currentCamera == player->fpCamera) {
|
if (player->currentCamera == player->fpCamera) {
|
||||||
renderHands(camera, delta * !pause);
|
renderHands(camera, delta * !pause);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user