List of usage examples for com.badlogic.gdx.graphics.glutils ShaderProgram end
public void end()
From source file:airfoil.Main.java
License:Open Source License
protected final void renderMeshTriangles(Mesh mesh) { final ShaderProgram bodyShader = this.bodyShader; if (null != bodyShader) { if (null != mesh) { final Matrix4 camera = this.getCamera(); bodyShader.begin();/*w w w .j a v a 2 s. co m*/ bodyShader.setUniformMatrix("u_camera", camera); bodyShader.setUniformf("u_color", Color.YELLOW); bodyShader.setUniformf("u_light", LightNormal); bodyShader.setUniformf("u_mat", Material); mesh.render(bodyShader, GL20.GL_TRIANGLES); bodyShader.end(); } } }
From source file:airfoil.Main.java
License:Open Source License
protected final void renderMeshLines(Mesh mesh) { final ShaderProgram axesShader = this.axesShader; if (null != axesShader) { if (null != mesh) { final Matrix4 camera = this.getCamera(); axesShader.begin();//from w ww . j a va2s .co m axesShader.setUniformMatrix("u_camera", camera); axesShader.setUniformf("u_color", Color.YELLOW); axesShader.setUniformf("u_light", LightNormal); axesShader.setUniformf("u_mat", Material); mesh.render(axesShader, GL20.GL_LINES); axesShader.end(); } } }
From source file:com.box2dLight.box2dLight.LightMap.java
License:Apache License
public void render(Matrix4 combined, float x1, float x2, float y1, float y2) { boolean needed = rayHandler.lightRenderedLastFrame > 0; // this way lot less binding if (needed && rayHandler.blur) gaussianBlur();//from w ww. j av a 2 s.c om if (lightMapDrawingDisabled) { return; } frameBuffer.getColorBufferTexture().bind(0); // at last lights are rendered over scene if (rayHandler.shadows) { final Color c = rayHandler.ambientLight; ShaderProgram shader = shadowShader; if (RayHandler.isDiffuse) { shader = diffuseShader; shader.begin(); Gdx.gl20.glBlendFunc(GL20.GL_DST_COLOR, GL20.GL_SRC_COLOR); shader.setUniformf("ambient", c.r, c.g, c.b, c.a); } else { shader.begin(); Gdx.gl20.glBlendFunc(GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA); shader.setUniformf("ambient", c.r * c.a, c.g * c.a, c.b * c.a, 1f - c.a); } lightMapMesh.render(shader, GL20.GL_TRIANGLE_FAN); shader.end(); } else if (needed) { Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE); withoutShadowShader.begin(); // withoutShadowShader.setUniformi("u_texture", 0); lightMapMesh.render(withoutShadowShader, GL20.GL_TRIANGLE_FAN); withoutShadowShader.end(); } Gdx.gl20.glDisable(GL20.GL_BLEND); }
From source file:mobi.shad.s3lib.main.S3Gfx.java
License:Apache License
public static void drawMeshQuad(Texture texture, Texture texture2, ShaderProgram shader) { Gdx.gl20.glActiveTexture(GL20.GL_TEXTURE0); texture.bind();//from w w w .j a va 2 s.c om Gdx.gl20.glActiveTexture(GL20.GL_TEXTURE1); texture2.bind(); shader.begin(); shader.setUniformi("u_texture0", 0); shader.setUniformi("u_texture1", 1); mesh.render(shader, GL20.GL_TRIANGLES); shader.end(); }
From source file:mobi.shad.s3lib.main.S3Gfx.java
License:Apache License
public static void drawFlipMeshQuad(Texture texture, Texture texture2, ShaderProgram shader) { Gdx.gl20.glActiveTexture(GL20.GL_TEXTURE0); texture.bind();//www . j a v a 2 s. c o m Gdx.gl20.glActiveTexture(GL20.GL_TEXTURE1); texture2.bind(); shader.begin(); shader.setUniformi("u_texture0", 0); shader.setUniformi("u_texture1", 1); meshFlip.render(shader, GL20.GL_TRIANGLES); shader.end(); }
From source file:seventh.client.gfx.effects.ExplosionEffect.java
License:Open Source License
@Override public void update(TimeStep timeStep) { /* Always clear out the data, this will get * overridden by the next loop if the explosion * is active/*ww w . j a v a 2 s . c o m*/ */ for (int i = 0; i < this.instances.length; i++) { this.shaderData[i] = -0.1f; this.shaderData[i + 1] = -0.1f; this.shaderData[i + 2] = 0; } int activeCount = 0; for (int i = 0; i < this.instances.length; i++) { this.instances[i].update(timeStep); if (this.instances[i].isActive()) { this.instances[i].set(shaderData, activeCount++); } } ShaderProgram shader = ExplosionEffectShader.getInstance().getShader(); shader.begin(); shader.setUniform3fv("shockData", this.shaderData, 0, this.shaderData.length); shader.setUniformf("shockParams", 10.0f, 0.08f, 0.1f); shader.end(); }
From source file:seventh.client.gfx.ImageBasedLightSystem.java
License:Open Source License
@Override public void update(TimeStep timeStep) { ShaderProgram shader = this.shader.getShader(); shader.begin();/*w w w. ja v a2 s. c o m*/ { // this.ambientColor.set(0.3f, 0.3f, 0.4f); // this.ambientColor.set(0.9f, 0.9f, 0.9f); // this.ambientIntensity = 0.4f; shader.setUniformi("u_lightmap", 1); shader.setUniformf("ambientColor", ambientColor.x, ambientColor.y, ambientColor.z, ambientIntensity); shader.setUniformf("resolution", Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); } shader.end(); for (int i = 0; i < this.lights.size(); i++) { Light light = this.lights.get(i); light.update(timeStep); } }
From source file:seventh.client.gfx.Shader.java
License:Open Source License
public Shader end() { ShaderProgram shader = getShader(); shader.end(); return this; }
From source file:ve.ucv.ciens.ccg.nxtar.graphics.shaders.DirectionalLightPerPixelShader.java
License:Apache License
@Override public void render(Renderable renderable) { ShaderProgram program; int index;/* w ww. j a v a 2s .co m*/ boolean bonesEnabled; Vector3 lightPosition; Color diffuseLightColor; Color diffuseColor; Color specularColor; Color ambientColor; float shininess; // Get material colors. if (renderable.environment != null && renderable.environment.directionalLights != null && renderable.environment.directionalLights.size >= 1) { lightPosition = renderable.environment.directionalLights.get(0).direction; diffuseLightColor = renderable.environment.directionalLights.get(0).color; } else { lightPosition = DEFAULT_LIGHT; diffuseLightColor = Color.WHITE; } if (renderable.material.has(ColorAttribute.Diffuse)) diffuseColor = ((ColorAttribute) renderable.material.get(ColorAttribute.Diffuse)).color; else diffuseColor = Color.WHITE; if (renderable.material.has(ColorAttribute.Specular)) specularColor = ((ColorAttribute) renderable.material.get(ColorAttribute.Specular)).color; else specularColor = Color.BLACK; if (renderable.environment != null && renderable.environment.has(ColorAttribute.AmbientLight)) ambientColor = ((ColorAttribute) renderable.environment.get(ColorAttribute.AmbientLight)).color; else ambientColor = Color.BLACK; if (renderable.material.has(FloatAttribute.Shininess)) shininess = ((FloatAttribute) renderable.material.get(FloatAttribute.Shininess)).value; else shininess = DEFAULT_SHININESS; if (renderable.mesh.getVertexAttribute(VertexAttributes.Usage.BoneWeight) != null) { program = skinningProgram; index = 0; bonesEnabled = true; } else { program = baseProgram; index = 1; bonesEnabled = false; } program.begin(); // Set camera dependant uniforms. program.setUniformMatrix(u_projTrans[index], this.camera.combined); program.setUniformf(u_cameraPos[index], this.camera.position); // Set model dependant uniforms. program.setUniformMatrix(u_geomTrans[index], renderable.worldTransform); program.setUniformMatrix(u_normalMatrix[index], normalMatrix.set(renderable.worldTransform).toNormalMatrix()); program.setUniformf(u_lightPos[index], lightPosition); program.setUniformf(u_lightDiffuse[index], diffuseLightColor); program.setUniformf(u_materialDiffuse[index], diffuseColor); program.setUniformf(u_specular[index], specularColor); program.setUniformf(u_ambient[index], ambientColor); program.setUniformf(u_shiny[index], shininess); // Set the bones uniforms. if (bonesEnabled) { for (int i = 0; i < MAX_NUM_BONES; i++) { if (renderable.bones != null && i < renderable.bones.length && renderable.bones[i] != null) skinningProgram.setUniformMatrix(u_bones[i], renderable.bones[i]); else skinningProgram.setUniformMatrix(u_bones[i], IDENTITY); } } renderable.mesh.render(program, renderable.primitiveType, renderable.meshPartOffset, renderable.meshPartSize); program.end(); }