mosra on master
StbDxtImageConverter: BAD COPYP… Adapt to Magnum pixel format he… {Basis,Ktx}Importer: TODOs for … and 15 more (compare)
mosra on next
StbResizeImageConverter: GCC 4.… StbDxtImageConverter: avoid a f… StbResizeImageConverter: suppor… and 2 more (compare)
mosra on next
StbDxtImageConverter: BAD COPYP… Adapt to Magnum pixel format he… {Basis,Ktx}Importer: TODOs for … and 13 more (compare)
mosra on master
package/ci: of course this only… (compare)
mosra on master
Return a const& from Image{View… TextureTools: take a strided vi… imageconverter: fix the --layer… and 10 more (compare)
0.1f, 10000.0f
and it started looking acceptable, but if you see similar artifacts later you might want to narrow it down even further
GL::Renderer::enable(GL::Renderer::Feature::DepthTest);
terrain.draw(*_camera);
/* Draw sprites after the terrain, so it's obscured by it if it's behind.
But disable depth writes, so the sprites don't cut into each other */
GL::Renderer::setDepthMask(false);
sprites.draw(*_camera);
GL::Renderer::setDepthMask(true);
GL::Renderer::disable(GL::Renderer::Feature::DepthTest);
AlphaMask
(and no blending, or depth ordering) works as well, but that's a purely binary operation (a pixel either is there or is not), so it looks acceptable only on sufficiently high-DPI screens and won't work for semi-transparent stuff
Yeah, again
constant, which is larger for surfaces that are smoother and more mirror-like.
I guess you can say that mirrors are not shine because they don't have any specular highlight? In my head tho it's always been like the reflection itself is just a big specular hightlight. A bit counterintuitive...
0.0f
results in perfect mirror-like look
could anybody on Windows run the following and tell me if it all passes or mostly fails? it all passes for me on Linux with both Chrome and FF, but on the Windows machine I tested on it was about 40 failures and I don't know why :D
_size = size;
auto halfSize = Vector2i{ size.x() / 2, size.y() };
auto& bufferGroup = _bufferGroup[index];
// RenderBuffer Resize
bufferGroup.colorBuffer = GL::Renderbuffer{};
bufferGroup.depthStencilBuffer = GL::Renderbuffer{};
bufferGroup.colorBuffer.setStorageMultisample(GL::Renderbuffer::maxSamples(), GL::RenderbufferFormat::RGBA8, halfSize);
bufferGroup.depthStencilBuffer.setStorageMultisample(GL::Renderbuffer::maxSamples(), GL::RenderbufferFormat::Depth24Stencil8, halfSize);
// MSAA Framebuffer Resize
bufferGroup.framebufferMSAA = GL::Framebuffer{ { {}, halfSize }};
bufferGroup.framebufferMSAA
.attachRenderbuffer(GL::Framebuffer::ColorAttachment{ 0 }, bufferGroup.colorBuffer)
.attachRenderbuffer(GL::Framebuffer::BufferAttachment::DepthStencil, bufferGroup.depthStencilBuffer)
.mapForDraw({ {Shaders::PhongGL::ColorOutput, GL::Framebuffer::ColorAttachment{0}} });
bufferGroup.framebufferMSAA.setViewport({ {}, halfSize });
// camera viewport setting
_camera.reshape(size, halfSize);
resize code called on glfw viewport change event