我发现将 glDrawElements 更改为 glDrawElementInstanced 会导致其他有效程序中的段错误。编译没问题。gdb 说 glDrawElementInstanced 是段错误。谁能猜出一个问题?
在 x86_64 GNU/Linux 上运行。
CMakeLists.txt 的一部分:
cmake_minimum_required (VERSION 2.6)
project (sph)
find_package(OpenGL REQUIRED)
include_directories(
/usr/nvidia-current
.
)
set(ALL_LIBS
${OPENGL_LIBRARY}
glfw
GLEW
)
add_definitions(
-D_CRT_SECURE_NO_WARNINGS
)
target_link_libraries(sph
${ALL_LIBS}
)
段错误的位置:
glDrawElementsInstanced(
GL_TRIANGLES,
indices.size(),
GL_UNSIGNED_SHORT,
(void *)0,
2
);