1
glDrawElementsをglDrawElementInstancedに変更すると、有効なプログラムでsegfaultが発生することがわかりました。コンパイルに問題はありません。 gdbによると、glDrawElementInstancedはsegfaultsです。誰も問題を推測できますか?glDrawElementsInstancedを呼び出すときのセグメンテーションエラー
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
);
私はこれがあなたのビルドシステムとは関係ないと思います。配列を設定して呼び出しを行うコードはもっと面白いでしょう。 – pmr
pmr:ここに書き込むべきかどうかわからない。これがコードの唯一の変更です。私の理解が正しい場合、glDrawElementsInstancedの効果はglDrawElementsと同じですが、複数回実行されます。 glDrawElementsInstancedについて、配列の設定と関係がないことがありますか? – jaeyoung