Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (487)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (553)
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  
  Color Rendering Probem  (Read 2209 times)
0 Members and 1 Guest are viewing this topic.
Offline TomUPB

Junior Newbie





« Posted 2012-04-21 20:22:49 »

Hi, I am trying the NeHe lessons and get to No 5. But here an error occurs: The triangle is shown in blue (last color set), the quad is shown correctly:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
100  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
111  
112  
113  
114  
115  
116  
117  
package testJOGL; 

import javax.media.opengl.GL2;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;
 
class Renderer implements GLEventListener
{
    private GLU glu = new GLU();
 
    public void display(GLAutoDrawable gLDrawable)
    {
        final GL2 gl = gLDrawable.getGL().getGL2();
        gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
        gl.glLoadIdentity();
        gl.glTranslatef(-1.5f, 0.0f, -6.0f);
        gl.glBegin(GL2.GL_TRIANGLES);          // Drawing Using Triangles        
         gl.glColor3f(1.0f, 0.0f, 0.0f);   // Set the current drawing color to red
         gl.glVertex3f( 0.0f, 1.0f, 0.0f);   // Top          
         gl.glColor3f(0.0f, 1.0f, 0.0f);   // Set the current drawing color to green
         gl.glVertex3f(-1.0f,-1.0f, 0.0f);   // Bottom Left          
         gl.glColor3f(0.0f, 0.0f, 1.0f);   // Set the current drawing color to blue
         gl.glVertex3f( 1.0f,-1.0f, 0.0f);   // Bottom Right          
       gl.glEnd();            // Finished Drawing The Triangle
       gl.glTranslatef(3.0f, 0.0f, 0.0f);
        gl.glBegin(GL2.GL_QUADS);              // Draw A Quad
         gl.glColor3f(0.5f, 0.5f, 1.0f);   // Set the current drawing color to light blue
         gl.glVertex3f(-1.0f, 1.0f, 0.0f);   // Top Left
         gl.glVertex3f( 1.0f, 1.0f, 0.0f);   // Top Right
         gl.glVertex3f( 1.0f,-1.0f, 0.0f);   // Bottom Right
         gl.glVertex3f(-1.0f,-1.0f, 0.0f);   // Bottom Left
       gl.glEnd();            // Done Drawing The Quad
       gl.glFlush();
    }
 
 
    public void displayChanged(GLAutoDrawable gLDrawable, boolean modeChanged, boolean deviceChanged)
    {
       System.out.println("displayChanged called");
    }
 
    public void init(GLAutoDrawable gLDrawable)
    {
       System.out.println("init() called");
        GL2 gl = gLDrawable.getGL().getGL2();
        gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
        gl.glShadeModel(GL2.GL_FLAT);
        gl.glClearDepth(1.0f);
        gl.glEnable(GL2.GL_DEPTH_TEST);
        gl.glDepthFunc(GL2.GL_LEQUAL);
        gl.glHint(GL2.GL_PERSPECTIVE_CORRECTION_HINT, GL2.GL_NICEST);  
    }
 
    public void reshape(GLAutoDrawable gLDrawable, int x, int y, int width, int height)
    {
       System.out.println("reshape() called: x = "+x+", y = "+y+", width = "+width+", height = "+height);
        final GL2 gl = gLDrawable.getGL().getGL2();
 
        if (height <= 0) // avoid a divide by zero error!
       {
            height = 1;
        }
 
        final float h = (float) width / (float) height;
 
        gl.glViewport(0, 0, width, height);
        gl.glMatrixMode(GL2.GL_PROJECTION);
        gl.glLoadIdentity();
        glu.gluPerspective(45.0f, h, 1.0, 20.0);
        gl.glMatrixMode(GL2.GL_MODELVIEW);
        gl.glLoadIdentity();
    }
 
 
   public void dispose(GLAutoDrawable arg0)
   {
      System.out.println("dispose() called");
   }
}
package testJOGL;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;
import javax.swing.JFrame;
 
public class JOGL_Test1
{
    public static void main(String[] args)
    {
       // setup OpenGL Version 2
      GLProfile profile = GLProfile.get(GLProfile.GL2);
       GLCapabilities capabilities = new GLCapabilities(profile);
 
       // The canvas is the widget that's drawn in the JFrame
      GLCanvas glcanvas = new GLCanvas(capabilities);
       glcanvas.addGLEventListener(new Renderer());
       glcanvas.setSize( 640, 480 );
 
        JFrame frame = new JFrame( "Hello World" );
        frame.getContentPane().add( glcanvas);
 
        // shutdown the program on windows close event
       frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent ev) {
                System.exit(0);
            }
        });
 
        frame.setSize( frame.getContentPane().getPreferredSize() );
        frame.setVisible( true );
    }
}


The code is taken from a tutorial from http://schabby.de and other sources as I've tried to fix the problem myself.

Maybe someone could help me? Thx!
Offline ra4king

JGO Kernel


Medals: 345
Projects: 2
Exp: 5 years


I'm the King!


« Reply #1 - Posted 2012-04-21 20:46:41 »

JOGL 1.1 is old and abandoned. Try updating to the latest JOGL 2.

Offline TomUPB

Junior Newbie





« Reply #2 - Posted 2012-04-22 07:52:50 »

I have installed JOGL 2 and imported
1  
import javax.media.opengl.GL2;

Thought that would be enough to make sure it's JOGL 2.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline gouessej
« Reply #3 - Posted 2012-04-22 10:31:05 »

Hi

This is not caused by a bug in JOGL 2.0 but maybe something is wrong in your driver. I'm quite surprised. Which version of JOGL 2 do you use? Which graphics cards? Which driver?

Offline TomUPB

Junior Newbie





« Reply #4 - Posted 2012-04-23 19:25:25 »

I have added JOGL-2.0b633 and GLUEGEN-2.0b480 to my project. After all there cannot be a major problem with my system: both LWJGL and another tutorial on JOGL2.0 work absolutely fine.

I have discovered just one real difference in the code working properly and the code posted above:
1  
GLProfile glp = GLProfile.getDefault();

instead of
1  
GLProfile profile = GLProfile.get(GLProfile.GL2);


Well, my assignment is to wirte a method receiving a drawable and pushing some GL2-commands to it. As this works now, I am fine.

Thanks for your offered help, guys!  Grin
Offline gouessej
« Reply #5 - Posted 2012-04-23 19:54:24 »

Of course, GLProfile.getDefault() returns the default profile which can be different of the profile returned by GLProfile.get(GLProfile.GL2) but I'm still surprised by the result. If the default profile is the forward compatible profile, the whole immediate mode shouldn't work.

Keep in mind that you should never store GL instances, look at JOGL user guide for more information. Good luck.

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

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

The first screenshot will be displayed as a thumbnail.

TehJavaDev (14 views)
2014-08-28 18:26:30

CopyableCougar4 (25 views)
2014-08-22 19:31:30

atombrot (38 views)
2014-08-19 09:29:53

Tekkerue (33 views)
2014-08-16 06:45:27

Tekkerue (32 views)
2014-08-16 06:22:17

Tekkerue (19 views)
2014-08-16 06:20:21

Tekkerue (29 views)
2014-08-16 06:12:11

Rayexar (66 views)
2014-08-11 02:49:23

BurntPizza (42 views)
2014-08-09 21:09:32

BurntPizza (34 views)
2014-08-08 02:01:56
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
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!