VBO错误导致系统退出

VBO错误导致系统退出

本文介绍了OpenGL VBO错误导致系统退出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用JOGL加载一个OBJ模型并使用VBO在GL画布中显示它。一切都是工作的大部分但是,有一些模型,其中顶点必须变形。例如,我有一个箭头对象,并且必须能够使箭头的茎变形,使尾部根据需要长/短,同时保持箭头的对象几何形状。
这对于渲染器的一个实例很好,但是当我尝试添加另一个到场景中时,系统退出GLDrawElements调用并输出这个错误日志。任何人都可以指向正确的方向?我完全失去了。

I'm using JOGL with to load an OBJ model and display it in a GL canvas using a VBO. Everything is work for the most part however, there are some models where the vertices must be deformed. For example, I have an arrow object and must be able to deform the stem of the arrow to make the tail as long/short as needed while maintaining the object geometry for the arrow head.This works fine for one instance of the renderer but when I try and add another one to the scene, the system exits on the GLDrawElements call and outputs this error log. Can anyone point me in the right direction? I'm at a complete loss.

    #
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000069e3e4c8, pid=6544, tid=2692
#
# JRE version: 6.0_21-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0-b16 mixed mode windows-amd64 )
# Problematic frame:
# C  [nvoglnt.dll+0x93e4c8]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

...
Stack: [0x0000000052640000,0x0000000052740000],  sp=0x000000005273ecb0,  free space=3fb0000000000000000k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [nvoglnt.dll+0x93e4c8]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J  com.sun.opengl.impl.GLImpl.glDrawElements0(IIIJ)V
J  com.sun.opengl.impl.GLImpl.glDrawElements(IIIJ)V
j  com.sonogenics.model.AbstractModelHandler$Renderer.display(Ljavax/media/opengl/GL;)V+196
j  com.sonogenics.model.AbstractModelHandler$Renderer.display(Ljavax/media/opengl/GL;Lcom/sonogenics/camera/SimpleProjection;FFFLcom/sonogenics/playout/Field;)V+436
...


推荐答案

使用查看什么调用导致错误,并检查无效您的gl调用中的数据。

Use GDebugger to see what call causes the error and check for invalid data in your gl calls.

这是非常真棒。 :)

这篇关于OpenGL VBO错误导致系统退出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 15:59