New trackbar + pane lights fix
This commit is contained in:
parent
64f6f17386
commit
788234ab94
@ -128,7 +128,7 @@ void WorldRenderer::drawChunks(Chunks* chunks,
|
||||
void WorldRenderer::draw(const GfxContext& pctx, Camera* camera){
|
||||
EngineSettings& settings = engine->getSettings();
|
||||
skybox->refresh(level->world->daytime,
|
||||
fmax(1.0f, 10.0f/(settings.chunks.loadDistance-2)), 4);
|
||||
fmax(1.0f, 10.0f/(settings.chunks.loadDistance-2))+fog*2.0f, 4);
|
||||
|
||||
const Content* content = level->content;
|
||||
const ContentIndices* contentIds = content->indices;
|
||||
@ -290,4 +290,6 @@ void WorldRenderer::drawBorders(int sx, int sy, int sz, int ex, int ey, int ez)
|
||||
sx, i, sz, 0, 0.8f, 0, 1);
|
||||
}
|
||||
lineBatch->render();
|
||||
}
|
||||
}
|
||||
|
||||
float WorldRenderer::fog = 0.0f;
|
||||
@ -40,6 +40,8 @@ public:
|
||||
void draw(const GfxContext& context, Camera* camera);
|
||||
void drawDebug(const GfxContext& context, Camera* camera);
|
||||
void drawBorders(int sx, int sy, int sz, int ex, int ey, int ez);
|
||||
|
||||
static float fog;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -56,14 +56,12 @@ inline Label* create_label(gui::wstringsupplier supplier) {
|
||||
|
||||
HudRenderer::HudRenderer(Engine* engine,
|
||||
Level* level,
|
||||
const ContentGfxCache* cache,
|
||||
WorldRenderer* renderer)
|
||||
const ContentGfxCache* cache)
|
||||
: level(level),
|
||||
assets(engine->getAssets()),
|
||||
batch(new Batch2D(1024)),
|
||||
gui(engine->getGUI()),
|
||||
cache(cache),
|
||||
renderer(renderer) {
|
||||
cache(cache) {
|
||||
auto menu = gui->getMenu();
|
||||
blocksPreview = new BlocksPreview(assets->getShader("ui3d"),
|
||||
assets->getAtlas("blocks"),
|
||||
@ -160,6 +158,16 @@ HudRenderer::HudRenderer(Engine* engine,
|
||||
});
|
||||
panel->add(bar);
|
||||
}
|
||||
{
|
||||
TrackBar* bar = new TrackBar(0.0f, 1.0f, 0.0f, 0.005f, 8);
|
||||
bar->supplier([=]() {
|
||||
return WorldRenderer::fog;
|
||||
});
|
||||
bar->consumer([=](double val) {
|
||||
WorldRenderer::fog = val;
|
||||
});
|
||||
panel->add(bar);
|
||||
}
|
||||
{
|
||||
Panel* checkpanel = new Panel(vec2(400, 32), vec4(5.0f), 1.0f);
|
||||
checkpanel->color(vec4(0.0f));
|
||||
|
||||
@ -42,13 +42,10 @@ class HudRenderer {
|
||||
std::shared_ptr<gui::UINode> debugPanel;
|
||||
gui::GUI* gui;
|
||||
const ContentGfxCache* const cache;
|
||||
WorldRenderer* renderer;
|
||||
|
||||
public:
|
||||
HudRenderer(Engine* engine,
|
||||
Level* level,
|
||||
const ContentGfxCache* cache,
|
||||
WorldRenderer* renderer);
|
||||
const ContentGfxCache* cache);
|
||||
~HudRenderer();
|
||||
|
||||
void update();
|
||||
|
||||
@ -96,7 +96,7 @@ LevelScreen::LevelScreen(Engine* engine, Level* level)
|
||||
controller = new LevelController(settings, level);
|
||||
cache = new ContentGfxCache(level->content, engine->getAssets());
|
||||
worldRenderer = new WorldRenderer(engine, level, cache);
|
||||
hud = new HudRenderer(engine, level, cache, worldRenderer);
|
||||
hud = new HudRenderer(engine, level, cache);
|
||||
backlight = settings.graphics.backlight;
|
||||
}
|
||||
|
||||
|
||||
@ -251,21 +251,18 @@ void BlocksRenderer::blockCubeShaded(const ivec3& icoord,
|
||||
coord += orient.fix;
|
||||
loff -= orient.fix;
|
||||
}
|
||||
|
||||
vec3 fX(X);
|
||||
vec3 fY(Y);
|
||||
vec3 fZ(Z);
|
||||
|
||||
vec3 local = offset.x*vec3(X)+offset.y*vec3(Y)+offset.z*vec3(-Z);
|
||||
//local -= loff;
|
||||
vec3 local = offset.x*vec3(X)+offset.y*vec3(Y)+offset.z*-fZ;
|
||||
|
||||
face(coord, X, Y, Z, Z+loff, local-size.z*fZ, size.x, size.y, size.z, texfaces[5]);
|
||||
face(coord+X, -X, Y, -Z, Z-Z-X+loff, local-size.z*fZ, size.x, size.y, 0.0f, texfaces[4]);
|
||||
|
||||
face(coord+Y, X, -Z, Y, Y-Y+loff, local, size.x, size.z, 0.0f, texfaces[3]); //;
|
||||
face(coord+X, -X, -Z, -Y, -Y+Z+loff, local, size.x, size.z, 0.0f, texfaces[2]); //;
|
||||
face(coord+Y, X, -Z, Y, Y-Y+loff, local, size.x, size.z, 0.0f, texfaces[3]);
|
||||
face(coord+X, -X, -Z, -Y, -X-Y+loff, local, size.x, size.z, 0.0f, texfaces[2]);
|
||||
|
||||
face(coord+X, -Z, Y, X, X-X+loff, local, size.z, size.y, 0.0f, texfaces[1]); //;
|
||||
face(coord+Y, -Z, -Y, -X, -X+Z+loff, local, size.z, size.y, 0.0f, texfaces[0]); //;
|
||||
face(coord+X, -Z, Y, X, X-X+loff, local, size.z, size.y, 0.0f, texfaces[1]);
|
||||
face(coord+Y, -Z, -Y, -X, -X-Y-Z+loff, local, size.z, size.y, 0.0f, texfaces[0]);
|
||||
}
|
||||
|
||||
/* Fastest solid shaded blocks render method */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user