14

The short answer: no, but if you are interested in details, please keep reading (: About lighting units Light “brightness” is indeed quite poor/ambiguous layman’s definition for brightness of a light source. Below is a list of different lighting properties/units commonly used in lighting calculations that define the light “brightness”. I listed both ...


9

Two different effects are causing the observation mentioned in the video. On one side, the vast majority of screens have a non linear response: if the RGB value is half as much, the emitted light intensity is not half as much. This behavior originally comes from cathode ray tube (CRT) displays, which produced different light intensities by varying the ...


6

The problem lies mainly in CIE1931XYZ::tristimulusValues() function, where you normalize the resulting color to the luminance of your illuminant which causes that directly observed light source has luminance 1, but everything else is much darker. That is a nice thing to do if you just want to visualize colours of various reflectance spectra under a given ...


6

If I get correctly what you are asking you basically just need to find the G in this equation: $$Image_{out} = Image_{in}^G$$ This could be easily solved as $$G = \frac{\log{Image_{out}}}{\log{Image_{in}}}$$ Because usually gamma is applied in a uniform fashion on the image, you can just pick any two non zero pixel values (one for source and one for ...


5

The easiest way to get the perceived brightness of a color is to calculate the Luma. Finding the grey color with the same luma is easy - just set all of the RGB components to the desired luma value. That works because the coefficients for calculating the luma sum up to 1. public Vector3d get_equally_bright_grey(Vector3d color) { double luma = color.x * ...


5

That completely depends on how you are computing the shading. If you are then just linearly interpolating the shaded colours across the triangle, i.e. Gouraud shading then, clearly, the answer is "no". However, if you are doing per-pixel shading by, say, interpolating normals and light directions, then you can easily get a brighter area away from the ...


3

In general this is caused by HDR tone mapping. Tonemap curves typically decrease saturation as the input light gets brighter, so that very bright lights are rendered closer to white on the display. If bloom is rendered in HDR (prior to tonemapping) then the bloom around the light can still be highly saturated since it is of a lower intensity than the light ...


3

Assuming you have almost any lighting model at all: You cannot bound the view irradiance (light reflected from a surface location towards the eye/camera) by computing the irradiance at the vertices and bounding those, even if the surface is completely diffuse Lambertian and has no view-angle term. Imagine a large floor triangle, and a point lighting near ...


3

This has to do with gamma correction. If one pixel has red component with value of 1 (where 255 is max), the next pixel has value for red that is 2, there no guarantee that exactly twice as much photons are exiting from the second pixel. Displays have different curves that predict what's the expected brightness. It also has to do with how our eyes work: ...


1

The monitor interprets its input data as encoded in sRGB color space. This means that to actually display them, i.e. to get brightness of the subpixels it does the transformation $C_{\mathrm{sRGB}}\to C_{\mathrm{linear}}$. This transformation is basically application of gamma of $\approx2.2$ to the value, so that output brightness will be superlinearly ...


1

I am supplementing the answer of others by adding a picture showing a Blinn and Lambert material applied to a triangle (the triangle has normals in different directions at the corners to show the difference in shading). There is one distant directional light in the scene. Image 1: Image shows lighting on a triangle lit by directional light. By ...


Only top voted, non community-wiki answers of a minimum length are eligible