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){
|
void WorldRenderer::draw(const GfxContext& pctx, Camera* camera){
|
||||||
EngineSettings& settings = engine->getSettings();
|
EngineSettings& settings = engine->getSettings();
|
||||||
skybox->refresh(level->world->daytime,
|
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 Content* content = level->content;
|
||||||
const ContentIndices* contentIds = content->indices;
|
const ContentIndices* contentIds = content->indices;
|
||||||
@ -291,3 +291,5 @@ void WorldRenderer::drawBorders(int sx, int sy, int sz, int ex, int ey, int ez)
|
|||||||
}
|
}
|
||||||
lineBatch->render();
|
lineBatch->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float WorldRenderer::fog = 0.0f;
|
||||||
@ -40,6 +40,8 @@ public:
|
|||||||
void draw(const GfxContext& context, Camera* camera);
|
void draw(const GfxContext& context, Camera* camera);
|
||||||
void drawDebug(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);
|
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,
|
HudRenderer::HudRenderer(Engine* engine,
|
||||||
Level* level,
|
Level* level,
|
||||||
const ContentGfxCache* cache,
|
const ContentGfxCache* cache)
|
||||||
WorldRenderer* renderer)
|
|
||||||
: level(level),
|
: level(level),
|
||||||
assets(engine->getAssets()),
|
assets(engine->getAssets()),
|
||||||
batch(new Batch2D(1024)),
|
batch(new Batch2D(1024)),
|
||||||
gui(engine->getGUI()),
|
gui(engine->getGUI()),
|
||||||
cache(cache),
|
cache(cache) {
|
||||||
renderer(renderer) {
|
|
||||||
auto menu = gui->getMenu();
|
auto menu = gui->getMenu();
|
||||||
blocksPreview = new BlocksPreview(assets->getShader("ui3d"),
|
blocksPreview = new BlocksPreview(assets->getShader("ui3d"),
|
||||||
assets->getAtlas("blocks"),
|
assets->getAtlas("blocks"),
|
||||||
@ -160,6 +158,16 @@ HudRenderer::HudRenderer(Engine* engine,
|
|||||||
});
|
});
|
||||||
panel->add(bar);
|
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);
|
Panel* checkpanel = new Panel(vec2(400, 32), vec4(5.0f), 1.0f);
|
||||||
checkpanel->color(vec4(0.0f));
|
checkpanel->color(vec4(0.0f));
|
||||||
|
|||||||
@ -42,13 +42,10 @@ class HudRenderer {
|
|||||||
std::shared_ptr<gui::UINode> debugPanel;
|
std::shared_ptr<gui::UINode> debugPanel;
|
||||||
gui::GUI* gui;
|
gui::GUI* gui;
|
||||||
const ContentGfxCache* const cache;
|
const ContentGfxCache* const cache;
|
||||||
WorldRenderer* renderer;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
HudRenderer(Engine* engine,
|
HudRenderer(Engine* engine,
|
||||||
Level* level,
|
Level* level,
|
||||||
const ContentGfxCache* cache,
|
const ContentGfxCache* cache);
|
||||||
WorldRenderer* renderer);
|
|
||||||
~HudRenderer();
|
~HudRenderer();
|
||||||
|
|
||||||
void update();
|
void update();
|
||||||
|
|||||||
@ -96,7 +96,7 @@ LevelScreen::LevelScreen(Engine* engine, Level* level)
|
|||||||
controller = new LevelController(settings, level);
|
controller = new LevelController(settings, level);
|
||||||
cache = new ContentGfxCache(level->content, engine->getAssets());
|
cache = new ContentGfxCache(level->content, engine->getAssets());
|
||||||
worldRenderer = new WorldRenderer(engine, level, cache);
|
worldRenderer = new WorldRenderer(engine, level, cache);
|
||||||
hud = new HudRenderer(engine, level, cache, worldRenderer);
|
hud = new HudRenderer(engine, level, cache);
|
||||||
backlight = settings.graphics.backlight;
|
backlight = settings.graphics.backlight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -251,21 +251,18 @@ void BlocksRenderer::blockCubeShaded(const ivec3& icoord,
|
|||||||
coord += orient.fix;
|
coord += orient.fix;
|
||||||
loff -= orient.fix;
|
loff -= orient.fix;
|
||||||
}
|
}
|
||||||
|
|
||||||
vec3 fX(X);
|
|
||||||
vec3 fY(Y);
|
|
||||||
vec3 fZ(Z);
|
vec3 fZ(Z);
|
||||||
|
|
||||||
vec3 local = offset.x*vec3(X)+offset.y*vec3(Y)+offset.z*vec3(-Z);
|
vec3 local = offset.x*vec3(X)+offset.y*vec3(Y)+offset.z*-fZ;
|
||||||
//local -= loff;
|
|
||||||
face(coord, X, Y, Z, Z+loff, local-size.z*fZ, size.x, size.y, size.z, texfaces[5]);
|
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+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+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+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+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+Y, -Z, -Y, -X, -X-Y-Z+loff, local, size.z, size.y, 0.0f, texfaces[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fastest solid shaded blocks render method */
|
/* Fastest solid shaded blocks render method */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user