public void Create() { var openGlResourceFactory = new OpenGlResourceFactory(); var vertexShader = openGlResourceFactory.CreateShader(ShaderType.VertexShader); vertexShader.SetSource(VertexShaderSource); vertexShader.Compile(); var fragmentShader = openGlResourceFactory.CreateShader(ShaderType.FragmentShader); fragmentShader.SetSource(FragmentShaderSource); fragmentShader.Compile(); _program = openGlResourceFactory.CreateProgram(); _program.Create(); _program.AttachShader(vertexShader); _program.AttachShader(fragmentShader); _program.Link(); }
public void Create() { _vertexShader = _openGlResourceFactory.CreateShader(ShaderType.VertexShader); _vertexShader.SetSource(VertexShaderSource); _vertexShader.Compile(); _fragmentShader = _openGlResourceFactory.CreateShader(ShaderType.FragmentShader); _fragmentShader.SetSource(FragmentShaderSource); _fragmentShader.Compile(); _geometryShader = _openGlResourceFactory.CreateShader(ShaderType.GeometryShader); _geometryShader.SetSource(GeometryShaderSource); _geometryShader.Compile(); Program = _openGlResourceFactory.CreateProgram(); Program.Create(); Program.AttachShader(_vertexShader); Program.AttachShader(_geometryShader); Program.AttachShader(_fragmentShader); Program.Link(); ProjectionMatrix = Program.GetUniform<Matrix4>("ProjectionMatrix"); ViewMatrix = Program.GetUniform<Matrix4>("ViewMatrix"); ModelMatrix = Program.GetUniform<Matrix4>("ModelMatrix"); Color = Program.GetUniform<Vector4>("Color"); WindowScale = Program.GetUniform<Vector2>("WindowScale"); }
public void Create() { _vertexShader = _openGlResourceFactory.CreateShader(ShaderType.VertexShader); _vertexShader.SetSource(VertexShaderSource); _vertexShader.Compile(); _fragmentShader = _openGlResourceFactory.CreateShader(ShaderType.FragmentShader); _fragmentShader.SetSource(FragmentShaderSource); _fragmentShader.Compile(); Program = _openGlResourceFactory.CreateProgram(); Program.Create(); Program.AttachShader(_vertexShader); Program.AttachShader(_fragmentShader); Program.Link(); ProjectionMatrix = Program.GetUniform<Matrix4>("ProjectionMatrix"); ViewMatrix = Program.GetUniform<Matrix4>("ViewMatrix"); ModelMatrix = Program.GetUniform<Matrix4>("ModelMatrix"); Color = Program.GetUniform<Vector4>("Color"); LightPosition = Program.GetUniform<Vector3>("ModelSpaceLightPosition"); NormalToWorld3x3 = Program.GetUniform<Matrix3>("NormalToWorld3x3"); LightDirection = Program.GetUniform<Vector3>("LightDirection"); }
public void Create() { _program.Create(); }