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

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

Introduction

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

Prototype

public void glPolygonMode(int face, int mode);

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  . jav a  2 s.co 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.ParchmentEngine.java

License:Open Source License

public void render() {
    if (book == null || !active)
        return;/*from  w  w  w. j  av a  2 s  .  c  o m*/

    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();
}