linux

openGL offscreen software rendering on linux server without x11

ago

Ever tried to render something with openGL on a linux server that has no x11 installed nor has a physical gpu connected? I searched for a long time for a solution that would work almost out of the box and the first solution i could find was actually installing x11, mesa3d and a dummy x-display. Via putty that has x11-forwarding enabled it is possible to run x-applications just fine and even render with openGL thanks to mesa in software mode! But as soon as you close the ssh connection x11 stops and after that x-applications and openGL won't be able to connect to a display! So after every server restart openGL won't work anymore... So why do you need a display or x11 if you want to render offscreen? (more…)

GLSL

Post processing aa (fxaa)

ago

Why post processing antialiasing ? Because of two reasons. A good and fast post processing filter like fxaa or cmaa can achieve almost the same visual output like the usual multisampling counter part (msaa) and costs way less on the GPU because you dont need multiple samples per fragment/pixel! Another restriction is the rendering pipeline you might choose. A deferred renderer uses multiple framebuffers to achieve multiple different effects and using multiple samples on each of those framebuffers might have a really big impact on performance. Additionally it is practically impossible to use mxaa in a deferred renderer, because multisampling the position framebuffer results in wrong values around objects! Let's have a look on the code: (more…)

know-how

Gamma correction

ago

Gamma correction in openGL is very easily to achieve, but why do you need gamma correction? Let's keep it simple... First of all your textures you use as input for your openGL renderer are most likely in non linear color space. Your renderer on the other hand is probably calculating light under the assumption of linear color spaced color values in your loaded textures. So you might be working in two different color spaces. After your renderer is done it writes the colors to the screen, which uses non linear color space like your textures do! So what happens is, that your calculation might be visually wrong... So how can you solve this? The answer is very easy: (more…)

3D QT Engine

Wireframe and Vertex modes back

ago

Added the wireframe and vertex modes back to the render pipeline. Also went back to 13 pixel lookups in the NFAA shader but with additional improvements i had with 8 lookups. The reason i went back was because 8 pixel lookups ignored some conditions… Here’s a screen of the render/debug Read more…