List of usage examples for com.badlogic.gdx.graphics GL10 GL_FRONT_AND_BACK
int GL_FRONT_AND_BACK
To view the source code for com.badlogic.gdx.graphics GL10 GL_FRONT_AND_BACK.
Click Source Link
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); }