36章:com.jogamp.opengl.GLException: Method "glClearDepthf" not availableエラー対策
作成2015.12.15
Processingのバージョンをprocessing-3.0b4→processing-3.0.1に変更したら上記のエラーが発生しました。
- エラー表示内容
com.jogamp.opengl.GLException: Method "glClearDepthf" not available
at jogamp.opengl.gl4.GL4bcImpl.glClearDepthf(GL4bcImpl.java:17335)
at processing.opengl.PJOGL.clearDepth(PJOGL.java:1804)
at processing.opengl.PGL.clearBackground(PGL.java:686)
at processing.opengl.PGraphicsOpenGL.backgroundImpl(PGraphicsOpenGL.java:5258)
at processing.core.PGraphics.backgroundFromCalc(PGraphics.java:7323)
at processing.core.PGraphics.background(PGraphics.java:7236)
at processing.core.PGraphics.defaultSettings(PGraphics.java:992)
at processing.opengl.PGraphicsOpenGL.defaultSettings(PGraphicsOpenGL.java:1840)
at processing.core.PGraphics.checkSettings(PGraphics.java:935)
at processing.opengl.PGraphicsOpenGL.checkSettings(PGraphicsOpenGL.java:6676)
at processing.opengl.PGraphicsOpenGL.beginDraw(PGraphicsOpenGL.java:1497)
at processing.core.PApplet.handleDraw(PApplet.java:2361)
at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:731) NaR,int* NoaR,double*
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293) NaR,int* NoaR,double*
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:759)
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:452)
at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:178)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
*直訳するとcom.jogamp.opengl.GLExceptionのメソッド「glClearDepthf」は利用できませんという意味です。
- なぜ?メソッド「glClearDepthf」を利用できないか?
https://www.opengl.org/sdk/docs/man/html/glClearDepth.xhtml
void glClearDepth( GLdouble depth);
void glClearDepthf( GLfloat depth);
OpenGL Versionの対応表
Function / Feature Name | 2 | 2.1 | 3 | 3.1 | 3.2 | 3.3 | 4 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glClearDepth | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK | OK |
glClearDepthf | - | - | - | - | - | - | - | OK | OK | OK | OK | OK |
*OpenGL Versionが4.1以降でないとメソッド「glClearDepthf」は使えないと書いてあります。
- OpenGL Versionがなぜ更新されていないか?
理由は以下を参照すると理解できます。
https://downloadcenter.intel.com/ja/download/20046/OpenGL-Support-Web-Link
OpenGL* は様々なゲームで使用されている 3D グラフィックスのための API (Application Programming Interface) です。
OpenGL は 3D グラフィックスのハードウェア・アクセラレーションを可能にしますが、最適なパフォーマンスを発揮するためには、グラフィックス・ドライバーが OpenGL に対応している必要があります。
OpenGL を使用したゲームを使用する際に、もっとも高い互換性を得るためには、最新のドライバーを使用してください。
Microsoft Windows* 添付、もしくは Windows* Update でインストールしたドライバーは、基本的に OpenGL に対応していません。
*OpenGL Versionは自動更新されないようようです。
- OpenGL Versionの更新方法
(1)「スタート」_「コンピューター」_右クリックで「プロパティ」を選択します。
(2)デバイスマネージャーを開きます。
(3)「ディスプレイアダプター」_「Intel(R) HD Graphics」を開きます。
(4)ドライバータブで「ドライバーの更新」ボタンをおします。
(5)ドライバーの更新後再起動します。
- Method "glClearDepthf" not availableエラー対策まとめ
(1)Method "glClearDepthf" not availableエラー対策は完了しました。
(2)processing-3.0b4→processing-3.0.1変更による使用上の変化は特に感じませんでした。
37章:3Dサンプル(sketch_3D_My_OB02_1)ガードレールに行く。
トップページに戻る。