Skip to content

Commit 8d0f1d4

Browse files
committed
[General] fix
1 parent 869c9ad commit 8d0f1d4

5 files changed

Lines changed: 20 additions & 17 deletions

File tree

include/openminecraft/renderer/common/wrap/om_renderer_temptarget.hpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class OMRendererTempTarget
2323
delete target;
2424
}
2525

26-
void construct(glm::vec2 ext, uint64_t samples = 1)
26+
void construct(glm::vec2 ext, uint64_t samples = 1, bool flt = false)
2727
{
2828
if (target)
2929
{
@@ -38,13 +38,14 @@ class OMRendererTempTarget
3838

3939
if (samples <= 1)
4040
{
41-
colorTexture = renderer->allocateTexture(ext.x, ext.y, 0, Dim2, ColorRgbaF16);
41+
colorTexture = renderer->allocateTexture(ext.x, ext.y, 0, Dim2, flt ? ColorRgbaF16 : ColorRgba);
4242
colorTexture->setupSampler();
4343
depthTexture = renderer->allocateTexture(ext.x, ext.y, 0, Dim2, Depth);
4444
}
4545
else
4646
{
47-
colorTexture = renderer->allocateTexture(ext.x, ext.y, samples, 0, Dim2Multisample, ColorRgbaF16);
47+
colorTexture =
48+
renderer->allocateTexture(ext.x, ext.y, samples, 0, Dim2Multisample, flt ? ColorRgbaF16 : ColorRgba);
4849
colorTexture->setupSampler();
4950
depthTexture = renderer->allocateTexture(ext.x, ext.y, samples, 0, Dim2Multisample, Depth);
5051
}
@@ -65,7 +66,7 @@ class OMRendererTempTarget
6566
}
6667
}
6768

68-
void constructWithDepth(OMRendererTexture *depth, glm::vec2 ext, uint64_t samples = 1)
69+
void constructWithDepth(OMRendererTexture *depth, glm::vec2 ext, uint64_t samples = 1, bool flt = false)
6970
{
7071
if (target)
7172
{
@@ -81,12 +82,13 @@ class OMRendererTempTarget
8182

8283
if (samples <= 1)
8384
{
84-
colorTexture = renderer->allocateTexture(ext.x, ext.y, 0, Dim2, ColorRgbaF16);
85+
colorTexture = renderer->allocateTexture(ext.x, ext.y, 0, Dim2, flt ? ColorRgbaF16 : ColorRgba);
8586
colorTexture->setupSampler();
8687
}
8788
else
8889
{
89-
colorTexture = renderer->allocateTexture(ext.x, ext.y, samples, 0, Dim2Multisample, ColorRgbaF16);
90+
colorTexture =
91+
renderer->allocateTexture(ext.x, ext.y, samples, 0, Dim2Multisample, flt ? ColorRgbaF16 : ColorRgba);
9092
colorTexture->setupSampler();
9193
}
9294

src/openminecraft-core/renderer/common/wrap/om_renderer_voxel_manager.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ OMVoxelManager::OMVoxelManager(OMRenderer *renderer, OMRendererRenderTarget *res
4343

4444
translucentTargetMS = new OMRendererTempTarget(renderer);
4545
translucentTargetMS->clearDepth = false;
46-
translucentTargetMS->construct(renderer->getExtent(), 4);
46+
translucentTargetMS->construct(renderer->getExtent(), 4, true);
4747

4848
cutoutTarget = new OMRendererTempTarget(renderer);
4949
cutoutTarget->construct(renderer->getExtent());
@@ -385,13 +385,15 @@ auto OMVoxelManager::submit(OMRendererTask *task, OMRendererTempTarget *resolveT
385385
{
386386
cutoutTargetMS->construct(renderer->getExtent(), 4);
387387
translucentTargetMS->clearDepth = false;
388-
translucentTargetMS->constructWithDepth(cutoutTargetMS->depthTexture, renderer->getExtent(), 4);
388+
translucentTargetMS->constructWithDepth(cutoutTargetMS->depthTexture, renderer->getExtent(), 4, true);
389389
cutoutTarget->construct(renderer->getExtent());
390-
translucentTarget->construct(renderer->getExtent());
390+
translucentTarget->construct(renderer->getExtent(), 1, true);
391391
composePipeline->bindInput(0, cutoutTarget->colorTexture);
392392
composePipeline->bindInput(1, translucentTarget->colorTexture);
393393

394-
return task->target(cutoutTargetMS->target)
394+
return task->clearColor({0.198f, 0.371f, 1.0f, 1.0f})
395+
->clearDepth(0.0f)
396+
->target(cutoutTargetMS->target)
395397
->pipeline(pipeline)
396398
->vertexBuffer({voxelLayer->buf()->buffer})
397399
->drawInstanceN(6, voxelLayer->buf()->totalSize / sizeof(OMVoxel))

src/openminecraft/application.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,11 @@ void OMApplication::mainLoop(OMBackend backend)
105105
auto camera = std::make_shared<basics::OMCamera>(win(), glm::vec3{-1.0f, 5.0f, -1.0f}, 45.0f, -45.0f);
106106

107107
auto chunkManager = std::make_shared<world::OMChunkManager<16>>();
108-
for (int cx = -1; cx < 8; ++cx)
108+
for (int cx = -1; cx < 4; ++cx)
109109
{
110-
for (int cy = 0; cy < 8; ++cy)
110+
for (int cy = 0; cy < 4; ++cy)
111111
{
112-
for (int cz = -1; cz < 8; ++cz)
112+
for (int cz = -1; cz < 4; ++cz)
113113
{
114114
using data::block::blockstateRegistry;
115115
world::OMChunk<16> cnk(cx, cy, cz);
@@ -304,4 +304,4 @@ void OMApplication::mainLoop(OMBackend backend)
304304
logger->fatal(e.what());
305305
}
306306
}
307-
} // namespace openminecraftshell
307+
} // namespace openminecraftshell

src/openminecraft/renderer/composerenderer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,4 @@ void OMComposeRenderer::beforeFrame()
6262
void OMComposeRenderer::afterFrame()
6363
{
6464
}
65-
} // namespace openminecraftshell::renderer
65+
} // namespace openminecraftshell::renderer

src/openminecraft/renderer/worldrenderer.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,7 @@ void OMWorldRenderer::beforeFrame()
121121

122122
void OMWorldRenderer::record()
123123
{
124-
voxelManager->submit(renderer->fetchTask("voxel")->clearColor({0.198f, 0.371f, 1.0f, 1.0f})->clearDepth(0.0f),
125-
tempTarget);
124+
voxelManager->submit(renderer->fetchTask("voxel"), tempTarget);
126125
}
127126

128127
void OMWorldRenderer::afterFrame()

0 commit comments

Comments
 (0)