So, I've been learning 3D rendering for more than a year now, and I've read a lot about various rendering techniques and theories, such as PBR, deferred shading, real-time raytracing, BRDF, all that stuff. As far as I know, these topics are either trying to solve the rendering equation, or reduce the computation overhead to boost performance, it's almost always on the side of software, and it seems that shading only cares about finding the color for each pixel. Whatever smart algorithms we use, the most bright pixel on the screen can only be white, we can't have a pixel brighter than RGB(255,255,255)
, which is not realistic.
In the real world, human eyes can see much more than just RGBA colors, so I wonder if we can change the pixel brightness in a shader program. To clarify, I'm talking about the screen brightness, brightness of the monitor that we can adjust in hardware settings. For example, each pixel could not only have a color, but also a different brightness value depending on the shader code, is this possible? Just like how we have the depth Z-buffer, I wonder if there's any hardware that supports a B-buffer (brightness buffer).