List of usage examples for com.badlogic.gdx.graphics GL10 glColor4f
public void glColor4f(float red, float green, float blue, float alpha);
From source file:com.digitale.mygdxgame.Renderer.java
License:Open Source License
private void renderExplosions(GL10 gl, ArrayList<Explosion> explosions) { gl.glDisable(GL10.GL_CULL_FACE);//w ww . ja v a 2 s .c o m gl.glEnable(GL10.GL_BLEND); // gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); gl.glDisable(GL10.GL_LIGHTING); for (int i = 0; i < explosions.size(); i++) { Explosion explosion = explosions.get(i); gl.glPushMatrix(); if (explosion.type == Explosion.NORMAL) { gl.glTranslatef(explosion.position.x, explosion.position.y, explosion.position.z); explosionTexture.bind(); gl.glScalef(10, 10, 10); gl.glRotatef(explosion.yawAngle, 0, 1, 0); gl.glRotatef(explosion.pitchAngle, 1, 0, 0); explosionMesh.render(GL10.GL_TRIANGLE_FAN, (int) ((explosion.aliveTime / explosion.explosionLiveTime) * 15) * 4, 4); } else if (explosion.type == Explosion.SWANSONG) { gl.glTranslatef(explosion.position.x, explosion.position.y, explosion.position.z); swansongTexture.bind(); gl.glColor4f(1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2)); gl.glRotatef(explosion.yawAngle, 0, 1, 0); gl.glRotatef(explosion.pitchAngle, 1, 0, 0); gl.glScalef(explosion.scale * 10, explosion.scale * 10, explosion.scale * 10); sunMesh.render(GL10.GL_TRIANGLES); gl.glScalef(1, 1, 1); gl.glColor4f(1f, 1f, 1f, 1f); } else if (explosion.type == Explosion.RANKUP) { gl.glTranslatef(explosion.position.x, explosion.position.y, explosion.position.z); lvlupTexture.bind(); gl.glColor4f(1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2)); gl.glRotatef(explosion.yawAngle, 0, 1, 0); gl.glRotatef(explosion.pitchAngle, 1, 0, 0); gl.glRotatef(explosion.aliveTime * 360f, 0, 0, 1); gl.glScalef(explosion.scale, explosion.scale, explosion.scale); sunMesh.render(GL10.GL_TRIANGLES); gl.glScalef(1, 1, 1); gl.glColor4f(1f, 1f, 1f, 1f); } else if (explosion.type == Explosion.LEVELUP) { gl.glTranslatef(explosion.position.x, explosion.position.y, explosion.position.z); lvlupTexture.bind(); gl.glColor4f(1 - (explosion.aliveTime / 4), .5f, //1 - (explosion.aliveTime / 2), .5f - (explosion.aliveTime / 2), 1 - (explosion.aliveTime / 2)); gl.glRotatef(explosion.yawAngle, 0, 1, 0); gl.glRotatef(explosion.pitchAngle, 1, 0, 0); gl.glRotatef(explosion.aliveTime * 360f, 0, 0, 1); gl.glScalef(explosion.scale, explosion.scale, explosion.scale); sunMesh.render(GL10.GL_TRIANGLES); gl.glScalef(1, 1, 1); gl.glColor4f(1f, 1f, 1f, 1f); } gl.glPopMatrix(); } gl.glDisable(GL10.GL_BLEND); gl.glEnable(GL10.GL_CULL_FACE); gl.glEnable(GL10.GL_LIGHTING); }
From source file:com.digitale.mygdxgame.SplashRenderer.java
License:Open Source License
private void renderSky(GL10 gl) { gl.glDisable(GL10.GL_LIGHTING);//from www . j a v a 2s . c o m skyTexture.bind(); gl.glColor4f(1, 1, 1, 1); gl.glPushMatrix(); gl.glTranslatef(0, 0, 0); gl.glScalef(100f, 100f, 100f); skyMesh.render(GL10.GL_TRIANGLES); gl.glPopMatrix(); gl.glEnable(GL10.GL_LIGHTING); }
From source file:org.interreg.docexplore.reader.book.BookCover.java
License:Open Source License
public void render(Bindable coverTex, Bindable innerCoverTex) { GL10 gl = Gdx.gl10; gl.glColor4f(1, 1, 1, 1); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); gl.glEnable(GL10.GL_TEXTURE_2D);/* www.j a v a 2 s . c o m*/ if (innerCoverTex != null && !book.app.bookEngine.coverOnly()) { innerCoverTex.bind(); meshes[innerBinding].render(GL10.GL_TRIANGLES); } if (coverTex != null) { coverTex.bind(); meshes[outerBinding].render(GL10.GL_TRIANGLES); } // meshes[topBinding].render(GL10.GL_TRIANGLES); // meshes[bottomBinding].render(GL10.GL_TRIANGLES); // meshes[frontBinding].render(GL10.GL_TRIANGLES); gl.glDisable(GL10.GL_TEXTURE_2D); }
From source file:org.interreg.docexplore.reader.book.ParchmentMini.java
License:Open Source License
public void renderWidget() { GL10 gl = Gdx.gl10; gl.glDisable(GL10.GL_TEXTURE_2D);/* www. ja va 2s. co m*/ gl.glDisable(GL10.GL_LIGHTING); gl.glDisable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_CULL_FACE); gl.glDisable(GL10.GL_STENCIL_TEST); gl.glColor4f(0, 0, 0, .25f * fullAlpha * alpha); GfxUtils.fillQuad(x - .5f * w, y - .5f * w, 0, 0, x + w + .5f * w, y + h + .5f * w, 1, 1); super.renderWidget(); float px = engine.camera.position.x + .5f; float ch = (float) (engine.book.pages.size() / engine.book.aspectRatio); float py = -engine.camera.position.y / ch; float pw = (float) (engine.camera.position.z * .8f); float ph = pw * Gdx.graphics.getHeight() / (ch * Gdx.graphics.getWidth()); gl.glDisable(GL10.GL_TEXTURE_2D); gl.glDisable(GL10.GL_LIGHTING); gl.glDisable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_CULL_FACE); gl.glDisable(GL10.GL_STENCIL_TEST); gl.glColor4f(.5f, .5f, 1f, .75f * fullAlpha * alpha); GfxUtils.fillQuad(x + (px - .5f * pw) * w, y + (py - .5f * ph) * h, 0, 0, x + (px + .5f * pw) * w, y + (py + .5f * ph) * h, 1, 1); }
From source file:org.interreg.docexplore.reader.book.roi.ROIOverlay.java
License:Open Source License
public void render() { if (alpha < alphaGoal) alpha += .02f;/*w w w . j a v a2s. c om*/ else if (alpha > alphaGoal) alpha -= .02f; alpha = alpha < 0 ? 0 : alpha > 1 ? 1 : alpha; if (alpha == 0) return; GL10 gl = Gdx.gl10; gl.glDisable(GL10.GL_LIGHTING); gl.glDisable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_CULL_FACE); gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glPushMatrix(); gl.glLoadIdentity(); gl.glMatrixMode(GL10.GL_PROJECTION); gl.glPushMatrix(); gl.glLoadIdentity(); gl.glOrthof(-1, 1, -1, 1, -1, 1); gl.glDisable(GL10.GL_TEXTURE_2D); gl.glColor4f(0, 0, 0, .75f * alpha); doQuad(-2 * offsetMargin, 1, 1, -1); float y0 = 0; gl.glEnable(GL10.GL_TEXTURE_2D); gl.glColor4f(1, 1, 1, alpha); for (OverlayElement element : elements) { float w = elementWidth(element); float h = elementHeight(w, element); if (element.bind()) { doQuad(-offsetMargin + .5f - .5f * w, 1 - y0 + offset, -offsetMargin + .5f + .5f * w, 1 - y0 - h + offset); y0 += h + vmargin * element.marginFactor(); } } if (offset > 0) { up.bind(); gl.glColor4f(1, 1, 1, .5f * alpha); float bw = .05f; doQuad(1 - bw, 1, 1, 1 - (bw * Gdx.graphics.getWidth() / Gdx.graphics.getHeight())); } if (offset < maxOffset) { down.bind(); gl.glColor4f(1, 1, 1, .5f * alpha); float bw = .05f; doQuad(1 - bw, (bw * Gdx.graphics.getWidth() / Gdx.graphics.getHeight()) - 1, 1, -1); } gl.glMatrixMode(GL10.GL_PROJECTION); gl.glPopMatrix(); gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glPopMatrix(); gl.glEnable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_TEXTURE_2D); }
From source file:org.interreg.docexplore.reader.gui.Button.java
License:Open Source License
public void renderWidget() { GL10 gl = Gdx.gl10; gl.glDisable(GL10.GL_LIGHTING);//from w w w. ja v a 2s. c om gl.glDisable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_CULL_FACE); gl.glDisable(GL10.GL_STENCIL_TEST); gl.glEnable(GL10.GL_TEXTURE_2D); gl.glColor4f(color[0], color[1], color[2], .75f * alpha); texture.bind(); GfxUtils.fillQuad(x, y, 0, 0, x + w, y + h, 1, 1); gl.glEnable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_TEXTURE_2D); }
From source file:org.interreg.docexplore.reader.gui.Dialog.java
License:Open Source License
public void renderWidget() { if (!ready)/*from w ww.j a v a2s.c om*/ return; GL10 gl = Gdx.gl10; gl.glDisable(GL10.GL_LIGHTING); gl.glDisable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_CULL_FACE); gl.glDisable(GL10.GL_STENCIL_TEST); int x0 = (Gdx.graphics.getWidth() - buffer.getWidth()) / 2, y0 = (Gdx.graphics.getHeight() - height) / 2; gl.glDisable(GL10.GL_TEXTURE_2D); gl.glColor4f(1, 1, 1, .75f * alpha); GfxUtils.fillQuad(0, 0, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), 0, 0); //gl.glColor4f(1, 1, 1, .9f*alpha); //GfxUtils.doQuad(x0, y0, 0, 0, x0+buffer.getWidth(), y0+height, 0, 0); gl.glEnable(GL10.GL_TEXTURE_2D); texture.bind(); gl.glColor4f(GuiLayer.defaultColor[0], GuiLayer.defaultColor[1], GuiLayer.defaultColor[2], alpha); GfxUtils.fillQuad(x0, y0, 0, 0, x0 + buffer.getWidth(), y0 + height, 1, tmax); if (clickedButton >= 0) { float bx1 = (clickedButton + 1) * buffer.getWidth() * 1f / (buttons.length + 1) - .5f * buttonBuffer.getWidth(); float by1 = titleAndMessageHeight; float bx2 = bx1 + buttonBuffer.getWidth(); float by2 = by1 + buttonHeights[clickedButton]; float s1 = bx1 / texture.width(), t1 = by1 / texture.height(), s2 = bx2 / texture.width(), t2 = by2 / texture.height(); //float halpha = alpha < .5 ? 12*alpha*alpha-16*alpha*alpha*alpha : 16*alpha*alpha*alpha-36*alpha*alpha+24*alpha-4; float halpha = 1 - (1 - alpha) * (1 - alpha) * (1 - alpha) * (1 - alpha); gl.glColor4f(GuiLayer.defaultHighlightColor[0], GuiLayer.defaultHighlightColor[1], GuiLayer.defaultHighlightColor[2], halpha); float boost = 0; GfxUtils.fillQuad(x() + bx1 - boost, y() + by1 - boost, s1, t1, x() + bx2 + 2 * boost, y() + by2 + 2 * boost, s2, t2); } gl.glEnable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_TEXTURE_2D); }
From source file:org.interreg.docexplore.reader.gui.Label.java
License:Open Source License
public void renderWidget() { GL10 gl = Gdx.gl10; gl.glDisable(GL10.GL_LIGHTING);/*from w ww . ja va 2s . com*/ gl.glDisable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_CULL_FACE); gl.glDisable(GL10.GL_STENCIL_TEST); gl.glEnable(GL10.GL_TEXTURE_2D); gl.glColor4f(color[0], color[1], color[2], fullAlpha * alpha); texture.bind(); GfxUtils.fillQuad(x, y, 0, 0, x + w, y + h, 1, 1); gl.glEnable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_TEXTURE_2D); }
From source file:org.interreg.docexplore.reader.InputManager.java
License:Open Source License
public void render() { if (cursor == null) return;//from w w w.j a v a 2 s . c o m GL10 gl = Gdx.gl10; gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glPushMatrix(); gl.glLoadIdentity(); gl.glOrthof(0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), 0, -1, 1); gl.glMatrixMode(GL10.GL_PROJECTION); gl.glPushMatrix(); gl.glLoadIdentity(); gl.glEnable(GL10.GL_TEXTURE_2D); gl.glDisable(GL10.GL_LIGHTING); gl.glDisable(GL10.GL_CULL_FACE); gl.glDisable(GL10.GL_DEPTH_TEST); gl.glColor4f(1, 1, 1, 1); if (cursor != null) { cursor.bind(); int my = Gdx.graphics.getHeight() - Mouse.getY(); GfxUtils.fillQuad(Mouse.getX() - cursorHotSpot[0], my - cursorHotSpot[1], 0, 0, Mouse.getX() - cursorHotSpot[0] + cursor.width(), my - cursorHotSpot[1] + cursor.height(), 1, 1); } gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glPopMatrix(); gl.glMatrixMode(GL10.GL_PROJECTION); gl.glPopMatrix(); gl.glDisable(GL10.GL_TEXTURE_2D); gl.glEnable(GL10.GL_DEPTH_TEST); app.debugGfx.render(); }
From source file:org.interreg.docexplore.reader.shelf.ShelfEngine.java
License:Open Source License
public synchronized void render() { if (alpha < .01) return;/*from w ww . j a v a 2 s .c o m*/ GL10 gl = Gdx.gl10; gl.glDisable(GL10.GL_LIGHTING); gl.glDisable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_CULL_FACE); gl.glDisable(GL10.GL_STENCIL_TEST); gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glPushMatrix(); gl.glLoadIdentity(); gl.glMatrixMode(GL10.GL_PROJECTION); gl.glPushMatrix(); gl.glLoadIdentity(); gl.glOrthof(0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), 0, -1, 1); gl.glEnable(GL10.GL_TEXTURE_2D); if (textures == null) cursor = -1; else if (cursor > textures.length) cursor = textures.length - 1; if (cursor >= 0) { for (int i = 0; i < textures.length; i++) { int j = (textures.length / 2 + (i + 1) / 2 * (i % 2 == 0 ? 1 : -1)) % textures.length; int index = (cursor + j) % textures.length; Texture tex = textures[index]; if (tex != null) { double x = getEntryX(j); double y = getEntryY(j); float k = (float) (.75 + .125 * (y + 1)); k *= k; //float colk = (float)(.5*(y+1)); gl.glColor4f(1, 1, 1, alpha * k); float x0 = (float) (.5 * (Gdx.graphics.getWidth() - k * tex.width()) + x * Gdx.graphics.getWidth() / 4); float y0 = (float) (.5 * (Gdx.graphics.getHeight() - k * tex.height()) + y * Gdx.graphics.getHeight() / 5); tex.bind(); GfxUtils.fillQuad(x0, y0, 0, 0, x0 + k * tex.width(), y0 + k * tex.height(), 1, 1); } } } gl.glMatrixMode(GL10.GL_PROJECTION); gl.glPopMatrix(); gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glPopMatrix(); gl.glEnable(GL10.GL_DEPTH_TEST); gl.glDisable(GL10.GL_TEXTURE_2D); }