Example usage for org.lwjgl.opengl GL11 glMatrixMode

List of usage examples for org.lwjgl.opengl GL11 glMatrixMode

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL11 glMatrixMode.

Prototype

public static native void glMatrixMode(@NativeType("GLenum") int mode);

Source Link

Document

Set the current matrix mode.

Usage

From source file:zildo.fwk.gfx.filter.BlendFilter.java

License:Open Source License

@Override
public boolean renderFilter() {
    int currentSquareSize = getCurrentSquareSize();

    if (currentSquareSize == 1) {
        return true;
    }//from   ww  w.  j  ava 2s. c  om
    fbo.endRendering();

    // Get on top of screen and disable blending
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glLoadIdentity();
    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glPushMatrix();
    GL11.glTranslatef(0, -sizeY, 0);

    GL11.glColor3f(1f, 1f, 1f);

    // Draw squares
    int nSquareX = Zildo.viewPortX / currentSquareSize;
    int nSquareY = Zildo.viewPortY / currentSquareSize;
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, textureID);

    GL11.glBegin(GL11.GL_QUADS);
    for (int i = 0; i < nSquareY + 1; i++) {
        for (int j = 0; j < nSquareX + 1; j++) {
            ClientEngineZildo.ortho.boxTexturedOpti(j * currentSquareSize, i * currentSquareSize,
                    currentSquareSize, currentSquareSize, (j * currentSquareSize) / (float) ScreenFilter.realX,
                    (i * currentSquareSize) / (float) ScreenFilter.realY, 0, 0);
        }
    }
    GL11.glEnd();
    GL11.glPopMatrix();

    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glDisable(GL11.GL_BLEND);

    return true;
}

From source file:zildo.fwk.gfx.filter.BlurFilter.java

License:Open Source License

@Override
public boolean renderFilter() {

    boolean result = true;

    fbo.endRendering();// w w w .  j a  v  a2  s.co  m

    // Get on top of screen and disable blending
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glLoadIdentity();
    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glPushMatrix();
    GL11.glTranslatef(0, -sizeY, 0);

    //GL11.glDisable(GL11.GL_BLEND);

    if (nImagesSaved < nImages) {
        // All images are not stored yet. So we just display the current one.
        nImagesSaved++;
        GL11.glBindTexture(GL11.GL_TEXTURE_2D, texBuffer[currentImage]);
        super.render();
        result = false;
    } else {
        super.focusOnZildo();

        // Draw each image, with intensified colors
        for (int i = 0; i < nImages; i++) {
            float coeff = startCoeff + i * (incCoeff / nImages);
            GL11.glColor4f(coeff, coeff, coeff, 1.0f);
            GL11.glBindTexture(GL11.GL_TEXTURE_2D, texBuffer[(i + currentImage + 1) % nImages]);
            super.render();
            if (i == 0) {
                // Enable blend from second one
                GL11.glEnable(GL11.GL_BLEND);
                GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); //_MINUS_SRC_ALPHA);
            }
        }

    }

    GL11.glPopMatrix();

    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glDisable(GL11.GL_BLEND);

    // Switch
    currentImage = (currentImage + 1) % nImages;

    return result;
}

From source file:zildo.fwk.gfx.filter.CircleFilter.java

License:Open Source License

