feat: lights debug mode
This commit is contained in:
parent
87dc9ed167
commit
4e5199d89a
@ -7,10 +7,13 @@ out vec4 f_color;
|
|||||||
uniform sampler2D u_texture0;
|
uniform sampler2D u_texture0;
|
||||||
uniform samplerCube u_cubemap;
|
uniform samplerCube u_cubemap;
|
||||||
uniform bool u_alphaClip;
|
uniform bool u_alphaClip;
|
||||||
|
uniform bool u_debugLights;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
vec3 fogColor = texture(u_cubemap, a_dir).rgb;
|
vec3 fogColor = texture(u_cubemap, a_dir).rgb;
|
||||||
vec4 tex_color = texture(u_texture0, a_texCoord);
|
vec4 tex_color = texture(u_texture0, a_texCoord);
|
||||||
|
if (u_debugLights)
|
||||||
|
tex_color.rgb = vec3(1.0);
|
||||||
float alpha = a_color.a * tex_color.a;
|
float alpha = a_color.a * tex_color.a;
|
||||||
if (u_alphaClip) {
|
if (u_alphaClip) {
|
||||||
if (alpha < 0.2f)
|
if (alpha < 0.2f)
|
||||||
|
|||||||
@ -203,7 +203,8 @@ void Engine::updateHotkeys() {
|
|||||||
if (input->jpressed(Keycode::F2)) {
|
if (input->jpressed(Keycode::F2)) {
|
||||||
saveScreenshot();
|
saveScreenshot();
|
||||||
}
|
}
|
||||||
if (input->jpressed(Keycode::F8)) {
|
if (input->pressed(Keycode::LEFT_CONTROL) && input->pressed(Keycode::F3) &&
|
||||||
|
input->jpressed(Keycode::U)) {
|
||||||
gui->toggleDebug();
|
gui->toggleDebug();
|
||||||
}
|
}
|
||||||
if (input->jpressed(Keycode::F11)) {
|
if (input->jpressed(Keycode::F11)) {
|
||||||
|
|||||||
@ -184,16 +184,21 @@ void LevelScreen::saveWorldPreview() {
|
|||||||
void LevelScreen::updateHotkeys() {
|
void LevelScreen::updateHotkeys() {
|
||||||
auto& settings = engine.getSettings();
|
auto& settings = engine.getSettings();
|
||||||
|
|
||||||
if (input.jpressed(Keycode::O)) {
|
|
||||||
settings.graphics.frustumCulling.toggle();
|
|
||||||
}
|
|
||||||
if (input.jpressed(Keycode::F1)) {
|
if (input.jpressed(Keycode::F1)) {
|
||||||
hudVisible = !hudVisible;
|
hudVisible = !hudVisible;
|
||||||
}
|
}
|
||||||
if (input.jpressed(Keycode::F3)) {
|
if (!input.pressed(Keycode::LEFT_CONTROL)) {
|
||||||
debug = !debug;
|
if (input.jpressed(Keycode::F3)) {
|
||||||
hud->setDebug(debug);
|
debug = !debug;
|
||||||
renderer->setDebug(debug);
|
hud->setDebug(debug);
|
||||||
|
renderer->setDebug(debug);
|
||||||
|
}
|
||||||
|
} else if (input.pressed(Keycode::F3)) {
|
||||||
|
if (input.jpressed(Keycode::L)) {
|
||||||
|
renderer->toggleLightsDebug();
|
||||||
|
} else if (input.jpressed(Keycode::O)) {
|
||||||
|
settings.graphics.frustumCulling.toggle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -118,6 +118,7 @@ void WorldRenderer::setupWorldShader(
|
|||||||
shader.uniform1f("u_gamma", settings.graphics.gamma.get());
|
shader.uniform1f("u_gamma", settings.graphics.gamma.get());
|
||||||
shader.uniform1f("u_fogFactor", fogFactor);
|
shader.uniform1f("u_fogFactor", fogFactor);
|
||||||
shader.uniform1f("u_fogCurve", settings.graphics.fogCurve.get());
|
shader.uniform1f("u_fogCurve", settings.graphics.fogCurve.get());
|
||||||
|
shader.uniform1i("u_debugLights", lightsDebug);
|
||||||
shader.uniform1f("u_weatherFogOpacity", weather.fogOpacity());
|
shader.uniform1f("u_weatherFogOpacity", weather.fogOpacity());
|
||||||
shader.uniform1f("u_weatherFogDencity", weather.fogDencity());
|
shader.uniform1f("u_weatherFogDencity", weather.fogDencity());
|
||||||
shader.uniform1f("u_weatherFogCurve", weather.fogCurve());
|
shader.uniform1f("u_weatherFogCurve", weather.fogCurve());
|
||||||
@ -442,6 +443,10 @@ void WorldRenderer::setDebug(bool flag) {
|
|||||||
debug = flag;
|
debug = flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WorldRenderer::toggleLightsDebug() {
|
||||||
|
lightsDebug = !lightsDebug;
|
||||||
|
}
|
||||||
|
|
||||||
Weather& WorldRenderer::getWeather() {
|
Weather& WorldRenderer::getWeather() {
|
||||||
return weather;
|
return weather;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,6 +48,7 @@ class WorldRenderer {
|
|||||||
|
|
||||||
float timer = 0.0f;
|
float timer = 0.0f;
|
||||||
bool debug = false;
|
bool debug = false;
|
||||||
|
bool lightsDebug = false;
|
||||||
|
|
||||||
/// @brief Render block selection lines
|
/// @brief Render block selection lines
|
||||||
void renderBlockSelection();
|
void renderBlockSelection();
|
||||||
@ -107,5 +108,7 @@ public:
|
|||||||
|
|
||||||
void setDebug(bool flag);
|
void setDebug(bool flag);
|
||||||
|
|
||||||
|
void toggleLightsDebug();
|
||||||
|
|
||||||
Weather& getWeather();
|
Weather& getWeather();
|
||||||
};
|
};
|
||||||
|
|||||||
@ -22,8 +22,6 @@ struct ChunkVertex {
|
|||||||
{{}, 0}};
|
{{}, 0}};
|
||||||
};
|
};
|
||||||
|
|
||||||
/// @brief Chunk mesh vertex attributes
|
|
||||||
|
|
||||||
template<typename VertexStructure>
|
template<typename VertexStructure>
|
||||||
class Mesh;
|
class Mesh;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user