I need to realistically simulate the light field created by a tablet/mobile phone LCD display including the limited display angle (the rendered output of the scene will be used for training a computer vision application). At present the LCD in scene is created with a material featuring a combination of a pixel image array and scene image being fed into an emission node as described in this youtube tutorial which looks convincing when viewed directly however does not take the limited viewing angle of pixels into account - ideally I would like to create a grid of RGB spotlight triplets so that the outer fringe (umbra?) of the spotlights could be controlled by a parameter or map - however were talking about a 1080 HD screen that needs to be simulated. Any suggestions on how this could be done? (the render machine is a 3.1 Ghz quad core with 8GB ram)
Thanks to the suggestion from user lemon in the comments the solution I ended up with was to use the dot product between the geometry normal and the incoming ray vector in order to control the strength of the shader emission (divided the dot product by the length of the incoming ray to normalise the value).
The emission is cut off completely when the sine of the angle is below the value in the 'Greater than' node. And increases smoothly above that angle until reaching full strength when parallel with the normal.