Martin Valigursky
Martin Valigursky
We need a public API tp allow render target textures to be accessed by the CPU. Ideally this API would be async, allowing to take advantage of async API for...
Optimize shaders in the engine to use half precision when full float is not required, to optimize fragment shader performance. There's an unfinished PR related to this: https://github.com/playcanvas/engine/pull/2972 original ticket:...
A follow up for this could be done in the future: https://github.com/playcanvas/engine/pull/3132 Issues and possible solutions: 1. Internally requestDepthMap() is used to request depth texture, which enables the depth layer....
The algorithm is described in GPU Pro 7, chapter 3.1 It allows for image quality to improve when the camera is static (and the scene is not animated) by accumulation...
issue and a repro project: https://forum.playcanvas.com/t/issue-with-static-lights/19233/25
In current implementation, PCF3 is the cheapest available shadow sampling. For mobile, especially older devices, even cheaper filtering could be implemented. PCF2, and even possibly single tap sampling (which is...
Details to be figured out, but based on something equivalent to 3D LUT texture. This could be done either inlined in the shaders, or as a post-processing.
PlayCanvas by default renders everything in LDR to 8888 targets. Lighting in the shader takes place in linear HDR space, and at the end of the standard shader we apply...
the WebGl2 function to be used: https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/invalidateFramebuffer see "When to call glInvalidateFramebuffer?" section here https://community.arm.com/developer/tools-software/graphics/b/blog/posts/mali-performance-2-how-to-correctly-handle-framebuffers see "Optimizing for tilers" section here: https://www.dropbox.com/s/89pvx9obhv6m0pk/High%20Quality,%20High%20Performance%20Graphics%20in%20Filament%20(Handout).pdf?dl=0 ` There are TWO MAJOR optimizations you MUST...
Investigate implementation of https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas. This would give us: - possible additional performance for the application, as playcanvas part of the application including webgl would execute on separate thread - ability...