public void DrawAll(List <GameObject> gameobjes) { lock (context.frameBuffer) { Matrix4x4 viewMatrix = camera.ViewMatrix; Matrix4x4 projectionMatrix = camera.ProjectionMatrix; ShaderContext shaderContext = new ShaderContext(); shaderContext.SetViewProjectionMatrix(viewMatrix, projectionMatrix); shaderContext.textureFilterMode = context.textureFilterMode; shaderContext.shadeMode = context.shadeMode; shaderContext.SetLight(light); shaderContext.ambient = context.ambient; shaderContext.invertTexture = context.invertTexture; Shader shader = new Shader(shaderContext); foreach (var gameobject in gameobjes) { DrawGameObject(gameobject, shader); } } }
public Shader(ShaderContext sc) { shaderContext = sc; }