2014-11-04 111 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