Examples of GLCapabilities


Examples of javax.media.opengl.GLCapabilities

    GraphicsConfiguration getBestConfiguration(GraphicsConfigTemplate3D gct,
            GraphicsConfiguration[] gc) {
        if (VERBOSE) System.err.println("JoglPipeline.getBestConfiguration()");

        // Create a GLCapabilities based on the GraphicsConfigTemplate3D
        final GLCapabilities caps = new GLCapabilities(profile);

        caps.setDoubleBuffered(gct.getDoubleBuffer() != GraphicsConfigTemplate.UNNECESSARY);

        caps.setStereo(gct.getStereo() != GraphicsConfigTemplate.UNNECESSARY);

        // Scene antialiasing only if double buffering
        if (gct.getSceneAntialiasing() != GraphicsConfigTemplate.UNNECESSARY &&
            gct.getDoubleBuffer() != GraphicsConfigTemplate.UNNECESSARY) {
            caps.setSampleBuffers(true);
            caps.setNumSamples(2);
        } else {
            caps.setSampleBuffers(false);
            caps.setNumSamples(0);
        }

        caps.setDepthBits(gct.getDepthSize());
        caps.setStencilBits(gct.getStencilSize());

        caps.setRedBits(Math.max(5, gct.getRedSize()));
        caps.setGreenBits(Math.max(5, gct.getGreenSize()));
        caps.setBlueBits(Math.max(5, gct.getBlueSize()));


        // Issue 399: Request alpha buffer if transparentOffScreen is set
        if (VirtualUniverse.mc.transparentOffScreen) {
            caps.setAlphaBits(1);
        }


        // Add PREFERRED capabilities in order of least to highest priority and we will try disabling them
        ArrayList<DisabledCaps> capsToDisable = new ArrayList<DisabledCaps>();

        if (gct.getStereo() == GraphicsConfigTemplate.PREFERRED) {
            capsToDisable.add(DisabledCaps.STEREO);
        }

        if (gct.getSceneAntialiasing() == GraphicsConfigTemplate.PREFERRED) {
            capsToDisable.add(DisabledCaps.AA);
        }

        // if AA is required, so is double buffering.
        if (gct.getSceneAntialiasing() != GraphicsConfigTemplate.REQUIRED &&
            gct.getDoubleBuffer() == GraphicsConfigTemplate.PREFERRED) {
            capsToDisable.add(DisabledCaps.DOUBLE_BUFFER);
        }


        // Pick an arbitrary graphics device.
        GraphicsDevice device = gc[0].getDevice();
        AbstractGraphicsScreen screen = (device != null) ? AWTGraphicsScreen.createScreenDevice(device, AbstractGraphicsDevice.DEFAULT_UNIT) :
            AWTGraphicsScreen.createDefault();

     // Create a Frame and dummy GLCanvas to perform eager pixel format selection

        // Note that we loop in similar fashion to the NativePipeline's
        // native code in the situation where we need to disable certain
        // capabilities which aren't required
        boolean tryAgain = true;
        CapabilitiesCapturer capturer = null;
        AWTGraphicsConfiguration awtConfig = null;
        while (tryAgain) {
            Frame f = new Frame(device.getDefaultConfiguration());
            f.setUndecorated(true);
            f.setLayout(new BorderLayout());
            capturer = new CapabilitiesCapturer();
            try {
                awtConfig = createAwtGraphicsConfiguration(caps, capturer, screen);
                QueryCanvas canvas = new QueryCanvas(awtConfig, capturer);
                f.add(canvas, BorderLayout.CENTER);
                f.setSize(MIN_FRAME_SIZE, MIN_FRAME_SIZE);
                f.setVisible(true);
                canvas.doQuery();
                if (DEBUG_CONFIG) {
                    System.err.println("Waiting for CapabilitiesCapturer");
                }
                // Try to wait for result without blocking EDT
                if (!EventQueue.isDispatchThread()) {
                    synchronized(capturer) {
                        if (!capturer.done()) {
                            try {
                                capturer.wait(WAIT_TIME);
                            } catch (InterruptedException e) {
                            }
                        }
                    }
                }
                disposeOnEDT(f);
                tryAgain = false;
            } catch (GLException e) {
                // Failure to select a pixel format; try switching off one
                // of the only-preferred capabilities
                if (capsToDisable.size() == 0) {
                    tryAgain = false;
                } else {
                    switch (capsToDisable.remove(0)) {
                    case STEREO:
                        caps.setStereo(false);
                        break;
                    case AA:
                        caps.setSampleBuffers(false);
                        break;
                    case DOUBLE_BUFFER:
                        caps.setDoubleBuffered(false);
                        break;
                    }
                    awtConfig = null;
                }
            }
        }
        int chosenIndex = capturer.getChosenIndex();
        GLCapabilities chosenCaps = null;
        if (chosenIndex < 0) {
            if (DEBUG_CONFIG) {
                System.err.println("CapabilitiesCapturer returned invalid index");
            }
            // It's possible some platforms or implementations might not
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

    }

    @Override
    boolean hasSceneAntialiasingAccum(Canvas3D cv) {
        if (VERBOSE) System.err.println("JoglPipeline.hasSceneAntialiasingAccum()");
        GLCapabilities caps = caps(cv);
        if (VERBOSE) System.err.println("  Returning " + (caps.getAccumRedBits() > 0 &&
                caps.getAccumGreenBits() > 0 &&
                caps.getAccumBlueBits() > 0));
        return (caps.getAccumRedBits() > 0 &&
                caps.getAccumGreenBits() > 0 &&
                caps.getAccumBlueBits() > 0);
    }
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

            
        return new GLDisplay( title, width, hight);
    }

    private GLDisplay( String title, int width, int height) {
        glCanvas = new GLCanvas(new GLCapabilities());
        glCanvas.setSize( width-100, height-100 );
        glCanvas.setIgnoreRepaint( true );
        glCanvas.addGLEventListener( helpOverlayGLEventListener );

        frame = new JFrame( title );
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

  private Scene glListener;

  final FPSAnimator animator;

  public Anim() {
    super(new GLCapabilities(GLProfile.getDefault()));

    glListener = new Scene();

    this.addKeyListener(new Clavier(glListener));
    this.addMouseListener(new Souris(glListener));
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

  private Scene glListener;

  final FPSAnimator animator;

  public Anim() {
    super(new GLCapabilities(GLProfile.getDefault()));
   
    glListener = new Scene();
   
    this.addKeyListener(new Clavier(glListener));
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

    super(parent, style | SWT.EMBEDDED);
   
    // TODO: Use GL4 instead of GL2
   
    GLProfile profile = GLProfile.getDefault();
    GLCapabilities caps = new GLCapabilities(profile);
   
    frame = SWT_AWT.new_Frame(this);
    frame.setLayout(new BorderLayout());
    canvas = new GLCanvas(caps);
    canvas.addGLEventListener(this);
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

    frameLayout.setHgap(0);
    frameLayout.setVgap(0);
    frame.setLayout(frameLayout);
   
    GLProfile profile = GLProfile.getDefault();
    GLCapabilitiesImmutable capabilities = new GLCapabilities(profile);
    canvas = new GLCanvas(capabilities);
    canvas.addGLEventListener(this);
    frame.add(canvas, BorderLayout.CENTER);
   
    animator = new FPSAnimator(canvas, UI.FPS, true);
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

    }

    private void initGL() {
        GLProfile profile = GLProfile.getDefault();

        GLCapabilities capabilities = new GLCapabilities(profile);

        canvas = new GLCanvas(capabilities);

        canvas.setSize(imageWidth, imageHeight);
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

*/
public class OneTriangleSWTAWTBridge {

    public static void main( String [] args ) {
        GLProfile glprofile = GLProfile.getDefault();
        GLCapabilities glcapabilities = new GLCapabilities( glprofile );
        final GLCanvas glcanvas = new GLCanvas( glcapabilities );

        Display display = new Display();
        final Shell shell = new Shell( display );
        shell.setText( "OneTriangle SWT AWT Bridge" );
View Full Code Here

Examples of javax.media.opengl.GLCapabilities

        if ((settings.getColorDepth() != 32) && (settings.getColorDepth() != 16) && (settings.getColorDepth() != 24)
                && (settings.getColorDepth() != -1)) {
            throw new Ardor3dException("Invalid pixel depth: " + settings.getColorDepth());
        }

        final GLCapabilities caps = new GLCapabilities(getProfile());
        caps.setHardwareAccelerated(true);
        caps.setDoubleBuffered(true);
        caps.setAlphaBits(settings.getAlphaBits());
        caps.setDepthBits(settings.getDepthBits());
        caps.setNumSamples(settings.getSamples());
        caps.setSampleBuffers(settings.getSamples() != 0);
        caps.setStereo(settings.isStereo());
        caps.setStencilBits(settings.getStencilBits());
        switch (settings.getColorDepth()) {
            case 32:
            case 24:
                caps.setRedBits(8);
                caps.setBlueBits(8);
                caps.setGreenBits(8);
                break;
            case 16:
                caps.setRedBits(4);
                caps.setBlueBits(4);
                caps.setGreenBits(4);
                break;
        }
        caps.setOnscreen(onscreen);
        if (!onscreen) {
            caps.setBitmap(bitmapRequested);
            caps.setPBuffer(pbufferRequested);
            caps.setFBO(fboRequested);
        }
        return caps;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.