/// <summary> /// Renderizza tutte le entità e i terreni aggiunti /// </summary> /// <param name="light">La luce da utilizzare</param> /// <param name="camera">La camera dalla quale si vede la scena</param> public void Render(List <Light> lights, Camera camera, Vector4 clipPlane) { Prepare(); shader.Start(); shader.LoadClipPlane(clipPlane); shader.LoadSkyColor(RED, GREEN, BLUE); shader.LoadLights(lights); shader.LoadViewMatrix(camera); renderer.Render(entities); shader.Stop(); normalMappingRenderer.Render(normalMapEntities, clipPlane, lights, camera); terrainShader.Start(); terrainShader.LoadClipPlane(clipPlane); terrainShader.LoadSkyColor(RED, GREEN, BLUE); terrainShader.LoadLights(lights); terrainShader.LoadViewMatrix(camera); terrainRenderer.Render(terrains); terrainShader.Stop(); skyboxRenderer.Render(camera); entities.Clear(); terrains.Clear(); normalMapEntities.Clear(); }
public TerrainRenderer(TerrainShader shader, Matrix4 projectionMatrix) { this.shader = shader; shader.Start(); shader.LoadProjectionMatrix(projectionMatrix); shader.ConnectTextureUnits(); shader.Stop(); }