OpenTK:尝试读取或写入受保护的内存。这通常表明其他内存已损坏

ADG开发

我的体素引擎启动时出现一个奇怪的错误。:尝试读取或写入受保护的内存。这通常表明其他内存已损坏

在里面:

        public void initGL()
    {
        GL.Enable(EnableCap.CullFace); {<- Error}
        GL.Enable(EnableCap.Blend); {<- Error}

        GL.BlendFunc(BlendingFactorSrc.Src1Alpha, BlendingFactorDest.OneMinusSrc1Alpha); {<- Error}
    }

代:

public void genBlocks(float _px, float _py, float _pz, float _diameter, Universe _universe){
        this._planetPointer = GL.GenLists(1); {<- Error}
        GL.NewList(this._planetPointer, ListMode.Compile); {<- Error}

        GL.CullFace(CullFaceMode.Back); {<- Error}
        GL.PushMatrix();
        {
            for (int _y = 0; _y < _diameter; _y++)
            {
                for (int _x = 0; _x < _diameter; _x++)
                {
                    for (int _z = 0; _z < _diameter; _z++)
                    {
                        float _alt = (_x ^ 2) + (_y ^ 2) + (_z ^ 2);

                        if (_universe.getBlockB(_x, _y, _z, this) == 1 && (_universe.getBlockB(_x + 1, _y, _z, this) == 0 || _universe.getBlockB(_x, _y + 1, _z, this) == 0 || _universe.getBlockB(_x, _y, _z + 1, this) == 0 || _universe.getBlockB(_x - 1, _y, _z, this) == 0 || _universe.getBlockB(_x, _y - 1, _z, this) == 0 || _universe.getBlockB(_x, _y, _z - 1, this) == 0))
                        {
                            if (_alt > _diameter)
                            {
                                RenderBlock.renderBlock(_x, _y, _z, Block.stone, _universe, this.getBody());
                                Console.WriteLine("TESTEST");
                            }
                            else
                            {

                            }
                        }
                    }
                }
            }
        }
        GL.PopMatrix();
        GL.EndList();
    }
提琴手

此错误表明您在没有有效的OpenGL上下文的情况下调用OpenGL函数。如果使用OpenTK.dll的调试版本进行构建和运行,则会得到一个GraphicsContextMissingException替代。

查看您的窗口构造代码,确保在构造上下文/窗口之前不进行OpenGL调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

尝试读取或写入受保护的内存。这通常表明其他内存已损坏

尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

附加信息:尝试读取或写入受保护的内存。这通常表明其他内存已损坏

PInvoke ReadFile kernel32:尝试读取或写入受保护的内存。这通常表明其他内存已损坏

尝试读取或写入受保护的内存。这通常表明其他内存已损坏,同时使用 C# 读取 CSV 文件

Visual Studio 2015中的VB.Net-“试图读取或写入受保护的内存。这通常表明其他内存已损坏。”

尝试读取或写入受保护的内存

的OpenGL / OpenTK绘图与指数:尝试读取或写入受保护的内存问题

P调用“尝试读取或写入受保护的内存”

SQL-尝试读取或写入受保护的内存

尝试读取或写入受保护的内存:C ++的内存修改值

并行读取AutoCad数据库时出现“尝试读取或写入受保护的内存”错误

尝试读取或写入受保护的内存的平台调用错误

使用线程池限制最大线程数-尝试读取或写入受保护的内存错误

通过DllImport在C#中调用C方法-尝试读取或写入受保护的内存

尝试读取或写入受保护的内存.....在Silverlight Windows Phone 8.1项目中

urlmon.dll引起的“尝试读取或写入受保护的内存”

打开SQL Server连接的原因:System.AccessViolationException尝试读取或写入受保护的内存

VB.NET访问-尝试读取或写入受保护的内存

添加单例Kafka生产者:尝试读取或写入受保护的内存

未处理的异常:System.AccessViolationException:尝试读取或写入受保护的内存

使用反射调用dll函数时尝试读取或写入受保护的内存

c# emgu/opencv 用法抛出异常 - 尝试读取或写入受保护的内存

启动MvvmCross Uwp应用程序时发生异常:“ System.AccessViolationException:尝试读取或写入受保护的内存”

尝试使用GetClassName读取或写入受保护的内存

c dll 在 vb6 上工作正常,但在 vb.net 上出错(尝试读取或写入受保护的内存)

写入/读取受内存保护的进程的内存

来自C#的本地调用尝试读取无效的内存

尝试读取不在该组件中的变量时,Vue路由器视图已损坏