Beispiel #1
0
        internal void DeleteShader(glShader Shader)
        {
            int shaderHandle = Shader.Handle;

            lock (this)
            {
#if NET_STANDARD_13
                _glDeleteShader(shaderHandle);
#else
                if (_CurrentThreadId == Thread.CurrentThread.ManagedThreadId)
                {
                    _glDeleteShader(shaderHandle);
                }
                else
                {
                    if (_PendingShaderDeleteCount == _PendingShaderDelete.Length)
                    {
                        Array.Resize <int>(ref _PendingShaderDelete, _PendingShaderDelete.Length * 2);
                    }
                    _PendingShaderDelete[_PendingShaderDeleteCount] = shaderHandle;
                    _PendingShaderDeleteCount++;
                }
#endif
            }
        }
Beispiel #2
0
 internal void AttachShader(glProgram Program, glShader Shader)
 {
     _glAttachShader(Program.Handle, Shader.Handle);
 }
Beispiel #3
0
 public void AttachShader(glShader Shader)
 {
     _Parent.AttachShader(this, Shader);
 }