我第一次遇到这个问题,在今天之前一切都很好。在我看来,问题在于内存管理,或者类似的东西。
我把我所有的opengl代码压缩在一个类中,我从主窗口循环中调用它。还是一样的错误。
public class renderTest
{
public float[] vertices(int x, int y, int z)
{
float vertices[] =
{
//...
};
return vertices;
}
public final int[] indices =
{
//...
};
public Model model;
public renderTest()
{
this.model = loadToVAO(vertices(0, 0, -5), indices);
}
public void render(Model model)
{
glBindVertexArray(model.getVaoID());
glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);
glDrawElements(GL_QUADS, model.getVertexAmount(), GL_UNSIGNED_INT, 0); // <<< FATAL ERROR HERE
glDrawElements(GL_QUADS, 24, GL_UNSIGNED_INT, 0); // <<< OR HERE
glDisableVertexAttribArray(0);
glDisableVertexAttribArray(1);
glBindVertexArray(0);
}
public Model loadToVAO(float[] vertices, int [] indices)
{
int vaoID = create();
bindIndicesBuffer(indices);
storeDataInAttributeList(0, vertices, 3);
//storeDataInAttributeList(1, textureCoords, 2);
unbind();
return new Model(vaoID, indices.length);
}
private int create()
{
int ID = glGenVertexArrays();
glBindVertexArray(ID);
return ID;
}
private void storeDataInAttributeList(int attributeNumber, float[] data, int coordinateSize)
{
int vboID = glGenBuffers();
glBindBuffer(GL_ARRAY_BUFFER, vboID);
FloatBuffer buffer = storeDataInFloatBuffer(data);
glBufferData(GL_ARRAY_BUFFER, buffer, GL_STATIC_DRAW);
glVertexAttribPointer(attributeNumber, coordinateSize, GL_FLOAT, false, 0, 0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
}
private FloatBuffer storeDataInFloatBuffer(float[] data)
{
FloatBuffer buffer = BufferUtils.createFloatBuffer(data.length);
buffer.put(data);
buffer.flip();
return buffer;
}
private IntBuffer storeDataInIntBuffer(int[] data)
{
IntBuffer buffer = BufferUtils.createIntBuffer(data.length);
buffer.put(data);
buffer.flip();
return buffer;
}
private void bindIndicesBuffer(int[] indices)
{
int vboID = glGenBuffers();
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vboID);
IntBuffer buffer = storeDataInIntBuffer(indices);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, buffer, GL_STATIC_DRAW);
}
private void unbind()
{
glBindVertexArray(0);
}
}
Java运行时环境检测到致命错误:
pc=0x0000000055cdb5c0、pid=5200、tid=4540时的异常访问(0xc0000005)
JRE版本:Java(TM)SE运行时环境(8.0_40-b26)(构建1.8.0_40-b26)
Java虚拟机:Java热点(TM)64位服务器虚拟机(25.40-b25混合模式windows-amd64压缩oops)
有问题的帧:C[atio6axx.dll 0x23b5c0]
写入核心转储失败。默认情况下,在Windows的客户端版本上不启用迷你配置
崩溃发生在Java虚拟机外部的本机代码中。有关报告错误的位置,请参见问题框。
最后,我想通了。问题在于这两行代码:
glEnableVertexAttribArray(1);
//...
glDisableVertexAttribArray(1);
我启用了一个不存在的VAO。愚蠢的我。
我试图在Swift 3.0中调用委托函数。调用时,我收到一个错误,该错误显示“致命错误:在打开可选值时意外发现nil”。我已经给出了静态值,动态值没有用。 我用以下方式调用这个代表。 我在这里做得不对。下面是我设置的代理。
试图创建一个登录屏幕,我得到一个错误 致命错误:在第19行的C:\xampp\htdocs\login\class\Mysql.php中,对非对象调用成员函数准备() Constants.php
问题内容: 当我尝试将旧的sql切换到sqli时,有人可以告诉我为什么这不起作用: 至: 它一直给我一个错误:“致命错误:调用未定义函数mysqli_result()” 问题答案: 不要使用这种代码。这是非常低效的。使用来代替: 一个SINGLE数据库操作,而不是您尝试执行的3个以上操作。
问题内容: 我正在尝试连接到安装了PostgreSQL的数据库(远程服务器)。我的PHP代码正在尝试使用pg_connect()连接到数据库,但出现错误消息:-“致命错误:在第82行的/var/www/website/functions.php中调用未定义的函数pg_connect()”。 82行只是: (所有先前定义的变量) 我检查了很多论坛,建议的唯一解决方案是找到包含一行的php.ini文件
问题内容: 我的代码是这样的: 当我运行通过Web套接字创建连接的php文件时,出现致命错误:调用if(($ this-> master = socket_create(AF_INET,SOCK_STREAM,SOL_TCP))<0)行中的未定义函数socket_create() 因此,我无法连接Web套接字,也无法从套接字获取响应消息,因为在运行客户端页面时,浏览器中显示的是套接字状态:3(关闭
我一直被这个错误困扰,请帮助我这是我的PHP代码致命错误:调用成员函数bind_param()