本文整理汇总了Java中org.lwjgl.opengl.GL20.glUniform3f方法的典型用法代码示例。如果您正苦于以下问题:Java GL20.glUniform3f方法的具体用法?Java GL20.glUniform3f怎么用?Java GL20.glUniform3f使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.lwjgl.opengl.GL20
的用法示例。
在下文中一共展示了GL20.glUniform3f方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: loadVec3
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public void loadVec3(float x, float y, float z) {
if (!used || x != currentX || y != currentY || z != currentZ) {
this.currentX = x;
this.currentY = y;
this.currentZ = z;
used = true;
GL20.glUniform3f(super.getLocation(), x, y, z);
}
}
示例2: set
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
/** Set an array or individual float(s)
*
* @param uniform name of a uniform
* @param floats float(s) to set
*/
public void set(String uniform, float...floats){
if(floats.length == 1){
GL20.glUniform1f(getUniform(uniform), floats[0]);
}else if(floats.length == 2){
GL20.glUniform2f(getUniform(uniform), floats[0], floats[1]);
}else if(floats.length == 3){
GL20.glUniform3f(getUniform(uniform), floats[0], floats[1], floats[2]);
}else if(floats.length >= 4){
GL20.glUniform4f(getUniform(uniform), floats[0], floats[1], floats[2], floats[3]);
}
}
示例3: loadVec3
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public void loadVec3(float x, float y, float z) {
if (!used || x != currentX || y != currentY || z != currentZ) {
this.currentX = x;
this.currentY = y;
this.currentZ = z;
used = true;
GL20.glUniform3f(super.getLocation(), x, y, z);
}
}
示例4: loadVector
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
protected void loadVector(int location, Vector3f vector) {
GL20.glUniform3f(location, vector.x, vector.y, vector.z);
}
示例5: runShader
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public static void runShader() {
Minecraft mc = Minecraft.getMinecraft();
//TODO remove
if (Keyboard.isKeyDown(Keyboard.KEY_NUMPAD5)) {
destroyShader();
createShader();
}
//Use shader program
GL20.glUseProgram(shader.getShaderProgram());
//TODO third person view
Entity entity = mc.getRenderViewEntity();
float partialTicks = mc.getRenderPartialTicks();
double entityPosX = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double)partialTicks;
double entityPosY = entity.lastTickPosY + entity.getEyeHeight() + (entity.posY - entity.lastTickPosY) * (double)partialTicks;
double entityPosZ = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)partialTicks;
float fov = (float) Math.toRadians(mc.entityRenderer.getFOVModifier(partialTicks, true));
//Set uniform values
int texUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "tex");
GL20.glUniform1i(texUniform, 0);
int cameraPosUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "cameraPos");
GL20.glUniform3f(cameraPosUniform, (float)entityPosX%16, (float)entityPosY%16, (float)entityPosZ%16);
int cameraDirUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "cameraDir");
GL20.glUniform3f(cameraDirUniform, -(float)Math.toRadians(entity.rotationPitch), (float)Math.toRadians(180+entity.rotationYaw), 0);
int fovyUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "fovy");
GL20.glUniform1f(fovyUniform, fov);
int fovxUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "fovx");
GL20.glUniform1f(fovxUniform, fov*Display.getWidth()/(float)Display.getHeight());
int sphericalUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "spherical");
GL20.glUniform1i(sphericalUniform, RayTracerSettings.spherical ? 1 : 0);
int stereoscopicUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "stereoscopic3d");
GL20.glUniform1i(stereoscopicUniform, RayTracerSettings.stereoscopic ? 1 : 0);
int eyeWidthUniform = GL20.glGetUniformLocation(shader.getShaderProgram(), "eyeWidth");
GL20.glUniform1f(eyeWidthUniform, 0.063f); //TODO input eyeWidth option
if (!pauseRendering) {
if (worldLoader == null) {
worldLoader = new WorldLoader();
}
if (worldLoader.dimension != mc.world.provider.getDimension()) {
worldLoader.dimension = mc.world.provider.getDimension();
}
worldLoader.updateWorld(entityPosX, entityPosY, entityPosZ, shader);
//Setup view
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glPushMatrix();
GL11.glLoadIdentity();
GL11.glOrtho(-1, 1, -1, 1, -1, 1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glPushMatrix();
GL11.glLoadIdentity();
//Bind vbo and texture
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, shader.getVbo());
GL20.glEnableVertexAttribArray(0);
GL20.glVertexAttribPointer(0, 2, GL11.GL_BYTE, false, 0, 0L);
GL11.glBindTexture(GL11.GL_TEXTURE_2D, 8);
//Render
GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, 6);
//Reset vbo and texture
GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
GL20.glDisableVertexAttribArray(0);
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
//Reset view
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glPopMatrix();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glPopMatrix();
}
//Stop using shader program
GL20.glUseProgram(0);
}
示例6: loadVector
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
protected void loadVector(final int location, final Vector3f vector) {
GL20.glUniform3f(location, vector.x, vector.y, vector.z);
}
示例7: loadData
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public void loadData(Vector3f value) {
GL20.glUniform3f(uniformLocation, value.x, value.y, value.z);
}
示例8: setUniform
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public void setUniform(String uniformName, Vector3fc vec)
{
GL20.glUniform3f(this.findUniformLocation(uniformName), vec.x(), vec.y(), vec.z());
}
示例9: apply
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
@Override
public void apply(Program program, Vector3fc value)
{
int location = program.findUniformLocation(this.getName());
GL20.glUniform3f(location, value.x(), value.y(), value.z());
}
示例10: loadVector3f
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public void loadVector3f(int location, Vector3f vector) {
GL20.glUniform3f(location, vector.x, vector.y, vector.z);
}
示例11: setVector
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
public void setVector(String label, Vector3f value) {
GL20.glUniform3f(getUniform(label), value.x, value.y, value.z);
}
示例12: loadVector
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
protected void loadVector(int location, Vector3f vector) {
GL20.glUniform3f(location, vector.x, vector.y, vector.z);
}
示例13: setUniform
import org.lwjgl.opengl.GL20; //导入方法依赖的package包/类
/**
* Sets the specified uniform with the specified value
* @param uniform
* @param value The Vector3f value
*/
public void setUniform(String uniform, Vector3f value) {
GL20.glUniform3f(uniforms.get(uniform), value.x, value.y, value.z);
}