Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (408)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  problem and exception while changing polygon mode  (Read 1045 times)
0 Members and 1 Guest are viewing this topic.
Offline TheBohemian

Junior Member




Java will rule them all!


« Posted 2003-08-04 02:04:34 »

In a demo app of mine I want to switch the polygon mode with glPolygonMode between LINES and FULL. To make things easy I added a KeyListener to the GLCanvas. I declared a (volatile) variable polyMode that is set by the listener method and used by a call to glPolygonMode(...) which is the first operation of GLEventListener.display(...).

Now something strange happens:
a)
Initially the polygonmode is set to lines. After successfully changing to FULL-mode the app doesn't get back to LINE mode although the controlling variable is set.

b)
When having gl.glPolygonMode() in display() resizing of the windows fails with the following exception:

1  
2  
3  
4  
5  
6  
7  
8  
9  
net.java.games.jogl.GLException: glGetError() returned the following error codes after a call to glViewport(): GL_INVALID_ENUM 
        at net.java.games.jogl.DebugGL.checkGLGetError(DebugGL.java:9741)
        at net.java.games.jogl.DebugGL.glViewport(DebugGL.java:8974)
        at net.java.games.jogl.GLCanvas$1.run(GLCanvas.java:121)
        at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:189)
        at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:196)
        at net.java.games.jogl.GLCanvas.display(GLCanvas.java:91)
        at net.java.games.jogl.Animator$1.run(Animator.java:104)
        at java.lang.Thread.run(Thread.java:534)


Here the code that is directly called by an anonymouse KeyListener:
1  
2  
3  
4  
5  
6  
7  
      private void keyPressed(int keyCode){
            switch(keyCode){
                  case KeyEvent.VK_F:
                        polyMode = (polyMode == GL.GL_LINES) ? GL.GL_FILL : GL.GL_LINES;
                        break;
            }
      }


And this is my display-Method:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
public void display(GLDrawable glDrawable) {
            gl.glPolygonMode(GL.GL_FRONT, polyMode);
           
            gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT );
            gl.glLoadIdentity();

            gl.glTranslated(0, 0, zoom);
           
            wheel.paint(gl);
      }


I am using JOGL from July 18th (Windows version).

Does anyone know what I am doing wrong or how to solve polygon mode switching problem?

Thanks in advance.

cya

TheBohemian

---------------------------------------
my favorite OS: http://jnode.sf.net
Java 1.5 -> 1.4 converter: http://retroweaver.sf.net
Offline TheBohemian

Junior Member




Java will rule them all!


« Reply #1 - Posted 2003-08-04 02:07:52 »

I can admit the following:
Not using the DebugGL helps against the exception but now an OpenGL errorcode gets lost.

However switching back to LINE mode does not work ...

cya

TheBohemian

---------------------------------------
my favorite OS: http://jnode.sf.net
Java 1.5 -> 1.4 converter: http://retroweaver.sf.net
Offline pepijnve

Junior Member




Java games rock!


« Reply #2 - Posted 2003-08-04 09:37:57 »

The correct constant to use is GL_LINE, not GL_LINES.
Games published by our own members! Check 'em out!
Play the free demo of Revenge of the Titans!
Offline TheBohemian

Junior Member




Java will rule them all!


« Reply #3 - Posted 2003-08-04 10:36:14 »

Thank you.
That solved it.

cya

TheBohemian

---------------------------------------
my favorite OS: http://jnode.sf.net
Java 1.5 -> 1.4 converter: http://retroweaver.sf.net
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Get high quality music tracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (101 views)
2013-05-17 21:29:12

alaslipknot (111 views)
2013-05-16 21:24:48

gouessej (139 views)
2013-05-16 00:53:38

gouessej (134 views)
2013-05-16 00:17:58

theagentd (146 views)
2013-05-15 15:01:13

theagentd (132 views)
2013-05-15 15:00:54

StreetDoggy (175 views)
2013-05-14 15:56:26

kutucuk (197 views)
2013-05-12 17:10:36

kutucuk (199 views)
2013-05-12 15:36:09

UnluckyDevil (205 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.163 seconds with 21 queries.