Mesh Painter
A proof of concept tool for painting textures in 3D. Uses Qt for the GUI and OpenGL for rendering the viewport. The tool allows to paint albedo, metallic, roughness, ambient occlusion, emissive and displacement maps. The painting works by writing out the UVs of the rendered model to a render target and reading back the values hovered by the mouse. These UV values are then used to draw line segments into the currently selected texture. The line segments are implemented as a series of splatted quads with an alpha falloff to simulate smooth lines.