Review - there are 2 main approaches to rendering algorithms Rasterization (openGL) for each object { for each pixel in image { if object affects pixel { // do something } } } Ray tracing/ path tracing for each pixel in image { for each object in scene { if object affects pixel { // do something } } } Two types of screens that will be discussed are LED/LCD and OLED LCD - uses a polarizer to block white backlight OLED - emits Red, Green, Blue Advantages/Disadvantages LCD - blocked light tends to seep through ppi = pixels per inch Retina Displays = Hi Dpi "A pixel is not a little square" - Alvin Ray Smith An image can conceptually by defined as a function I(x,y) -> V where V is the value of a pixel. In other words, a pixel is a sample of a 2D function Each pixel is represented as a combination of 3 components (red, green, and blue). Each component is represented as a 32-bit (4 byte) floating point number. Therefore, an entire pixel requires 96 bits (12 bytes). If a pixel has the value (0.25, 0, 0), then does this mean a pixel with the value (0.75, 0, 0) is 3 times as bright? No. How is this solved? It is done through Gama Correction To do gamma correction, we apply the function I_{gammacorrected} = I^(1/gamma) where we usually set gamma = 2.2 Process of doing gamma correction See http://www.poynton.com/notes/colour_and_gamma/GammaFAQ.html#gamma_correction for further notes on gamma correction It is a standard that the origin (0,0) of an image if the top left corner.