36章:com.jogamp.opengl.GLException: Method "glClearDepthf" not availableエラー対策

    作成2015.12.15

     Processingのバージョンをprocessing-3.0b4→processing-3.0.1に変更したら上記のエラーが発生しました。

  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」は利用できませんという意味です。


  2. なぜ?メソッド「glClearDepthf」を利用できないか?
    https://www.opengl.org/sdk/docs/man/html/glClearDepth.xhtml
    void glClearDepth( GLdouble depth);
    void glClearDepthf( GLfloat depth);
    OpenGL Versionの対応表
    Function / Feature Name22.133.13.23.344.14.24.34.44.5
    glClearDepthOKOKOKOKOKOKOKOKOKOKOKOK
    glClearDepthf-------OKOKOKOKOK

    *OpenGL Versionが4.1以降でないとメソッド「glClearDepthf」は使えないと書いてあります。


  3. 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は自動更新されないようようです。


  4. OpenGL Versionの更新方法
    (1)「スタート」_「コンピューター」_右クリックで「プロパティ」を選択します。
    (2)デバイスマネージャーを開きます。
    (3)「ディスプレイアダプター」_「Intel(R) HD Graphics」を開きます。
    (4)ドライバータブで「ドライバーの更新」ボタンをおします。
    (5)ドライバーの更新後再起動します。





  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)ガードレールに行く。

トップページに戻る。