2014-11-04 57 views
0

我想創建一個簡單的JOGL程序,並且遇到問題。我只是將所有必需的包導入到我的類文件中,但現在,每次使用glTranslate函數時,它都會被標記爲紅色,例如在此代碼塊的末尾。簡單的JOGL程序glTranslate錯誤

public void lab2a(GLAutoDrawable drawable) { 
    GL gl = drawable.getGL(); 
    gl.glTranslatef(-1.0f, -1.0f, -6f); 

    // Drawing first rectangle (blue) 
    gl.glBegin(GL.GL_QUADS); 
    gl.glColor3f(0f, 0f, 1f); // sets color to blue 
    gl.glVertex3f(-0.5f, 0.5f, 0.0f); //Top left vertice 
    gl.glVertex3f(0.5f, 0.5f, 0.0f); //Top right vertice 
    gl.glVertex3f(-0.5f, -0.5f, 0.0f); //Bottom left vertice 
    gl.glVertex3f(0.5f, -0.5f, 0.0f); //Bottom right vertice 
    gl.glEnd(); 
    gl.glTranslate(1.1f, 0f, 0f); 

該標誌顯示:「無法找到符號」,並且對於我使用的glTranslate的每種用法都存在。有誰知道如何解決這個問題?

+0

不確定你的觀點。正確使用上面的'glTranslatef'。它可能是'glTranslated'的'glTranslatef'而不是'glTranslate' – PeterT 2014-11-04 19:30:45

+0

避免傳統的OpenGL – elect 2015-08-12 09:19:51

回答

1

你的源代碼已經過時,它採用JOGL 1,其維護被停止在2010年

請切換到JOGL 2,去jogamp.org。用GL2.GL_QUADS替換GL.GL_QUADS,用GL2替換GL gl = drawable.getGL()gl = drawable.getGL()。getGL2()等等...查看API文檔here

+0

我不瞭解JOGL,但是'GL_QUADS'在OpenGL核心配置文件中被棄用。因此,如果您不想依賴舊功能,則完全不應使用它。 – 2014-11-06 04:30:17

+0

我假定原始海報想要使用向後兼容的配置文件,該配置文件仍然支持GL_QUADS。就個人而言,我更喜歡只使用三角形,儘管在許多仍支持GL_QUADS的舊圖形卡上速度較慢。 – gouessej 2014-11-06 10:14:58