private static void SetSpotlights(SpotLight[] pLights) { GL.Uniform1(numSpotLightsLocation, pLights.Length); for (int i = 0; i < pLights.Length && i < MAX_POINTLIGHTS; i++) { GL.Uniform3(spotlightLocations[i].Color, pLights[i].Color.X, pLights[i].Color.Y, pLights[i].Color.Z); GL.Uniform1(spotlightLocations[i].AmbientIntensity, pLights[i].AmbientIntensity); GL.Uniform1(spotlightLocations[i].DiffuseIntensity, pLights[i].DiffuseIntensity); GL.Uniform3(spotlightLocations[i].Position, pLights[i].Position.X, pLights[i].Position.Y, pLights[i].Position.Z); Vector3 Direction = pLights[i].Direction; Direction.Normalize(); GL.Uniform3(spotlightLocations[i].Direction, Direction.X, Direction.Y, Direction.Z); GL.Uniform1(spotlightLocations[i].Cutoff, Math.Cos(ToRadian(pLights[i].Cutoff))); GL.Uniform1(spotlightLocations[i].Constant, pLights[i].Constant); GL.Uniform1(spotlightLocations[i].Linear, pLights[i].Linear); GL.Uniform1(spotlightLocations[i].Exp, pLights[i].Exp); GL.Uniform1(spotlightLocations[i].UseTexture, pLights[i].UseTexture); //GL.Uniform1(spotlightLocations[i].Texture } }
public static void AddSpotLight(SpotLight sl) { Spotlights.Add(sl); }