Example usage for com.badlogic.gdx.graphics GL10 GL_FRONT_AND_BACK

List of usage examples for com.badlogic.gdx.graphics GL10 GL_FRONT_AND_BACK

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics GL10 GL_FRONT_AND_BACK.

Prototype

int GL_FRONT_AND_BACK

To view the source code for com.badlogic.gdx.graphics GL10 GL_FRONT_AND_BACK.

Click Source Link

Usage

From source file:org.interreg.docexplore.reader.book.BookEngineRenderer.java

License:Open Source License

public void render() {
    BookSpecification spec = engine.book;
    BookModel model = engine.model;/*from   w  w w  . java 2s.  c  o m*/

    GL10 gl = Gdx.gl10;

    cnt += .01;

    engine.attractor.attract(engine.camera, .075f);

    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glPushMatrix();
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glPushMatrix();
    engine.camera.apply(gl);

    gl.glEnable(GL10.GL_LIGHTING);
    gl.glEnable(GL10.GL_LIGHT0);
    gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, ambient);
    gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, diffuse);
    gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, position);

    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glTranslatef((float) engine.globalTrans, 0, 0);
    gl.glRotatef((float) (engine.globalRot * 180 / Math.PI), 0, 1, 0);

    boolean pageIsActive = engine.hand.pageIsActive;
    int leftPageIndex = model.leftStack.nStackPages > 0 ? 1 + 2 * (model.leftStack.nStackPages - 1) : -1;
    int rightPageIndex = model.rightStack.nStackPages > 0 ? leftPageIndex + 1 + (pageIsActive ? 2 : 0) : -1;

    Bindable leftPage = leftPageIndex >= 0 ? spec.pages.get(leftPageIndex).getTexture() : null;
    Bindable rightPage = rightPageIndex >= 0 ? spec.pages.get(rightPageIndex).getTexture() : null;
    Bindable pageFront = pageIsActive ? spec.pages.get(leftPageIndex + 1).getTexture() : null;
    Bindable pageBack = pageIsActive ? spec.pages.get(leftPageIndex + 2).getTexture() : null;

    Gdx.gl10.glEnable(GL10.GL_CULL_FACE);
    gl.glPolygonMode(GL10.GL_FRONT_AND_BACK, GL10.GL_FILL);

    boolean zoomed = engine.zoom.active;
    model.render(leftPage, rightPage, pageFront, pageBack, engine.book.coverTex, engine.book.innerCoverTex,
            zoomed ? null : leftRoiMask, zoomed ? null : rightRoiMask);

    for (Component extension : engine.components)
        extension.render();

    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glPopMatrix();
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glPopMatrix();
}

From source file:org.interreg.docexplore.reader.book.page.BookPageShadow.java

License:Open Source License

