List of usage examples for org.lwjgl.opengl GL20 glGetUniformLocation
@NativeType("GLint") public static int glGetUniformLocation(@NativeType("GLuint") int program, @NativeType("GLchar const *") CharSequence name)
From source file:org.terasology.rendering.assets.Material.java
License:Apache License
public void setFloat3(String desc, float f1, float f2, float f3) { if (isDisposed()) return;/*from w w w .j ava 2s. c o m*/ enable(); int id = GL20.glGetUniformLocation(shaderProgram, desc); if (id != -1) { GL20.glUniform3f(id, f1, f2, f3); } }
From source file:org.terasology.rendering.assets.Material.java
License:Apache License
public void setFloat4(String desc, float f1, float f2, float f3, float f4) { if (isDisposed()) return;/*from w w w . j a v a2 s . c o m*/ enable(); int id = GL20.glGetUniformLocation(shaderProgram, desc); if (id != -1) { GL20.glUniform4f(id, f1, f2, f3, f4); } }
From source file:org.terasology.rendering.assets.Material.java
License:Apache License
public void setInt(String desc, int i) { if (isDisposed()) return;/*from w w w.java2 s. com*/ enable(); int id = GL20.glGetUniformLocation(shaderProgram, desc); if (id != -1) { GL20.glUniform1i(id, i); } }
From source file:org.terasology.rendering.assets.Material.java
License:Apache License
public void setFloat1(String desc, FloatBuffer buffer) { if (isDisposed()) return;/*from w w w . jav a2s. c o m*/ enable(); int id = GL20.glGetUniformLocation(shaderProgram, desc); if (id != -1) { GL20.glUniform1(id, buffer); } }
From source file:org.terasology.rendering.assets.Material.java
License:Apache License
public void setFloat2(String desc, FloatBuffer buffer) { if (isDisposed()) return;//from w w w .j a va 2 s .c o m enable(); int id = GL20.glGetUniformLocation(shaderProgram, desc); if (id != -1) { GL20.glUniform2(id, buffer); } }
From source file:org.terasology.rendering.assets.Material.java
License:Apache License
public void setFloat3(String desc, FloatBuffer buffer) { if (isDisposed()) return;/* www. jav a 2s . c om*/ enable(); int id = GL20.glGetUniformLocation(shaderProgram, desc); if (id != -1) { GL20.glUniform3(id, buffer); } }
From source file:org.terasology.rendering.assets.Material.java
License:Apache License
public void setFloat4(String desc, FloatBuffer buffer) { if (isDisposed()) return;/* w w w . j a v a 2s . c o m*/ enable(); int id = GL20.glGetUniformLocation(shaderProgram, desc); if (id != -1) { GL20.glUniform4(id, buffer); } }
From source file:org.terasology.rendering.assets.Material.java
License:Apache License
public void setTexture(String desc, Texture texture) { if (isDisposed()) return;/*from w ww . j a v a 2s .co m*/ int texId = -1; if (bindMap.containsKey(desc)) { texId = bindMap.get(desc); } else { // TODO: do this initially, and try and have similar textures in similar slots for all materials. ParamMetadata metadata = shader.getParameter(desc); if (metadata == null) { return; } enable(); texId = textureIndex++; int id = GL20.glGetUniformLocation(shaderProgram, desc); GL20.glUniform1i(id, texId); bindMap.put(desc, texId); } textureMap.put(texId, texture); }
From source file:org.terasology.rendering.opengl.GLSLMaterial.java
License:Apache License
private int getUniformLocation(int activeShaderProgramId, String desc) { UniformId id = new UniformId(activeShaderProgramId, desc); if (uniformLocationMap.containsKey(id)) { return uniformLocationMap.get(id); }/*w w w . j av a 2s .co m*/ int loc = GL20.glGetUniformLocation(activeShaderProgramId, desc); uniformLocationMap.put(id, loc); return loc; }
From source file:org.terasology.rendering.particles.BlockParticle.java
License:Apache License
protected void renderParticle() { if (_displayLists[_blockType] == 0) { _displayLists[_blockType] = glGenLists(1); glNewList(_displayLists[_blockType], GL11.GL_COMPILE); drawParticle();//from www .j a v a2 s. c o m glEndList(); } float lightValue = _parent.getParent().getRenderingLightValueAt(_position); // Apply biome and overall color offset FloatBuffer colorBuffer = BufferUtils.createFloatBuffer(3); Vector4f color = BlockManager.getInstance().getBlock(_blockType).calcColorOffsetFor(Block.SIDE.FRONT, _parent.getParent().getActiveTemperature(), _parent.getParent().getActiveHumidity()); colorBuffer.put(color.x); colorBuffer.put(color.y); colorBuffer.put(color.z); colorBuffer.flip(); int colorOffset = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("particle"), "colorOffset"); int light = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("particle"), "light"); int texOffsetX = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("particle"), "texOffsetX"); int texOffsetY = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("particle"), "texOffsetY"); GL20.glUniform1f(light, lightValue * _lightOffset); GL20.glUniform1f(texOffsetX, _texOffsetX); GL20.glUniform1f(texOffsetY, _texOffsetY); GL20.glUniform3(colorOffset, colorBuffer); glCallList(_displayLists[_blockType]); }