Example usage for org.lwjgl.opengl GL20 glUseProgram

List of usage examples for org.lwjgl.opengl GL20 glUseProgram

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL20 glUseProgram.

Prototype

public static void glUseProgram(@NativeType("GLuint") int program) 

Source Link

Document

Installs a program object as part of current rendering state.

Usage

From source file:ar.com.quark.backend.lwjgl.opengl.DesktopGLES20.java

License:Apache License

/**
 * {@inheritDoc}
 */
@Override
public void glUseProgram(int name) {
    GL20.glUseProgram(name);
}

From source file:br.com.perin.shaders.ShaderProgram.java

public void start() {
    GL20.glUseProgram(programId);
}

From source file:br.com.perin.shaders.ShaderProgram.java

public void stop() {
    GL20.glUseProgram(0);
}

From source file:cn.academy.ability.client.ui.CPBar.java

License:GNU General Public License

private void drawOverload(float overload) {
    //Draw plain background
    color4d(1, 1, 1, 0.8);//from  w ww  . ja  va  2s  .co  m
    RenderUtils.loadTexture(TEX_BACK_OVERLOAD);
    HudUtils.rect(WIDTH, HEIGHT);

    // Draw back
    color4d(1, 1, 1, 1);

    if (shaderLoaded) {
        shaderOverloaded.useProgram();
        shaderOverloaded.updateTexOffset((GameTimer.getTime() % 10000L) / 10000.0f);
    }

    GL13.glActiveTexture(GL13.GL_TEXTURE0 + 4);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    RenderUtils.loadTexture(TEX_MASK);

    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    RenderUtils.loadTexture(TEX_FRONT_OVERLOAD);

    final double x0 = 30, width2 = WIDTH - x0 - 20;
    HudUtils.rect(x0, 0, 0, 0, width2, HEIGHT, width2, HEIGHT);

    GL13.glActiveTexture(GL13.GL_TEXTURE0 + 4);
    GL11.glDisable(GL11.GL_TEXTURE_2D);
    GL13.glActiveTexture(GL13.GL_TEXTURE0);

    GL20.glUseProgram(0);

    // Highlight
    color4d(1, 1, 1, 0.3 + 0.35 * (Math.sin(GameTimer.getTime() / 200.0) + 1));
    RenderUtils.loadTexture(TEX_OVERLOAD_HIGHLIGHT);
    HudUtils.rect(WIDTH, HEIGHT);
}

From source file:cn.academy.ability.client.ui.CPBar.java

License:GNU General Public License

private void drawCPBar(float prog, boolean cantuse) {
    float pre_mAlpha = mAlpha;
    if (cantuse) {
        mAlpha *= 0.3f;//from   w  ww  .  java 2  s . c om
    }

    //We need a cut-angle effect so this must be done manually
    autoLerp(cpColors, prog);

    prog = 0.16f + prog * 0.8f;

    final double OFF = 103 * sin41, X0 = 47, Y0 = 30, WIDTH = 883, HEIGHT = 84;
    Tessellator t = Tessellator.instance;
    double len = WIDTH * prog, len2 = len - OFF;

    if (shaderLoaded) {
        shaderCPBar.useProgram();
    }

    GL13.glActiveTexture(GL13.GL_TEXTURE0 + 4);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    RenderUtils.loadTexture(overlayTexture);

    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    RenderUtils.loadTexture(TEX_CP);

    t.startDrawingQuads();
    addVertex(X0 + (WIDTH - len), Y0);
    addVertex(X0 + (WIDTH - len2), Y0 + HEIGHT);
    addVertex(X0 + WIDTH, Y0 + HEIGHT);
    addVertex(X0 + WIDTH, Y0);
    t.draw();

    GL20.glUseProgram(0);

    GL13.glActiveTexture(GL13.GL_TEXTURE0 + 4);
    GL11.glDisable(GL11.GL_TEXTURE_2D);
    GL13.glActiveTexture(GL13.GL_TEXTURE0);

    mAlpha = pre_mAlpha;
}

From source file:cn.academy.ability.client.ui.KeyHintUI.java

License:GNU General Public License

