Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        private static int CreateCompiledSubShader(ShaderType shaderType, string subShaderCode)
        {
            uint shaderHandle = GLCore.CreateShader(shaderType);

            GLHelper.ShaderSource(shaderHandle, subShaderCode);
            GLCore.CompileShader(shaderHandle);
            return((int)shaderHandle);
        }
Esempio n. 4
0
        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();
            }
        }
Esempio n. 5
0
 public void DeleteTexture(int glHandle)
 {
     GLHelper.DeleteTexture((uint)glHandle);
 }
Esempio n. 6
0
 public int GenerateTexture()
 {
     return((int)GLHelper.GenTexture());
 }
Esempio n. 7
0
 public void DeleteBuffer(int bufferHandle)
 {
     GLHelper.DeleteBuffer((uint)bufferHandle);
 }
Esempio n. 8
0
 public void LoadIndices(int offset, short[] indices, int indexDataSizeInBytes)
 {
     GLHelper.BufferSubData(BufferTarget.ElementArrayBuffer, offset, indexDataSizeInBytes, indices);
 }
Esempio n. 9
0
 public void LoadVertexData <T>(int offset, T[] vertices, int vertexDataSizeInBytes)
     where T : struct
 {
     GLHelper.BufferSubData(BufferTarget.ArrayBuffer, offset, vertexDataSizeInBytes, vertices);
 }
Esempio n. 10
0
 protected string GetShaderCompileInfo(int shaderHandle)
 {
     lastShaderLog = GLHelper.GetShaderInfoLog((uint)shaderHandle);
     return(lastShaderLog);
 }