@Override
public boolean renderFilter() {

    // Get on top of screen and disable blending
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glLoadIdentity();// w ww .  j  a  v  a  2  s.c o m
    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glPushMatrix();
    GL11.glTranslatef(0, -sizeY, 1);

    GL11.glColor3f(1f, 1f, 1f);

    GL11.glBindTexture(GL11.GL_TEXTURE_2D, textureID);

    GL11.glBegin(GL11.GL_QUADS);
    int radius = (int) (coeffLevel * (255 - getFadeLevel())); // + 20;
    int radiusSquare = (int) Math.pow(radius, 2);
    int col = 0;

    int sizeA = center.y - radius;
    int sizeB = Zildo.viewPortY - (center.y + radius);

    // 1) Draw the two areas outside the circle
    if (sizeA > 0) {
        ClientEngineZildo.ortho.boxOpti(0, 0, Zildo.viewPortX, sizeA, 2, null);
    }
    if (sizeB > 0) {
        ClientEngineZildo.ortho.boxOpti(0, center.y + radius, Zildo.viewPortX, sizeB, 2, null);
    }

    // 2) Draw the circle area
    int startI = Math.max(0, sizeA);
    int endI = Math.min(Zildo.viewPortY, center.y + radius);

    for (int i = startI; i < endI; i++) {
        int start = (int) Math.pow(i - center.y, 2);

        // Calculate DELTA and 2 roots x1 & x2
        double delta = 4 * (radiusSquare - start);
        double squareRootDelta = Math.sqrt(delta);
        int x1 = (int) (center.x - squareRootDelta / 2);
        int x2 = (int) (center.x + squareRootDelta / 2);
        ClientEngineZildo.ortho.boxOpti(0, i, x1, 1, col, null);
        ClientEngineZildo.ortho.boxOpti(x2, i, Zildo.viewPortX - x2, 1, col, null);
    }
    GL11.glEnd();
    GL11.glPopMatrix();

    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glDisable(GL11.GL_BLEND);

    return true;
}

From source file:zildo.fwk.gfx.filter.CloudFilter.java

License:Open Source License

@Override
public boolean renderFilter() {

    super.startInitialization();
    updateTile(0, 0, u, v, Reverse.NOTHING);
    this.endInitialization();

    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glLoadIdentity();// w  ww  .jav a  2s .c o m
    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glPushMatrix();
    GL11.glTranslatef(0, -sizeY, 1);

    GL11.glColor3f(1.0f, 1.0f, 1.0f);
    float colorFactor = 0.2f;
    GL11.glColor4f(colorFactor, colorFactor, colorFactor, 0.1f);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_ZERO, GL11.GL_ONE_MINUS_SRC_COLOR);

    GL11.glBindTexture(GL11.GL_TEXTURE_2D, ClientEngineZildo.tileEngine.texCloudId);
    super.render();

    GL11.glDisable(GL11.GL_BLEND);

    GL11.glPopMatrix();

    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    return true;
}

From source file:zildo.fwk.gfx.Ortho.java

License:Open Source License

public void setOrthographicProjection(boolean p_zoom) {
    if (!orthoSetUp) {
        // switch to projection mode
        GL11.glMatrixMode(GL11.GL_PROJECTION);
        // save previous matrix which contains the
        // settings for the perspective projection
        GL11.glPushMatrix();//from   www. ja  va  2 s  .  c  o  m
        // reset matrix
        GL11.glLoadIdentity();
        // set a 2D orthographic projection
        if (p_zoom) {
            GL11.glOrtho(0, w / 2, 0, h / 2, -99999, 99999);
            GL11.glTranslatef(0, -h / 2, 0);
        } else {
            GL11.glOrtho(0, w, 0, h, -99999, 99999);
        }
        // invert the y axis, down is positive
        // GL11.glScalef(1, -1, 1);
        // GL11.glDisable(GL11.GL_DEPTH_TEST);
        GL11.glDisable(GL11.GL_CULL_FACE);
        GL11.glDisable(GL11.GL_BLEND);
        GL11.glDisable(GL11.GL_ALPHA_TEST);
        // mover the origin from the bottom left corner
        // to the upper left corner
        GL11.glTranslatef(0, h, 0);
        GL11.glMatrixMode(GL11.GL_MODELVIEW);

        orthoSetUp = true;
    }
}

From source file:zildo.fwk.gfx.Ortho.java

License:Open Source License

public void resetPerspectiveProjection() {
    if (orthoSetUp) {
        GL11.glMatrixMode(GL11.GL_PROJECTION);
        GL11.glPopMatrix();//  w  w  w  .  ja v  a2  s  . c o m
        GL11.glMatrixMode(GL11.GL_MODELVIEW);

        orthoSetUp = false;
    }
}

From source file:zildo.fwk.gfx.Ortho.java

License:Open Source License

