public int CreateIndexBuffer(int sizeInBytes, OpenGL20BufferMode mode) { uint bufferHandle = GLHelper.GenBuffer(); GLCore.BindBuffer(BufferTarget.ElementArrayBuffer, bufferHandle); GLCore.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)sizeInBytes, IntPtr.Zero, GetBufferMode(mode)); return((int)bufferHandle); }
private static int CreateCompiledSubShader(ShaderType shaderType, string subShaderCode) { uint shaderHandle = GLCore.CreateShader(shaderType); GLHelper.ShaderSource(shaderHandle, subShaderCode.Replace("precision mediump float;", "")); GLCore.CompileShader(shaderHandle); return((int)shaderHandle); }
private static int CreateCompiledSubShader(ShaderType shaderType, string subShaderCode) { uint shaderHandle = GLCore.CreateShader(shaderType); GLHelper.ShaderSource(shaderHandle, subShaderCode); GLCore.CompileShader(shaderHandle); return((int)shaderHandle); }
private void CreateContext() { context = new WglGraphicsContext(window.Handle); context.UpdateDeviceParameters(24, 8, 0); context.VSync = Settings.Current.UseVSync; context.MakeCurrent(); string version = GLHelper.GetString(StringName.Version); if (string.IsNullOrEmpty(version)) { return; } int majorVersion = int.Parse(version[0] + ""); if (majorVersion < 3 || string.IsNullOrEmpty(GLHelper.GetString(StringName.Extensions))) { throw new OpenGLVersionDoesNotSupportShaders(); } }
public void DeleteTexture(int glHandle) { GLHelper.DeleteTexture((uint)glHandle); }
public int GenerateTexture() { return((int)GLHelper.GenTexture()); }
public void DeleteBuffer(int bufferHandle) { GLHelper.DeleteBuffer((uint)bufferHandle); }
public void LoadIndices(int offset, short[] indices, int indexDataSizeInBytes) { GLHelper.BufferSubData(BufferTarget.ElementArrayBuffer, offset, indexDataSizeInBytes, indices); }
public void LoadVertexData <T>(int offset, T[] vertices, int vertexDataSizeInBytes) where T : struct { GLHelper.BufferSubData(BufferTarget.ArrayBuffer, offset, vertexDataSizeInBytes, vertices); }
protected string GetShaderCompileInfo(int shaderHandle) { lastShaderLog = GLHelper.GetShaderInfoLog((uint)shaderHandle); return(lastShaderLog); }