private void drawSingle(int keyCode, KeyDelegate c, SkillCooldown data) {
    ResourceLocation icon = c.getIcon();

    // Back/*  w  w  w  .  j ava 2  s  . c o  m*/
    RenderUtils.loadTexture(TEX_BACK);
    color4d(1, 1, 1, 1);
    HudUtils.rect(122, 0, 185, 83);

    IFont font = Resources.font();

    // KeyHint
    {
        double wx = 180, wy = 27;
        if (!canUseAbility || data.getTickLeft() > 0) {
            color4d(0.7, 0.7, 0.7, 1);
            ShaderMono.instance().useProgram();
        }

        if (keyCode >= 0) {
            String name = Keyboard.getKeyName(keyCode);
            if (name.length() <= 2) { //Short preference
                drawBack(TEX_KEY_SHORT);
            } else {
                drawBack(TEX_KEY_LONG);
            }

            font.draw(name, wx, wy, option);
        } else {

            if (keyCode == KeyManager.MOUSE_LEFT) {
                drawBack(TEX_MOUSE_L);
            } else if (keyCode == KeyManager.MOUSE_RIGHT) {
                drawBack(TEX_MOUSE_R);
            } else {
                drawBack(TEX_MOUSE_GENERIC);
                font.draw("" + (keyCode + 100), wx, wy, option);
            }

        }

        color4d(1, 1, 1, 1);
    }

    // Logo
    color4d(1, 1, 1, 1);
    RenderUtils.loadTexture(TEX_ICON_BACK);
    HudUtils.rect(216, 5, 72, 72);

    DelegateState state = c.getState();
    float prog = (float) data.getTickLeft() / data.getMaxTick();

    float thisSinAlpha = (state.sinEffect ? sinAlpha : 1);

    float alpha;
    if (prog == 0.0f) {
        alpha = state.alpha * (0.4f + thisSinAlpha * 0.6f);
    } else {
        alpha = 0.4f;
    }

    final double ICON_SIZE = 62;
    color4d(1, 1, 1, alpha);
    RenderUtils.loadTexture(icon);
    HudUtils.rect(221, 10, ICON_SIZE, ICON_SIZE);

    double prevA = state.glowColor.a;
    state.glowColor.a *= thisSinAlpha;
    ACRenderingHelper.drawGlow(221, 10, ICON_SIZE, ICON_SIZE, 5, state.glowColor);
    state.glowColor.a = prevA;

    GL20.glUseProgram(0);

    if (prog != 0) {
        color4d(0.6, 0.6, 0.6, .3);
        HudUtils.colorRect(221, 10 + ICON_SIZE * (1 - prog), ICON_SIZE, ICON_SIZE * prog);
    }
}

From source file:cn.academy.core.client.render.ray.RendererRayGlow.java

License:GNU General Public License

@Override
protected void draw(T ray, Vec3 start, Vec3 end, Vec3 dir) {
    if (RenderUtils.isInShadowPass()) {
        return;//from w ww .  j a  v  a 2s  . com
    }

    glDisable(GL_CULL_FACE);
    glAlphaFunc(GL_GREATER, 0.05f);
    glEnable(GL_BLEND);
    ShaderSimple.instance().useProgram();

    Tessellator t = Tessellator.instance;

    Vec3 look = VecUtils.subtract(end, start).normalize();

    end = VecUtils.add(end, VecUtils.multiply(look, endFix));
    start = VecUtils.add(start, VecUtils.multiply(look, startFix));

    Vec3 mid1 = VecUtils.add(start, VecUtils.multiply(look, width));
    Vec3 mid2 = VecUtils.add(end, VecUtils.multiply(look, -width));

    double preA = color.a;
    color.a = preA * ray.getAlpha() * ray.getGlowAlpha();
    color.bind();
    color.a = preA;

    double width = this.width * ray.getWidth();

    RenderUtils.loadTexture(blendIn);
    this.drawBoard(start, mid1, dir, width);

    RenderUtils.loadTexture(tile);
    this.drawBoard(mid1, mid2, dir, width);

    RenderUtils.loadTexture(blendOut);
    this.drawBoard(mid2, end, dir, width);

    GL20.glUseProgram(0);
    glEnable(GL_CULL_FACE);
    glAlphaFunc(GL_GEQUAL, 0.1f);
}

From source file:cn.academy.core.client.render.shader.ShaderMask.java

License:GNU General Public License

private ShaderMask() {
    this.linkShader(Resources.getShader("mask.vert"), GL20.GL_VERTEX_SHADER);
    this.linkShader(Resources.getShader("mask.frag"), GL20.GL_FRAGMENT_SHADER);
    this.compile();
    this.useProgram();
    GL20.glUniform1i(this.getUniformLocation("texture"), 0);
    GL20.glUniform1i(this.getUniformLocation("mask"), MASK_TEXID);
    GL20.glUseProgram(0);
}

From source file:cn.academy.core.client.render.shader.ShaderMask.java

License:GNU General Public License

public void end() {
    GL13.glActiveTexture(GL13.GL_TEXTURE0 + MASK_TEXID);
    GL11.glDisable(GL11.GL_TEXTURE_2D);
    GL13.glActiveTexture(GL13.GL_TEXTURE0);
    GL20.glUseProgram(0);
}

From source file:cn.academy.support.nei.FusorRecipeHandler.java

License:GNU General Public License

@Override
public void drawBackground(int recipe) {
    ShaderMono.instance().useProgram();//from w w  w.  ja va  2s.  c  o  m
    RenderUtils.loadTexture(new ResourceLocation(getGuiTexture()));
    HudUtils.rect(24.5f, 0, 0, 0, 115, 66, 115, 66);
    GL20.glUseProgram(0);
}