77 lines
2.3 KiB
Java
77 lines
2.3 KiB
Java
package io.github.hydos.ginger.engine.render.texture;
|
|
|
|
import org.lwjgl.opengl.*;
|
|
|
|
public class ModelTexture
|
|
{
|
|
private int textureID = GL11.glGenTextures();
|
|
private boolean transparency = false;
|
|
private boolean useFakeLighting = false;
|
|
public int numberOfRows = 1;
|
|
private int normalMap;
|
|
private float shineDamper = 1;
|
|
private float reflectivity = 0;
|
|
private Image texture;
|
|
|
|
public ModelTexture(String file)
|
|
{
|
|
texture = Image.createImage("/textures/" + file);
|
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.textureID);
|
|
GL11.glTexParameterf(GL11.GL_TEXTURE_2D, 10241, 9729.0f);
|
|
GL11.glTexParameterf(GL11.GL_TEXTURE_2D, 10240, 9729.0f);
|
|
GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA, texture.getWidth(), texture.getHeight(), 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, texture.getImage());
|
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
|
|
GL30.glGenerateMipmap(GL11.GL_TEXTURE_2D);
|
|
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR_MIPMAP_LINEAR);
|
|
GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL14.GL_TEXTURE_LOD_BIAS, -0.4f);
|
|
}
|
|
|
|
public ModelTexture(Image texture)
|
|
{
|
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.textureID);
|
|
GL11.glTexParameterf(GL11.GL_TEXTURE_2D, 10241, 9729.0f);
|
|
GL11.glTexParameterf(GL11.GL_TEXTURE_2D, 10240, 9729.0f);
|
|
GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, 6408, texture.getWidth(), texture.getHeight(), 0, 6408, 5121, texture.getImage());
|
|
GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
|
|
}
|
|
|
|
public void remove()
|
|
{ GL11.glDeleteTextures(this.textureID); }
|
|
|
|
public int getTextureID()
|
|
{ return this.textureID; }
|
|
|
|
public Image getTexture()
|
|
{ return texture; }
|
|
|
|
public int getNormalMap()
|
|
{ return normalMap; }
|
|
|
|
public void setNormalMap(int normalMap)
|
|
{ this.normalMap = normalMap; }
|
|
|
|
public float getShineDamper()
|
|
{ return shineDamper; }
|
|
|
|
public float getReflectivity()
|
|
{ return reflectivity; }
|
|
|
|
public void setShineDamper(float shineDamper)
|
|
{ this.shineDamper = shineDamper; }
|
|
|
|
public void setReflectivity(float reflectivity)
|
|
{ this.reflectivity = reflectivity; }
|
|
|
|
public boolean isTransparent()
|
|
{ return transparency; }
|
|
|
|
public void setTransparency(boolean b)
|
|
{ this.transparency = b; }
|
|
|
|
public boolean isUseFakeLighting()
|
|
{ return useFakeLighting; }
|
|
|
|
public void useFakeLighting(boolean useFakeLighting)
|
|
{ this.useFakeLighting = useFakeLighting; }
|
|
}
|