public void render() {
    GL11 gl = Gdx.gl11;/*from  www  . j  a va 2s .co  m*/
    gl.glEnable(GL11.GL_DEPTH_TEST);
    gl.glPolygonMode(GL10.GL_FRONT_AND_BACK, GL10.GL_FILL);
    gl.glClearStencil(0);
    gl.glClear(GL11.GL_STENCIL_BUFFER_BIT);
    gl.glColorMask(false, false, false, false);
    gl.glDepthMask(false);
    gl.glDisable(GL11.GL_LIGHTING);
    gl.glEnable(GL10.GL_STENCIL_TEST);
    //page.book.setupModelview();

    gl.glDisable(GL11.GL_CULL_FACE);
    gl.glStencilFunc(GL10.GL_ALWAYS, 0, 1);
    gl.glStencilOp(GL10.GL_KEEP, GL10.GL_KEEP, GL10.GL_INCR);
    //      gl.glCullFace(GL11.GL_FRONT);
    mesh.render(GL11.GL_TRIANGLES);

    //      gl.glStencilFunc(GL10.GL_ALWAYS, 0, 0xffff);
    //      gl.glStencilOp(GL10.GL_KEEP, GL10.GL_KEEP, GL10.GL_DECR);
    //      gl.glCullFace(GL11.GL_BACK);
    //      mesh.render(GL11.GL_TRIANGLES);

    gl.glDisable(GL11.GL_CULL_FACE);
    gl.glDisable(GL11.GL_DEPTH_TEST);
    gl.glColorMask(true, true, true, true);
    gl.glStencilFunc(GL10.GL_NOTEQUAL, 0, 1);
    gl.glStencilOp(GL10.GL_KEEP, GL10.GL_KEEP, GL10.GL_KEEP);
    gl.glColor4f(0, 0, 0, .5f);

    gl.glMatrixMode(GL11.GL_MODELVIEW);
    gl.glPushMatrix();
    gl.glLoadIdentity();
    gl.glMatrixMode(GL11.GL_PROJECTION);
    gl.glPushMatrix();
    gl.glLoadIdentity();
    gl.glOrthof(0, 1, 0, 1, -1, 1);

    quad.render(GL11.GL_TRIANGLES);

    gl.glMatrixMode(GL11.GL_MODELVIEW);
    gl.glPopMatrix();
    gl.glMatrixMode(GL11.GL_PROJECTION);
    gl.glPopMatrix();

    gl.glEnable(GL11.GL_LIGHTING);
    gl.glEnable(GL11.GL_DEPTH_TEST);
    gl.glEnable(GL11.GL_CULL_FACE);
    gl.glDisable(GL10.GL_STENCIL_TEST);
    gl.glCullFace(GL11.GL_BACK);
    gl.glDepthMask(true);
    //page.book.unsetupModelview();
}

From source file:org.interreg.docexplore.reader.book.ParchmentEngine.java

License:Open Source License

public void render() {
    if (book == null || !active)
        return;/* w ww.  j  a  va 2  s. c om*/

    GL10 gl = Gdx.gl10;

    cnt += .01;

    globalFrame.attract(camera, .075f);

    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glPushMatrix();
    gl.glLoadIdentity();
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glPushMatrix();
    gl.glLoadIdentity();
    camera.apply(gl);

    Gdx.gl10.glEnable(GL10.GL_TEXTURE_2D);
    Gdx.gl10.glDisable(GL10.GL_CULL_FACE);
    Gdx.gl10.glDisable(GL10.GL_LIGHTING);
    gl.glPolygonMode(GL10.GL_FRONT_AND_BACK, GL10.GL_FILL);

    int page = (int) (-camera.position.y * book.aspectRatio);
    int p0 = Math.max(0, page - pageSpread), p1 = Math.min(book.pages.size() - 1, page + pageSpread);
    for (int i = p0; i <= p1; i++) {
        book.pages.get(i).getTexture().bind();
        GfxUtils.fillQuad(-.5f, -(float) (i / book.aspectRatio), 0, 0, .5f,
                -(float) ((i + 1) / book.aspectRatio), 1, 1);
    }

    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glPopMatrix();
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glPopMatrix();
}

From source file:org.interreg.docexplore.reader.DebugGraphics.java

License:Open Source License

public void fillTriangle(double x1, double y1, double x2, double y2, double x3, double y3) {
    FloatBuffer data = threeMesh.getVerticesBuffer();
    data.limit(data.capacity());/*from   w  w w  .j  av a 2 s  . co m*/
    data.put(0, (float) x1).put(1, (float) y1).put(2, 0);
    data.put(3, (float) x2).put(4, (float) y2).put(5, 0);
    data.put(6, (float) x3).put(7, (float) y3).put(8, 0);
    Gdx.gl10.glPolygonMode(GL10.GL_FRONT_AND_BACK, GL10.GL_FILL);
    //Gdx.gl10.glPolygonMode(GL10.GL_FRONT_AND_BACK, GL10.GL_LINE);
    threeMesh.render(GL10.GL_TRIANGLES);
    Gdx.gl10.glPolygonMode(GL10.GL_FRONT_AND_BACK, GL10.GL_FILL);
}