Probably just repeating what Alundra said but if you think about it you have the following:
- A light that has a specific wavelength (LightColor) and intensity (LightIntensity)
- A material that has specific properties that absorb some amount of light and reflects the rest of it back (MaterialDiffuseColor)
The only thing that's left now is putting it together and combining it with the cosine angle between the incident light ray and the surface normal of your material (let's just say a flat grass textured surface) which describes the amount of light that hits the surface depending on this angle.
So the equation becomes:
float cosTheta_i = saturate(dot(surfaceNormal, -LightDirection)); // light direction from the surface point towards the light float3 FinalDiffuse = (LightIntensity * LightColor) * MaterialDiffuseColor * cosTheta_i;