Skip to content

Commit fd95db5

Browse files
committed
Merge remote-tracking branch 'origin/master' into feature/terrain-system
2 parents 9f239e8 + d9487ad commit fd95db5

5 files changed

Lines changed: 15 additions & 5 deletions

File tree

include/limitless/renderer/composite_pass.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ namespace Limitless {
1818
Framebuffer framebuffer;
1919
public:
2020
float tone_mapping_exposure = 1.0f;
21+
float gamma = 2.2f;
2122

2223
explicit CompositePass(Renderer& renderer);
2324

shaders/pipeline/composite.frag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ uniform sampler2D bloom;
1212
uniform sampler2D outline;
1313
uniform float bloom_strength;
1414
uniform float tone_mapping_exposure;
15+
uniform float gamma;
1516

1617
void main() {
1718
vec3 bloom_color = texture(bloom, uv).rgb * bloom_strength;
@@ -21,7 +22,6 @@ void main() {
2122
color = toneMapping(color, tone_mapping_exposure);
2223

2324
// apply gamma correction
24-
float gamma = 2.2;
2525
color = pow(color, vec3(1.0 / gamma));
2626

2727
// add objects outlining

src/limitless/core/context.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ using namespace Limitless;
66

77
Context::Context(
88
const std::string& title,
9-
glm::uvec2 size,
9+
glm::uvec2 _size,
1010
const Context* shared,
1111
const WindowHints& hints
1212
) : ContextInitializer()
1313
, ContextState()
14-
, size {size} {
14+
, size {_size} {
1515
// sets window hints for creation
1616
for (const auto& [hint, value] : hints) {
1717
glfwWindowHint(static_cast<int>(hint), value);
@@ -23,6 +23,13 @@ Context::Context(
2323
throw context_error {"Failed to create window"};
2424
}
2525

26+
// The created window, framebuffer and context may differ from what you requested.
27+
int framebuffer_width = 0;
28+
int framebuffer_height = 0;
29+
glfwGetFramebufferSize(window, &framebuffer_width, &framebuffer_height);
30+
31+
size = glm::uvec2(framebuffer_width, framebuffer_height);
32+
2633
if (!glew_inited) {
2734
makeCurrent();
2835
initializeGLEW();
@@ -134,7 +141,7 @@ void Context::setFullscreen(bool value) noexcept {
134141

135142
const auto* mode = glfwGetVideoMode(monitor.value());
136143
monitor = std::nullopt;
137-
glfwSetWindowMonitor(window, monitor.value(), 0, 0, mode->width, mode->height, mode->refreshRate);
144+
glfwSetWindowMonitor(window, nullptr, 0, 0, mode->width, mode->height, mode->refreshRate);
138145
}
139146
}
140147

src/limitless/renderer/color_picker.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ void ColorPicker::render(InstanceRenderer& renderer, [[maybe_unused]] Scene &sce
5959
framebuffer.clear();
6060

6161
renderer.renderScene({ctx, assets, ShaderType::ColorPicker, ms::Blending::Opaque, setter});
62+
renderer.renderScene({ctx, assets, ShaderType::ColorPicker, ms::Blending::Translucent, setter});
6263

6364
for (auto& pick: data) {
6465
if (!pick.sync.isAlreadyPlaced()) {

src/limitless/renderer/composite_pass.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ void CompositePass::render(
4646
shader.setUniform("bloom", bloom_pass.getResult())
4747
.setUniform("outline", renderer.getPass<OutlinePass>().getResult())
4848
.setUniform("bloom_strength", bloom_strength)
49-
.setUniform("tone_mapping_exposure", tone_mapping_exposure);
49+
.setUniform("tone_mapping_exposure", tone_mapping_exposure)
50+
.setUniform("gamma", gamma);
5051
}
5152

5253
shader.use();

0 commit comments

Comments
 (0)