/**
 * Initialize the right matrix to draw quads, and do a glBegin.
 * //from www. j  a  v a  2s. co m
 * @param withTexture
 */
public void initDrawBox(boolean withTexture) {
    // On se met au premier plan et on annule le texturing
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glPushMatrix();
    GL11.glTranslatef(0, 0, 1);
    if (!withTexture) {
        GL11.glDisable(GL11.GL_TEXTURE_2D);
    }
    GL11.glBegin(GL11.GL_QUADS);
}

From source file:zildo.platform.engine.LwjglTileEngine.java

License:Open Source License

@Override
public void render(int floor, boolean backGround) {

    if (initialized) {
        Vector3f ambient = ClientEngineZildo.ortho.getAmbientColor();
        if (ambient != null) {
            GL11.glColor3f(ambient.x, ambient.y, ambient.z);
        }/* w  ww  .  ja v  a  2s  .co m*/

        Point p = ClientEngineZildo.mapDisplay.getCamera();
        GL11.glMatrixMode(GL11.GL_MODELVIEW);

        GL11.glPushMatrix();
        GL11.glTranslatef(-p.x, -p.y, 0f);

        if (backGround) {
            // Display BACKGROUND
            GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            GL11.glEnable(GL11.GL_BLEND);
            meshBACK.render(floor, texBinder);
            meshBACK2.render(floor, texBinder);
            GL11.glDisable(GL11.GL_BLEND);
        } else {
            // Display FOREGROUND
            GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
            GL11.glEnable(GL11.GL_BLEND);

            meshFORE.render(floor, texBinder);

            GL11.glDisable(GL11.GL_BLEND);
        }

        // GL11.glColor3f(1f, 1f, 1f);
        GL11.glPopMatrix();
    }
}

From source file:zildo.platform.filter.LwjglBilinearFilter.java

License:Open Source License

@Override
public boolean renderFilter() {
    graphicStuff.fbo.endRendering();/*from   ww w.  java  2  s .com*/

    // Select right texture
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, textureID);
    // Disable blend
    GL11.glDisable(GL11.GL_BLEND);

    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glLoadIdentity();
    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glPushMatrix();
    GL11.glTranslatef(0, -sizeY, 1);

    // This filter is in charge to alter all screen colors
    Vector3f v = ClientEngineZildo.ortho.getFilteredColor();
    GL11.glColor3f(v.x, v.y, v.z);

    // Draw texture with depth
    super.render();

    // Reset full color
    GL11.glColor3f(1, 1, 1);

    GL11.glPopMatrix();

    GL11.glMatrixMode(GL11.GL_MODELVIEW);

    return true;
}

From source file:zildo.platform.filter.LwjglBlendFilter.java

License:Open Source License

@Override
public boolean renderFilter() {
    int currentSquareSize = getCurrentSquareSize();

    graphicStuff.fbo.endRendering();//from   w ww .ja  v  a  2  s  . c o  m

    // Get on top of screen and disable blending
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glLoadIdentity();
    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glPushMatrix();
    GL11.glTranslatef(0, -sizeY, 0);

    Vector3f v = ClientEngineZildo.ortho.getFilteredColor();
    GL11.glColor3f(v.x, v.y, v.z);

    // Draw squares
    int nSquareX = Zildo.viewPortX / currentSquareSize;
    int nSquareY = Zildo.viewPortY / currentSquareSize;
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, textureID);

    if (currentSquareSize == 1) { // Square size=1 means this effect is useless !
        super.render();
    } else {
        GL11.glBegin(GL11.GL_QUADS);

        for (int i = 0; i < nSquareY + 1; i++) {
            for (int j = 0; j < nSquareX + 1; j++) {
                ClientEngineZildo.ortho.boxTexturedOpti(j * currentSquareSize, i * currentSquareSize,
                        currentSquareSize, currentSquareSize,
                        (j * currentSquareSize) / (float) ScreenFilter.realX,
                        (i * currentSquareSize) / (float) ScreenFilter.realY, 0, 0);
            }
        }
        GL11.glEnd();
    }
    GL11.glPopMatrix();

    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glDisable(GL11.GL_BLEND);

    return true;
}