1
0
Fork 0

add shaders, remove multi block layer

This commit is contained in:
Sen 2025-08-28 15:04:19 +02:00
parent 1e7ef94ceb
commit 563f235b2f
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
129 changed files with 1848 additions and 1486 deletions

View file

@ -30,8 +30,7 @@ import javax.imageio.ImageIO;
import javax.swing.JFileChooser; import javax.swing.JFileChooser;
import org.lwjgl.opengl.GL; import org.lwjgl.opengl.GL;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import client.audio.AudioInterface; import client.audio.AudioInterface;
import client.audio.MidiBank; import client.audio.MidiBank;
@ -63,6 +62,7 @@ import client.network.DummyConnection;
import client.renderer.Drawing; import client.renderer.Drawing;
import client.renderer.EffectRenderer; import client.renderer.EffectRenderer;
import client.renderer.Renderer; import client.renderer.Renderer;
import client.renderer.Shader;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.ItemRenderer; import client.renderer.ItemRenderer;
import client.renderer.blockmodel.ModelManager; import client.renderer.blockmodel.ModelManager;
@ -201,7 +201,7 @@ import common.world.World;
Gehäuse : Pappkarton, Bierkasten oder auch gar keins Gehäuse : Pappkarton, Bierkasten oder auch gar keins
Tastatur : Hlb fktonrnd odr bsr Tastatur : Hlb fktonrnd odr bsr
Maus : Aus Plastik oder mit extra Quietsch-Effekt Maus : Aus Plastik oder mit extra Quietsch-Effekt
Monitor : Olle Röhre oder gebrochener Flachbild (Mindestens 1280x800) Monitor : Olle Röhre oder gebrochener Flachbild (Mindestens 800x450)
Stuhl : Interessiert niemanden (sonst siehe Gehäuse) Stuhl : Interessiert niemanden (sonst siehe Gehäuse)
[[oder einfach einen Toaster mit nem LCD und Maus]] [[oder einfach einen Toaster mit nem LCD und Maus]]
@ -286,6 +286,12 @@ public class Client implements IThreadListener {
Client.CLIENT.setMidiDebug(); Client.CLIENT.setMidiDebug();
} }
} }
public static class MaxLightFunction implements IntFunction {
public void apply(IntVar cv, int value) {
Client.CLIENT.lightSetup();
}
}
private interface DebugRunner { private interface DebugRunner {
void execute(Keysym key); void execute(Keysym key);
@ -654,6 +660,36 @@ public class Client implements IThreadListener {
public boolean midiDebug = false; public boolean midiDebug = false;
@Variable(name = "mid_visualizer", category = CVarCategory.SOUND, display = "Visualisation") @Variable(name = "mid_visualizer", category = CVarCategory.SOUND, display = "Visualisation")
public boolean midiVisualizer = true; public boolean midiVisualizer = true;
@Variable(name = "gl_light_blend", category = CVarCategory.RENDER, min = 0.0f, max = 1.0f, precision = 2, unit = "%", display = "Lichtüberdeckung")
public float lightBlend = 0.5f;
@Variable(name = "gl_dynlight_maxdist", category = CVarCategory.RENDER, min = 1.0f, max = 10000.0f, display = "Entfernung Lichtq. -> Mitte")
public float lightDistVert = 128.0f;
@Variable(name = "gl_dynlight_viewdist", category = CVarCategory.RENDER, min = 1.0f, max = 10000.0f, display = "Entfernung Lichtq. -> Kamera")
public float lightDistCam = 256.0f;
public float ambientX = 0.1f;
public float ambientY = -1.0f;
public float ambientZ = 0.2f;
@Variable(name = "gl_dynlight_max", category = CVarCategory.RENDER, min = 0, max = 112, display = "Max. Dyn. Lichtquellen", callback = MaxLightFunction.class)
public int lightMaximum = 64;
@Variable(name = "gl_dynlight_chunkrange", category = CVarCategory.RENDER, min = 0, max = 64, display = "Lichtq. Sichtweite")
public int lightDistance = 8;
// int ldist_chunk_xz;
// int ldist_chunk_y;
// "gl_tex_filter", "Texturfilterung", tex_filter, true
// "gl_tex_mipmaps", "Mipmaps", tex_miptype, MIP_NONE, MIP_NEAREST, MIP_LINEAR, "off", "nearest", "linear", "Keine", "Nächster nachbar", "Linear interpoliert", MIP_LINEAR
// "gl_tex_anisotropic", "Anisotrope Filterung", tex_aniso, 1.0f (1.0f - 16.0f)
// float aniso_max;
// float tex_aniso;
//
// byte tex_miptype;
// byte tex_miplevel;
// byte tex_filter;
public static final Client CLIENT = new Client(); public static final Client CLIENT = new Client();
@ -805,22 +841,22 @@ public class Client implements IThreadListener {
this.textureManager.onReload(); this.textureManager.onReload();
this.soundManager = new SoundManager(this); this.soundManager = new SoundManager(this);
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.shadeModel(GL11.GL_SMOOTH); GlState.shadeModel(GL46.GL_SMOOTH);
GL11.glClearDepth(1.0D); GL46.glClearDepth(1.0D);
GlState.enableDepth(); GlState.enableDepth();
GlState.depthFunc(GL11.GL_LEQUAL); GlState.depthFunc(GL46.GL_LEQUAL);
GlState.enableAlpha(); GlState.enableAlpha();
GlState.alphaFunc(GL11.GL_GREATER, 0.1F); GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
GlState.cullFace(GL11.GL_BACK); GlState.cullFace(GL46.GL_BACK);
GlState.enableCull(); GlState.enableCull();
GL11.glMatrixMode(GL11.GL_PROJECTION); GL46.glMatrixMode(GL46.GL_PROJECTION);
GL11.glLoadIdentity(); GL46.glLoadIdentity();
GL11.glMatrixMode(GL11.GL_MODELVIEW); GL46.glMatrixMode(GL46.GL_MODELVIEW);
this.textureMap = new TextureMap(); this.textureMap = new TextureMap();
this.textureManager.loadTexture(TextureMap.BLOCKS, this.textureMap); this.textureManager.loadTexture(TextureMap.BLOCKS, this.textureMap);
this.textureManager.bindTexture(TextureMap.BLOCKS); this.textureManager.bindTexture(TextureMap.BLOCKS);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MIN_FILTER, GL46.GL_NEAREST);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MAG_FILTER, GL46.GL_NEAREST);
this.modelManager = new ModelManager(this.textureMap); this.modelManager = new ModelManager(this.textureMap);
this.modelManager.onReload(); this.modelManager.onReload();
this.renderItem = new RenderItem(this.textureManager, this.modelManager); this.renderItem = new RenderItem(this.textureManager, this.modelManager);
@ -1046,13 +1082,13 @@ public class Client implements IThreadListener {
} }
public void render() { public void render() {
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
GlState.enableDepth(); GlState.enableDepth();
GlState.clearColor(0.0f, 0.0f, 0.0f, 1.0f); GlState.clearColor(0.0f, 0.0f, 0.0f, 1.0f);
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); GL46.glClear(GL46.GL_COLOR_BUFFER_BIT | GL46.GL_DEPTH_BUFFER_BIT);
if(this.wireframe) { if(this.wireframe) {
GL11.glLineWidth(1.0f); GL46.glLineWidth(1.0f);
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE); GL46.glPolygonMode(GL46.GL_FRONT_AND_BACK, GL46.GL_LINE);
} }
if(this.open == null) { if(this.open == null) {
if(this.player != null && this.viewEntity == this.player) if(this.player != null && this.viewEntity == this.player)
@ -1065,18 +1101,18 @@ public class Client implements IThreadListener {
this.soundManager.setListener(this.player, (float)this.tickFraction); this.soundManager.setListener(this.player, (float)this.tickFraction);
if(this.player != null && (this.player.isEntityInsideOpaqueBlock() || this.viewEntity != this.player)) if(this.player != null && (this.player.isEntityInsideOpaqueBlock() || this.viewEntity != this.player))
this.thirdPersonView = 0; this.thirdPersonView = 0;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glClear(16640); GL46.glClear(16640);
GlState.enableTexture2D(); GlState.enableTexture2D();
if(this.world != null) if(this.world != null)
this.renderer.renderWorld((float)this.tickFraction, System.nanoTime() - this.tickStart); this.renderer.renderWorld((float)this.tickFraction, System.nanoTime() - this.tickStart);
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.disableCull(); GlState.disableCull();
GlState.enableBlend(); GlState.enableBlend();
if(this.wireframe) if(this.wireframe)
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL); GL46.glPolygonMode(GL46.GL_FRONT_AND_BACK, GL46.GL_FILL);
} }
private int drawStat(int x, int y, String name, int value, int max, int color) { private int drawStat(int x, int y, String name, int value, int max, int color) {
@ -1273,17 +1309,17 @@ public class Client implements IThreadListener {
} }
GlState.bindTexture(0); GlState.bindTexture(0);
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
GlState.enableTexture2D(); GlState.enableTexture2D();
if(this.world != null && this.open == null && this.player != null && this.viewEntity == this.player) { if(this.world != null && this.open == null && this.player != null && this.viewEntity == this.player) {
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GlState.enableBlend(); GlState.enableBlend();
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
ItemRenderer.enableGUIStandardItemLighting(); ItemRenderer.enableGUIStandardItemLighting();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0f, (float)by, 0.0f); GL46.glTranslatef(0.0f, (float)by, 0.0f);
if(this.scaleHotbar) if(this.scaleHotbar)
GL11.glScalef(2.0f, 2.0f, 2.0f); GL46.glScalef(2.0f, 2.0f, 2.0f);
int xPos = xoff; int xPos = xoff;
for(int index = 0; index < size; ++index) { for(int index = 0; index < size; ++index) {
@ -1291,12 +1327,12 @@ public class Client implements IThreadListener {
if(itemstack != null) { if(itemstack != null) {
if(width < 20 && selected != index && selected != index + 1 && index != size - 1) { if(width < 20 && selected != index && selected != index + 1 && index != size - 1) {
this.scissor(xPos * scale, this.fbY - (by + 16 * scale), (width - 1) * scale, 16 * scale); this.scissor(xPos * scale, this.fbY - (by + 16 * scale), (width - 1) * scale, 16 * scale);
GL11.glEnable(GL11.GL_SCISSOR_TEST); GL46.glEnable(GL46.GL_SCISSOR_TEST);
} }
GlState.enableDepth(); GlState.enableDepth();
this.renderItem.renderItemAndEffectIntoGUI(itemstack, xPos, 0); this.renderItem.renderItemAndEffectIntoGUI(itemstack, xPos, 0);
if(width < 20 && selected != index && selected != index + 1 && index != size - 1) if(width < 20 && selected != index && selected != index + 1 && index != size - 1)
GL11.glDisable(GL11.GL_SCISSOR_TEST); GL46.glDisable(GL46.GL_SCISSOR_TEST);
} }
xPos += width >= 20 || selected == index || selected == index + 1 ? 20 : width; xPos += width >= 20 || selected == index || selected == index + 1 ? 20 : width;
} }
@ -1308,16 +1344,16 @@ public class Client implements IThreadListener {
else if(this.pointed != null && this.pointed.type == ObjectType.ENTITY && this.pointed.entity != null) else if(this.pointed != null && this.pointed.type == ObjectType.ENTITY && this.pointed.entity != null)
item = this.pointed.entity.getItem(); item = this.pointed.entity.getItem();
if(item != null) { if(item != null) {
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)(this.fbX / 2 - 180 + 4 + 1), (float)(this.hudMargin + 20 + 1), 0.0f); GL46.glTranslatef((float)(this.fbX / 2 - 180 + 4 + 1), (float)(this.hudMargin + 20 + 1), 0.0f);
GL11.glScalef(2.0f, 2.0f, 2.0f); GL46.glScalef(2.0f, 2.0f, 2.0f);
GlState.enableDepth(); GlState.enableDepth();
this.renderItem.renderItemAndEffectIntoGUI(new ItemStack(item), 0, 0); this.renderItem.renderItemAndEffectIntoGUI(new ItemStack(item), 0, 0);
} }
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
ItemRenderer.disableStandardItemLighting(); ItemRenderer.disableStandardItemLighting();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GlState.disableBlend(); GlState.disableBlend();
@ -1386,8 +1422,8 @@ public class Client implements IThreadListener {
"Tickrate: %s%.2f" + Color.RESET + " %s [" + Color.GREEN + "%.1f" + Color.RESET + "], %.3f ms, E %d ms" + "Tickrate: %s%.2f" + Color.RESET + " %s [" + Color.GREEN + "%.1f" + Color.RESET + "], %.3f ms, E %d ms" +
"%s%s" "%s%s"
, ,
GL11.glGetString(GL11.GL_VERSION), GL46.glGetString(GL46.GL_VERSION),
GL11.glGetString(GL11.GL_RENDERER), GL11.glGetString(GL11.GL_VENDOR), GL46.glGetString(GL46.GL_RENDERER), GL46.glGetString(GL46.GL_VENDOR),
this.framecode(), this.framerate < 1.0f ? 1.0f / this.framerate : this.framerate, this.framerate < 1.0f ? "SPF" : "FPS", this.framecode(), this.framerate < 1.0f ? 1.0f / this.framerate : this.framerate, this.framerate < 1.0f ? "SPF" : "FPS",
this.vsync ? Color.DARK_GRAY + "VSYNC" : (this.syncLimited ? Color.GREEN + "" + this.syncLimit : Color.RED + "UNL"), this.vsync ? Color.DARK_GRAY + "VSYNC" : (this.syncLimited ? Color.GREEN + "" + this.syncLimit : Color.RED + "UNL"),
(float)PerfSection.getTotal(false) / 1000.0f, this.fbRawX, this.fbRawY, (float)PerfSection.getTotal(false) / 1000.0f, this.fbRawX, this.fbRawY,
@ -2072,7 +2108,7 @@ public class Client implements IThreadListener {
} }
private void fbsize(int x, int y) { private void fbsize(int x, int y) {
GL11.glViewport(0, 0, x, y); GL46.glViewport(0, 0, x, y);
this.fbRawX = x; this.fbRawX = x;
this.fbRawY = y; this.fbRawY = y;
this.rescale(); this.rescale();
@ -2209,9 +2245,6 @@ public class Client implements IThreadListener {
case POSITION: case POSITION:
pos(event.param1(), event.param2()); pos(event.param1(), event.param2());
break; break;
case REDRAW:
// redraw(); disable as it is pretty useless
break;
case RESIZE: case RESIZE:
fbsize(event.param1(), event.param2()); fbsize(event.param1(), event.param2());
break; break;
@ -2258,22 +2291,22 @@ public class Client implements IThreadListener {
public void setupOverlay() { public void setupOverlay() {
GlState.disableDepth(); GlState.disableDepth();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ONE_MINUS_SRC_ALPHA);
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
GlState.color(1.0f, 1.0f, 1.0f, 1.0f); GlState.color(1.0f, 1.0f, 1.0f, 1.0f);
GL11.glClear(256); GL46.glClear(256);
GL11.glMatrixMode(GL11.GL_PROJECTION); GL46.glMatrixMode(GL46.GL_PROJECTION);
GL11.glLoadIdentity(); GL46.glLoadIdentity();
GL11.glOrtho(0.0D, (double)this.fbRawX, (double)this.fbRawY, 0.0D, 1000.0D, 3000.0D); GL46.glOrtho(0.0D, (double)this.fbRawX, (double)this.fbRawY, 0.0D, 1000.0D, 3000.0D);
GL11.glMatrixMode(GL11.GL_MODELVIEW); GL46.glMatrixMode(GL46.GL_MODELVIEW);
GL11.glLoadIdentity(); GL46.glLoadIdentity();
GL11.glTranslatef(0.0F, 0.0F, -2000.0F); GL46.glTranslatef(0.0F, 0.0F, -2000.0F);
if(this.scale != 1) if(this.scale != 1)
GL11.glScalef((float)this.scale, (float)this.scale, 1.0f); GL46.glScalef((float)this.scale, (float)this.scale, 1.0f);
} }
public void scissor(int x, int y, int width, int height) { public void scissor(int x, int y, int width, int height) {
GL11.glScissor(x * this.scale, y * this.scale, width * this.scale, height * this.scale); GL46.glScissor(x * this.scale, y * this.scale, width * this.scale, height * this.scale);
} }
private void addFrame(long runningTime) private void addFrame(long runningTime)
@ -2312,13 +2345,14 @@ public class Client implements IThreadListener {
public void run(long time) { public void run(long time) {
if(!Window.createWindow(VERSION, System.getProperty("opengl.debug") != null)) if(!Window.createWindow(VERSION, System.getProperty("opengl.debug") != null))
System.exit(1); System.exit(1);
if(!GL.getCapabilities().OpenGL15) { GL.createCapabilities();
if(!GL.getCapabilities().OpenGL46) {
Window.destroyWindow(); Window.destroyWindow();
Util.panic("Inkompatible OpenGL-Version", "OpenGL 1.5 oder höher ist erforderlich, um dieses Programm auszuführen."); Util.panic("Inkompatible OpenGL-Version", "OpenGL 4.6 oder höher ist erforderlich, um dieses Programm auszuführen.");
} }
Log.SYSTEM.info("OpenGL %s", GL11.glGetString(GL11.GL_VERSION)); Log.SYSTEM.info("OpenGL %s", GL46.glGetString(GL46.GL_VERSION));
Log.SYSTEM.info("GL_VENDOR: %s", GL11.glGetString(GL11.GL_VENDOR)); Log.SYSTEM.info("GL_VENDOR: %s", GL46.glGetString(GL46.GL_VENDOR));
Log.SYSTEM.info("GL_RENDERER: %s", GL11.glGetString(GL11.GL_RENDERER)); Log.SYSTEM.info("GL_RENDERER: %s", GL46.glGetString(GL46.GL_RENDERER));
Log.SYSTEM.info("Starte ..."); Log.SYSTEM.info("Starte ...");
this.init(); this.init();
@ -2328,8 +2362,9 @@ public class Client implements IThreadListener {
Font.loadFonts(); Font.loadFonts();
Font.select(this.font); Font.select(this.font);
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
this.initConsole(); this.initConsole();
Shader.loadShaders();
this.startSound(true); this.startSound(true);
this.vidMode = Window.getDisplayMode(); this.vidMode = Window.getDisplayMode();
if(this.vidMode != null && (this.vidMode.width() < MIN_WIDTH || this.vidMode.height() < MIN_HEIGHT)) if(this.vidMode != null && (this.vidMode.width() < MIN_WIDTH || this.vidMode.height() < MIN_HEIGHT))
@ -2358,7 +2393,7 @@ public class Client implements IThreadListener {
Bind.updateBinds(); Bind.updateBinds();
this.input(); this.input();
Bind.enableInput(); Bind.enableInput();
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
GlState.bindTexture(0); GlState.bindTexture(0);
this.inputGui(); this.inputGui();
if(this.open != null) if(this.open != null)
@ -2375,7 +2410,7 @@ public class Client implements IThreadListener {
this.finish(); this.finish();
PerfSection.SWAP.enter(); PerfSection.SWAP.enter();
if(this.glFlush) if(this.glFlush)
GL11.glFlush(); GL46.glFlush();
Window.swapBuffers(); Window.swapBuffers();
PerfSection.EVENTS.enter(); PerfSection.EVENTS.enter();
Log.flushLog(); Log.flushLog();
@ -2399,6 +2434,7 @@ public class Client implements IThreadListener {
Log.flushLog(); Log.flushLog();
this.save(); this.save();
Font.unloadFonts(); Font.unloadFonts();
Shader.unloadShaders();
Window.destroyWindow(); Window.destroyWindow();
Log.SYSTEM.info("Beendet."); Log.SYSTEM.info("Beendet.");
} }
@ -2469,7 +2505,7 @@ public class Client implements IThreadListener {
this.saving = true; this.saving = true;
final int stride = ((this.fbRawX * 3) & 3) != 0 ? 4 + ((this.fbRawX * 3) & ~3) : (this.fbRawX * 3); final int stride = ((this.fbRawX * 3) & 3) != 0 ? 4 + ((this.fbRawX * 3) & ~3) : (this.fbRawX * 3);
final ByteBuffer data = ByteBuffer.allocateDirect(stride * this.fbRawY).order(ByteOrder.nativeOrder()); final ByteBuffer data = ByteBuffer.allocateDirect(stride * this.fbRawY).order(ByteOrder.nativeOrder());
GL11.glReadPixels(0, 0, this.fbRawX, this.fbRawY, GL11.GL_RGB, GL11.GL_UNSIGNED_BYTE, data); GL46.glReadPixels(0, 0, this.fbRawX, this.fbRawY, GL46.GL_RGB, GL46.GL_UNSIGNED_BYTE, data);
new Thread(new Runnable() { new Thread(new Runnable() {
public void run() { public void run() {
byte[] pixels = new byte[stride * Client.this.fbRawY]; byte[] pixels = new byte[stride * Client.this.fbRawY];
@ -3209,17 +3245,17 @@ public class Client implements IThreadListener {
private void renderWorldDirections(float partialTicks) { private void renderWorldDirections(float partialTicks) {
GlState.enableBlend(); GlState.enableBlend();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
GL11.glLineWidth(1.0F); GL46.glLineWidth(1.0F);
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.depthMask(false); GlState.depthMask(false);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)(this.fbX / 2), (float)(this.fbY / 2), 0.0F); GL46.glTranslatef((float)(this.fbX / 2), (float)(this.fbY / 2), 0.0F);
this.renderer.rotateCamera(this.viewEntity, partialTicks, true); this.renderer.rotateCamera(this.viewEntity, partialTicks, true);
Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 24D, 1D, 1D), 255, 0, 0, 255); Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 24D, 1D, 1D), 255, 0, 0, 255);
Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, 1D, 24D), 0, 0, 255, 255); Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, 1D, 24D), 0, 0, 255, 255);
Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, -20D, 1D), 0, 255, 0, 255); Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, -20D, 1D), 0, 255, 0, 255);
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.depthMask(true); GlState.depthMask(true);
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.disableBlend(); GlState.disableBlend();
@ -3775,6 +3811,14 @@ public class Client implements IThreadListener {
public List<TileEntity> getTiles() { public List<TileEntity> getTiles() {
return this.tiles; return this.tiles;
} }
public void lightSetup() {
Shader.WORLD.update();
// if(win->world) {
// glNamedBufferData(win->world->light_buf, LIGHT_SSIZE * gdr.light_max, NULL, GL_DYNAMIC_DRAW);
// light_calc(win->world);
// }
}
private static byte[] genTriwave(int w, int h, int color1, int color2, int color3, int color4, int color5, int color6) { private static byte[] genTriwave(int w, int h, int color1, int color2, int color3, int color4, int color5, int color6) {
byte[] data = new byte[w * h * 4]; byte[] data = new byte[w * h * 4];

View file

@ -4,7 +4,7 @@ import java.awt.image.BufferedImage;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.texture.TextureUtil; import client.renderer.texture.TextureUtil;
@ -110,7 +110,7 @@ public enum Font implements Identifyable, Displayable {
int[] data = new int[width * 16 * height * 16]; int[] data = new int[width * 16 * height * 16];
img.getRGB(0, 0, width * 16, height * 16, data, 0, width * 16); img.getRGB(0, 0, width * 16, height * 16, data, 0, width * 16);
calculate(data, font.sizes, width, height, 0); calculate(data, font.sizes, width, height, 0);
font.texture = GL11.glGenTextures(); font.texture = GL46.glGenTextures();
TextureUtil.uploadImage(font.texture, img); TextureUtil.uploadImage(font.texture, img);
Log.RENDER.debug("Font-Textur wurde mit ID #%d geladen", font.texture); Log.RENDER.debug("Font-Textur wurde mit ID #%d geladen", font.texture);
} }
@ -141,7 +141,7 @@ public enum Font implements Identifyable, Displayable {
public static void unloadFonts() { public static void unloadFonts() {
for(Font font : values()) { for(Font font : values()) {
if(font.texture != 0) { if(font.texture != 0) {
GL11.glDeleteTextures(font.texture); GL46.glDeleteTextures(font.texture);
Log.RENDER.debug("Font-Textur mit ID #%d wurde gelöscht", font.texture); Log.RENDER.debug("Font-Textur mit ID #%d wurde gelöscht", font.texture);
font.texture = 0; font.texture = 0;
} }

View file

@ -2,7 +2,7 @@ package client.gui;
import java.util.List; import java.util.List;
import org.lwjgl.opengl.GL13; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.gui.element.Dropdown; import client.gui.element.Dropdown;
@ -230,7 +230,7 @@ public abstract class Gui {
if(this.gm.fbX != 0 && this.gm.fbY != 0) if(this.gm.fbX != 0 && this.gm.fbY != 0)
this.draw(); this.draw();
GlState.bindTexture(0); GlState.bindTexture(0);
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.disableDepth(); GlState.disableDepth();
this.drawPost(); this.drawPost();

View file

@ -12,8 +12,7 @@ import java.util.List;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import client.Client; import client.Client;
import client.Client.FileMode; import client.Client.FileMode;
@ -614,41 +613,41 @@ public class GuiChar extends GuiList<GuiChar.SkinEntry>
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GlState.enableDepth(); GlState.enableDepth();
GlState.enableColorMaterial(); GlState.enableColorMaterial();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)posX, (float)posY, 200.0F); GL46.glTranslatef((float)posX, (float)posY, 200.0F);
GL11.glScalef(-scale, scale, scale); GL46.glScalef(-scale, scale, scale);
GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
float f = ent.yawOffset; float f = ent.yawOffset;
float f1 = ent.rotYaw; float f1 = ent.rotYaw;
float f2 = ent.rotPitch; float f2 = ent.rotPitch;
float f3 = ent.prevHeadYaw; float f3 = ent.prevHeadYaw;
float f4 = ent.headYaw; float f4 = ent.headYaw;
GL11.glRotatef(135.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(135.0F, 0.0F, 1.0F, 0.0F);
ItemRenderer.enableStandardItemLighting(); ItemRenderer.enableStandardItemLighting();
GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.0F, ent.height / 2, 0.0F); GL46.glTranslatef(0.0F, ent.height / 2, 0.0F);
GL11.glRotatef(-pitch, 1.0F, 0.0F, 0.0F); GL46.glRotatef(-pitch, 1.0F, 0.0F, 0.0F);
ent.yawOffset = yaw; ent.yawOffset = yaw;
ent.rotYaw = yaw; ent.rotYaw = yaw;
ent.rotPitch = 0.0f; ent.rotPitch = 0.0f;
ent.headYaw = ent.rotYaw; ent.headYaw = ent.rotYaw;
ent.prevHeadYaw = ent.rotYaw; ent.prevHeadYaw = ent.rotYaw;
GL11.glTranslatef(0.0F, -(ent.height / 2), 0.0F); GL46.glTranslatef(0.0F, -(ent.height / 2), 0.0F);
RenderManager rendermanager = Client.CLIENT.getRenderManager(); RenderManager rendermanager = Client.CLIENT.getRenderManager();
rendermanager.setPlayerViewY(180.0F); rendermanager.setPlayerViewY(180.0F);
rendermanager.renderEntity(ent, 0.0D, 0.0D, 0.0D, 1.0F); rendermanager.renderEntity(ent, 0.0D, 0.0D, 0.0D, 1.0F);
// GL11.glTranslatef(0.0F, 0.0F, 0.0F); // GL46.glTranslatef(0.0F, 0.0F, 0.0F);
ent.yawOffset = f; ent.yawOffset = f;
ent.rotYaw = f1; ent.rotYaw = f1;
ent.rotPitch = f2; ent.rotPitch = f2;
ent.prevHeadYaw = f3; ent.prevHeadYaw = f3;
ent.headYaw = f4; ent.headYaw = f4;
GL11.glPopMatrix(); GL46.glPopMatrix();
ItemRenderer.disableStandardItemLighting(); ItemRenderer.disableStandardItemLighting();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GlState.setActiveTexture(GL13.GL_TEXTURE1); GlState.setActiveTexture(GL46.GL_TEXTURE1);
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
GlState.disableDepth(); GlState.disableDepth();
} }
} }

View file

@ -7,8 +7,7 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.Map.Entry; import java.util.Map.Entry;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import client.Client; import client.Client;
import client.gui.Font; import client.gui.Font;
@ -333,10 +332,10 @@ public abstract class GuiContainer extends Gui
} }
if(this.gm.itemCheat) { if(this.gm.itemCheat) {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(-(float)((this.gm.fbX - this.xSize * this.container_scale) / 2) * (1.0f / (float)this.container_scale), -(float)((this.gm.fbY - this.ySize * this.container_scale) / 2) * (1.0f / (float)this.container_scale), 0.0f); GL46.glTranslatef(-(float)((this.gm.fbX - this.xSize * this.container_scale) / 2) * (1.0f / (float)this.container_scale), -(float)((this.gm.fbY - this.ySize * this.container_scale) / 2) * (1.0f / (float)this.container_scale), 0.0f);
if(this.container_scale != 1) if(this.container_scale != 1)
GL11.glScalef(1.0f / (float)this.container_scale, 1.0f / (float)this.container_scale, 1.0f / (float)this.container_scale); GL46.glScalef(1.0f / (float)this.container_scale, 1.0f / (float)this.container_scale, 1.0f / (float)this.container_scale);
int i = (ITEM_LIST.size() + this.cheatWidth - 1) / this.cheatWidth - this.cheatHeight; int i = (ITEM_LIST.size() + this.cheatWidth - 1) / this.cheatWidth - this.cheatHeight;
int j = (int)((double)(this.currentScroll * (float)i) + 0.5D); int j = (int)((double)(this.currentScroll * (float)i) + 0.5D);
@ -367,7 +366,7 @@ public abstract class GuiContainer extends Gui
{ {
this.drawTab(tabs); this.drawTab(tabs);
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }
@ -422,7 +421,7 @@ public abstract class GuiContainer extends Gui
this.theSlot = null; this.theSlot = null;
int k = 240; int k = 240;
int l = 240; int l = 240;
GL13.glMultiTexCoord2f(GL13.GL_TEXTURE1, (float)k / 1.0F, (float)l / 1.0F); GL46.glMultiTexCoord2f(GL46.GL_TEXTURE1, (float)k / 1.0F, (float)l / 1.0F);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
this.drawSlots(mouseX, mouseY); this.drawSlots(mouseX, mouseY);
@ -488,7 +487,7 @@ public abstract class GuiContainer extends Gui
private void drawItemStack(ItemStack stack, int x, int y, String altText) private void drawItemStack(ItemStack stack, int x, int y, String altText)
{ {
GL11.glTranslatef(0.0F, 0.0F, 32.0F); GL46.glTranslatef(0.0F, 0.0F, 32.0F);
this.itemRender.zLevel = 200.0F; this.itemRender.zLevel = 200.0F;
this.itemRender.renderItemAndEffectIntoGUI(stack, x, y); this.itemRender.renderItemAndEffectIntoGUI(stack, x, y);
this.drawnOverlays.add(new Overlay(stack, x, y, altText)); this.drawnOverlays.add(new Overlay(stack, x, y, altText));
@ -527,12 +526,12 @@ public abstract class GuiContainer extends Gui
} }
public void drawPost() { public void drawPost() {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)((this.gm.fbX - this.xSize * this.container_scale) / 2), (float)((this.gm.fbY - this.ySize * this.container_scale) / 2), 0.0f); GL46.glTranslatef((float)((this.gm.fbX - this.xSize * this.container_scale) / 2), (float)((this.gm.fbY - this.ySize * this.container_scale) / 2), 0.0f);
if(this.container_scale != 1) if(this.container_scale != 1)
GL11.glScalef((float)this.container_scale, (float)this.container_scale, (float)this.container_scale); GL46.glScalef((float)this.container_scale, (float)this.container_scale, (float)this.container_scale);
this.drawScreen((this.gm.mouseX - this.container_x) / this.container_scale, (this.gm.mouseY - this.container_y) / this.container_scale); this.drawScreen((this.gm.mouseX - this.container_x) / this.container_scale, (this.gm.mouseY - this.container_y) / this.container_scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
ItemRenderer.disableStandardItemLighting(); ItemRenderer.disableStandardItemLighting();
} }

View file

@ -1,6 +1,6 @@
package client.gui.container; package client.gui.container;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.gui.element.ActButton; import client.gui.element.ActButton;
import client.gui.element.ButtonCallback; import client.gui.element.ButtonCallback;
@ -96,7 +96,7 @@ public class GuiMerchant extends GuiContainer implements ButtonCallback {
ItemStack itemstack = merchantrecipe.first(); ItemStack itemstack = merchantrecipe.first();
ItemStack itemstack1 = merchantrecipe.second(); ItemStack itemstack1 = merchantrecipe.second();
ItemStack itemstack2 = merchantrecipe.result(); ItemStack itemstack2 = merchantrecipe.result();
GL11.glPushMatrix(); GL46.glPushMatrix();
ItemRenderer.enableGUIStandardItemLighting(); ItemRenderer.enableGUIStandardItemLighting();
GlState.disableLighting(); GlState.disableLighting();
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
@ -123,7 +123,7 @@ public class GuiMerchant extends GuiContainer implements ButtonCallback {
this.renderToolTip(itemstack2, mouseX, mouseY); this.renderToolTip(itemstack2, mouseX, mouseY);
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.enableLighting(); GlState.enableLighting();
GlState.enableDepth(); GlState.enableDepth();
ItemRenderer.enableStandardItemLighting(); ItemRenderer.enableStandardItemLighting();

View file

@ -1,6 +1,6 @@
package client.gui.element; package client.gui.element;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.gui.Formatter; import client.gui.Formatter;
@ -222,7 +222,7 @@ public abstract class Element {
int y2 = this.size_y - (this.margin_y1 + this.margin_y2); int y2 = this.size_y - (this.margin_y1 + this.margin_y2);
// if(elem.type == ElemType.FIELD) { // if(elem.type == ElemType.FIELD) {
this.gm.scissor(x1 < 0 ? 0 : x1, (this.gm.fbY - (y1 + y2)) < 0 ? 0 : (this.gm.fbY - (y1 + y2)), x2 < 0 ? 0 : x2, y2 < 0 ? 0 : y2); this.gm.scissor(x1 < 0 ? 0 : x1, (this.gm.fbY - (y1 + y2)) < 0 ? 0 : (this.gm.fbY - (y1 + y2)), x2 < 0 ? 0 : x2, y2 < 0 ? 0 : y2);
GL11.glEnable(GL11.GL_SCISSOR_TEST); GL46.glEnable(GL46.GL_SCISSOR_TEST);
// } // }
// if(this.type == ElemType.CUSTOM) // if(this.type == ElemType.CUSTOM)
// this.func(this, 1); // this.func(this, 1);
@ -230,7 +230,7 @@ public abstract class Element {
this.drawForeground(x1, y1, x2, y2); this.drawForeground(x1, y1, x2, y2);
// logd("DBG", "%d @ %d %d -> %d %d", elem.id, x1, y1, elem.pos_x + x2, elem.pos_y + y2); // logd("DBG", "%d @ %d %d -> %d %d", elem.id, x1, y1, elem.pos_x + x2, elem.pos_y + y2);
// if(elem.type == ElemType.FIELD) { // if(elem.type == ElemType.FIELD) {
GL11.glDisable(GL11.GL_SCISSOR_TEST); GL46.glDisable(GL46.GL_SCISSOR_TEST);
// glScissor(0, 0, sys.fb_x, sys.fb_y); // glScissor(0, 0, sys.fb_x, sys.fb_y);
// } // }
} }

View file

@ -1,6 +1,6 @@
package client.gui.element; package client.gui.element;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.gui.Font; import client.gui.Font;
import client.renderer.Drawing; import client.renderer.Drawing;
@ -242,9 +242,9 @@ abstract class Textbox extends Element {
int x2 = this.size_x - (this.margin_x1 + this.margin_x2); int x2 = this.size_x - (this.margin_x1 + this.margin_x2);
int y2 = this.size_y - (this.margin_y1 + this.margin_y2); int y2 = this.size_y - (this.margin_y1 + this.margin_y2);
this.gm.scissor(x1 < 0 ? 0 : x1, (this.gm.fbY - (y1 + y2)) < 0 ? 0 : (this.gm.fbY - (y1 + y2)), x2 < 0 ? 0 : x2, y2 < 0 ? 0 : y2); this.gm.scissor(x1 < 0 ? 0 : x1, (this.gm.fbY - (y1 + y2)) < 0 ? 0 : (this.gm.fbY - (y1 + y2)), x2 < 0 ? 0 : x2, y2 < 0 ? 0 : y2);
GL11.glEnable(GL11.GL_SCISSOR_TEST); GL46.glEnable(GL46.GL_SCISSOR_TEST);
Drawing.drawRect(this.getCursorX(x1, x2), this.getCursorY(y1, y2), 1, Font.HEIGHT, 0xff000000 | (~Util.mixColor(this.gm.style.field_top, this.gm.style.field_btm))); Drawing.drawRect(this.getCursorX(x1, x2), this.getCursorY(y1, y2), 1, Font.HEIGHT, 0xff000000 | (~Util.mixColor(this.gm.style.field_top, this.gm.style.field_btm)));
GL11.glDisable(GL11.GL_SCISSOR_TEST); GL46.glDisable(GL46.GL_SCISSOR_TEST);
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer; package client.renderer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.gui.Font; import client.gui.Font;
@ -33,12 +33,12 @@ public abstract class Drawing {
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.enableBlend(); GlState.enableBlend();
GlState.disableAlpha(); GlState.disableAlpha();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
GlState.shadeModel(GL11.GL_SMOOTH); GlState.shadeModel(GL46.GL_SMOOTH);
GlState.color(1.0f, 1.0f, 1.0f, 1.0f); GlState.color(1.0f, 1.0f, 1.0f, 1.0f);
Font.bindTexture(); Font.bindTexture();
RenderBuffer rb = Tessellator.getBuffer(); RenderBuffer rb = Tessellator.getBuffer();
rb.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR);
int h = Font.HEIGHT; int h = Font.HEIGHT;
int tx, ty, u, v; int tx, ty, u, v;
FontChar glyph; FontChar glyph;
@ -79,7 +79,7 @@ public abstract class Drawing {
x += u; x += u;
} }
Tessellator.draw(); Tessellator.draw();
GlState.shadeModel(GL11.GL_FLAT); GlState.shadeModel(GL46.GL_FLAT);
GlState.disableBlend(); GlState.disableBlend();
GlState.enableAlpha(); GlState.enableAlpha();
GlState.enableTexture2D(); GlState.enableTexture2D();
@ -292,12 +292,12 @@ public abstract class Drawing {
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.enableBlend(); GlState.enableBlend();
GlState.disableAlpha(); GlState.disableAlpha();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
GlState.shadeModel(GL11.GL_SMOOTH); GlState.shadeModel(GL46.GL_SMOOTH);
GlState.color(1.0f, 1.0f, 1.0f, 1.0f); GlState.color(1.0f, 1.0f, 1.0f, 1.0f);
Font.bindTexture(); Font.bindTexture();
RenderBuffer rb = Tessellator.getBuffer(); RenderBuffer rb = Tessellator.getBuffer();
rb.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR); rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR);
int ox = x; int ox = x;
int ncolor = color; int ncolor = color;
FontChar glyph; FontChar glyph;
@ -361,7 +361,7 @@ public abstract class Drawing {
x += glyph.u + 3 - glyph.s; x += glyph.u + 3 - glyph.s;
} }
Tessellator.draw(); Tessellator.draw();
GlState.shadeModel(GL11.GL_FLAT); GlState.shadeModel(GL46.GL_FLAT);
GlState.disableBlend(); GlState.disableBlend();
GlState.enableAlpha(); GlState.enableAlpha();
GlState.enableTexture2D(); GlState.enableTexture2D();
@ -403,16 +403,16 @@ public abstract class Drawing {
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.enableBlend(); GlState.enableBlend();
GlState.disableAlpha(); GlState.disableAlpha();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
GlState.shadeModel(GL11.GL_SMOOTH); GlState.shadeModel(GL46.GL_SMOOTH);
RenderBuffer buf = Tessellator.getBuffer(); RenderBuffer buf = Tessellator.getBuffer();
buf.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR); buf.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
buf.pos((double)(x + w), (double)y, 0.0).color(top).endVertex(); buf.pos((double)(x + w), (double)y, 0.0).color(top).endVertex();
buf.pos((double)x, (double)y, 0.0).color(top).endVertex(); buf.pos((double)x, (double)y, 0.0).color(top).endVertex();
buf.pos((double)x, (double)(y + h), 0.0).color(bottom).endVertex(); buf.pos((double)x, (double)(y + h), 0.0).color(bottom).endVertex();
buf.pos((double)(x + w), (double)(y + h), 0.0).color(bottom).endVertex(); buf.pos((double)(x + w), (double)(y + h), 0.0).color(bottom).endVertex();
Tessellator.draw(); Tessellator.draw();
GlState.shadeModel(GL11.GL_FLAT); GlState.shadeModel(GL46.GL_FLAT);
GlState.disableBlend(); GlState.disableBlend();
GlState.enableAlpha(); GlState.enableAlpha();
GlState.enableTexture2D(); GlState.enableTexture2D();
@ -423,16 +423,16 @@ public abstract class Drawing {
// GlState.disableTexture2D(); // GlState.disableTexture2D();
// GlState.enableBlend(); // GlState.enableBlend();
// GlState.disableAlpha(); // GlState.disableAlpha();
// GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); // GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
// GlState.shadeModel(GL11.GL_SMOOTH); // GlState.shadeModel(GL46.GL_SMOOTH);
// RenderBuffer buf = Tessellator.getBuffer(); // RenderBuffer buf = Tessellator.getBuffer();
// buf.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_COLOR); // buf.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
// buf.pos((double)(x + w), (double)y, 0.0).color(topright).endVertex(); // buf.pos((double)(x + w), (double)y, 0.0).color(topright).endVertex();
// buf.pos((double)x, (double)y, 0.0).color(topleft).endVertex(); // buf.pos((double)x, (double)y, 0.0).color(topleft).endVertex();
// buf.pos((double)x, (double)(y + h), 0.0).color(btmleft).endVertex(); // buf.pos((double)x, (double)(y + h), 0.0).color(btmleft).endVertex();
// buf.pos((double)(x + w), (double)(y + h), 0.0).color(btmright).endVertex(); // buf.pos((double)(x + w), (double)(y + h), 0.0).color(btmright).endVertex();
// Tessellator.draw(); // Tessellator.draw();
// GlState.shadeModel(GL11.GL_FLAT); // GlState.shadeModel(GL46.GL_FLAT);
// GlState.disableBlend(); // GlState.disableBlend();
// GlState.enableAlpha(); // GlState.enableAlpha();
// GlState.enableTexture2D(); // GlState.enableTexture2D();
@ -444,16 +444,16 @@ public abstract class Drawing {
GlState.enableBlend(); GlState.enableBlend();
GlState.disableAlpha(); GlState.disableAlpha();
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
GlState.shadeModel(GL11.GL_SMOOTH); GlState.shadeModel(GL46.GL_SMOOTH);
GlState.color(color); GlState.color(color);
rb.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION);
rb.pos((double)x, (double)(y + h), 0.0D).endVertex(); rb.pos((double)x, (double)(y + h), 0.0D).endVertex();
rb.pos((double)(x + w), (double)(y + h), 0.0D).endVertex(); rb.pos((double)(x + w), (double)(y + h), 0.0D).endVertex();
rb.pos((double)(x + w), (double)y, 0.0D).endVertex(); rb.pos((double)(x + w), (double)y, 0.0D).endVertex();
rb.pos((double)x, (double)y, 0.0D).endVertex(); rb.pos((double)x, (double)y, 0.0D).endVertex();
Tessellator.draw(); Tessellator.draw();
GlState.shadeModel(GL11.GL_FLAT); GlState.shadeModel(GL46.GL_FLAT);
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.disableBlend(); GlState.disableBlend();
GlState.enableAlpha(); GlState.enableAlpha();
@ -575,7 +575,7 @@ public abstract class Drawing {
gm.getTextureManager().bindTexture(texture); gm.getTextureManager().bindTexture(texture);
GlState.color(color); GlState.color(color);
double scale = 32.0; double scale = 32.0;
buf.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); buf.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
buf.pos((double)x, (double)y + (double)height, 0.0D).tex(0.0D, (double)height / scale).endVertex(); buf.pos((double)x, (double)y + (double)height, 0.0D).tex(0.0D, (double)height / scale).endVertex();
buf.pos((double)x + (double)width, (double)y + (double)height, 0.0D).tex((double)width / scale, (double)height / scale).endVertex(); buf.pos((double)x + (double)width, (double)y + (double)height, 0.0D).tex((double)width / scale, (double)height / scale).endVertex();
buf.pos((double)x + (double)width, (double)y, 0.0D).tex((double)width / scale, 0.0).endVertex(); buf.pos((double)x + (double)width, (double)y, 0.0D).tex((double)width / scale, 0.0).endVertex();
@ -594,13 +594,13 @@ public abstract class Drawing {
// GlState.color(color); // GlState.color(color);
float xs = 1.0f / (float)texWidth; // 0.00390625F; float xs = 1.0f / (float)texWidth; // 0.00390625F;
float ys = 1.0f / (float)texHeight; // 0.00390625F; float ys = 1.0f / (float)texHeight; // 0.00390625F;
buf.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); buf.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
buf.pos((double)(x + 0), (double)(y + height), 0.0).tex((double)((float)(u + 0) * xs), (double)((float)(v + height) * ys)).endVertex(); buf.pos((double)(x + 0), (double)(y + height), 0.0).tex((double)((float)(u + 0) * xs), (double)((float)(v + height) * ys)).endVertex();
buf.pos((double)(x + width), (double)(y + height), 0.0).tex((double)((float)(u + width) * xs), (double)((float)(v + height) * ys)).endVertex(); buf.pos((double)(x + width), (double)(y + height), 0.0).tex((double)((float)(u + width) * xs), (double)((float)(v + height) * ys)).endVertex();
buf.pos((double)(x + width), (double)(y + 0), 0.0).tex((double)((float)(u + width) * xs), (double)((float)(v + 0) * ys)).endVertex(); buf.pos((double)(x + width), (double)(y + 0), 0.0).tex((double)((float)(u + width) * xs), (double)((float)(v + 0) * ys)).endVertex();
buf.pos((double)(x + 0), (double)(y + 0), 0.0).tex((double)((float)(u + 0) * xs), (double)((float)(v + 0) * ys)).endVertex(); buf.pos((double)(x + 0), (double)(y + 0), 0.0).tex((double)((float)(u + 0) * xs), (double)((float)(v + 0) * ys)).endVertex();
// double scale = 32.0; // double scale = 32.0;
// buf.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); // buf.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
// buf.pos((double)x, (double)y + (double)height, 0.0D).tex(0.0D, (double)height / scale).endVertex(); // buf.pos((double)x, (double)y + (double)height, 0.0D).tex(0.0D, (double)height / scale).endVertex();
// buf.pos((double)x + (double)width, (double)y + (double)height, 0.0D).tex((double)width / scale, (double)height / scale).endVertex(); // buf.pos((double)x + (double)width, (double)y + (double)height, 0.0D).tex((double)width / scale, (double)height / scale).endVertex();
// buf.pos((double)x + (double)width, (double)y, 0.0D).tex((double)width / scale, 0.0).endVertex(); // buf.pos((double)x + (double)width, (double)y, 0.0D).tex((double)width / scale, 0.0).endVertex();

View file

@ -3,7 +3,7 @@ package client.renderer;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.texture.Sprite; import client.renderer.texture.Sprite;
@ -815,7 +815,7 @@ public class EffectRenderer {
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GlState.disableLighting(); GlState.disableLighting();
ItemRenderer.disableStandardItemLighting(); ItemRenderer.disableStandardItemLighting();
rb.begin(GL11.GL_QUADS, VERTEX_FORMAT); rb.begin(GL46.GL_QUADS, VERTEX_FORMAT);
rb.pos((double)(x - rotX * scale - rotXY * scale), (double)(y - rotZ * scale), (double)(z - rotYZ * scale - rotXZ * scale)) rb.pos((double)(x - rotX * scale - rotXY * scale), (double)(y - rotZ * scale), (double)(z - rotYZ * scale - rotXZ * scale))
.tex((double)u2, (double)v2).color(this.brightness, this.brightness, this.brightness, 1.0F).lightmap(0, 240) .tex((double)u2, (double)v2).color(this.brightness, this.brightness, this.brightness, 1.0F).lightmap(0, 240)
.normal(0.0F, 1.0F, 0.0F).endVertex(); .normal(0.0F, 1.0F, 0.0F).endVertex();
@ -1002,8 +1002,8 @@ public class EffectRenderer {
this.interpPosY = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double)partial; this.interpPosY = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double)partial;
this.interpPosZ = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)partial; this.interpPosZ = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)partial;
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
GlState.alphaFunc(GL11.GL_GREATER, 0.003921569F); GlState.alphaFunc(GL46.GL_GREATER, 0.003921569F);
for(int i = 0; i < 2; ++i) { for(int i = 0; i < 2; ++i) {
if(!this.layers[i].isEmpty()) { if(!this.layers[i].isEmpty()) {
@ -1021,7 +1021,7 @@ public class EffectRenderer {
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.PARTICLE_POSITION_TEX_COLOR_LMAP); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.PARTICLE_POSITION_TEX_COLOR_LMAP);
for(int k = 0; k < this.layers[i].size(); ++k) { for(int k = 0; k < this.layers[i].size(); ++k) {
this.layers[i].get(k).render(worldrenderer, partial, f, f4, f1, f2, f3); this.layers[i].get(k).render(worldrenderer, partial, f, f4, f1, f2, f3);
@ -1033,7 +1033,7 @@ public class EffectRenderer {
GlState.depthMask(true); GlState.depthMask(true);
GlState.disableBlend(); GlState.disableBlend();
GlState.alphaFunc(GL11.GL_GREATER, 0.1F); GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
} }
public void renderTextured(Entity entity, float partial) { public void renderTextured(Entity entity, float partial) {

View file

@ -4,7 +4,7 @@ import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.util.BoundingBox; import common.util.BoundingBox;
import common.util.ExtMath; import common.util.ExtMath;
@ -44,8 +44,8 @@ public class Frustum {
public void init() { public void init() {
this.projection.clear(); this.projection.clear();
this.modelview.clear(); this.modelview.clear();
GL11.glGetFloatv(2983, this.projection); GL46.glGetFloatv(2983, this.projection);
GL11.glGetFloatv(2982, this.modelview); GL46.glGetFloatv(2982, this.modelview);
float[] proj = this.projectionMat; float[] proj = this.projectionMat;
float[] view = this.modelviewMat; float[] view = this.modelviewMat;
this.projection.flip().limit(16); this.projection.flip().limit(16);

View file

@ -1,13 +1,11 @@
package client.renderer; package client.renderer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import org.lwjgl.opengl.GL14;
public class GlState public class GlState
{ {
private static GlState.AlphaState alphaState = new GlState.AlphaState(); private static GlState.AlphaState alphaState = new GlState.AlphaState();
private static GlState.BooleanState lightingState = new GlState.BooleanState(GL11.GL_LIGHTING); private static GlState.BooleanState lightingState = new GlState.BooleanState(GL46.GL_LIGHTING);
private static GlState.BooleanState[] lightState = new GlState.BooleanState[2]; private static GlState.BooleanState[] lightState = new GlState.BooleanState[2];
private static GlState.ColorMaterialState colorMaterialState = new GlState.ColorMaterialState(); private static GlState.ColorMaterialState colorMaterialState = new GlState.ColorMaterialState();
private static GlState.BlendState blendState = new GlState.BlendState(); private static GlState.BlendState blendState = new GlState.BlendState();
@ -16,11 +14,11 @@ public class GlState
private static GlState.CullState cullState = new GlState.CullState(); private static GlState.CullState cullState = new GlState.CullState();
private static GlState.PolygonOffsetState polygonOffsetState = new GlState.PolygonOffsetState(); private static GlState.PolygonOffsetState polygonOffsetState = new GlState.PolygonOffsetState();
private static GlState.Color clearState = new GlState.Color(); private static GlState.Color clearState = new GlState.Color();
private static GlState.BooleanState normalizeState = new GlState.BooleanState(GL11.GL_NORMALIZE); private static GlState.BooleanState normalizeState = new GlState.BooleanState(GL46.GL_NORMALIZE);
private static int activeTextureUnit = 0; private static int activeTextureUnit = 0;
private static GlState.TextureState[] textureState = new GlState.TextureState[2]; private static GlState.TextureState[] textureState = new GlState.TextureState[2];
private static int activeShadeModel = GL11.GL_SMOOTH; private static int activeShadeModel = GL46.GL_SMOOTH;
private static GlState.BooleanState rescaleNormalState = new GlState.BooleanState(GL13.GL_RESCALE_NORMAL); private static GlState.BooleanState rescaleNormalState = new GlState.BooleanState(GL46.GL_RESCALE_NORMAL);
private static GlState.ColorMask colorMaskState = new GlState.ColorMask(); private static GlState.ColorMask colorMaskState = new GlState.ColorMask();
private static GlState.Color colorState = new GlState.Color(); private static GlState.Color colorState = new GlState.Color();
@ -40,7 +38,7 @@ public class GlState
{ {
alphaState.func = func; alphaState.func = func;
alphaState.ref = ref; alphaState.ref = ref;
GL11.glAlphaFunc(func, ref); GL46.glAlphaFunc(func, ref);
} }
} }
@ -80,7 +78,7 @@ public class GlState
{ {
colorMaterialState.face = face; colorMaterialState.face = face;
colorMaterialState.mode = mode; colorMaterialState.mode = mode;
GL11.glColorMaterial(face, mode); GL46.glColorMaterial(face, mode);
} }
} }
@ -99,7 +97,7 @@ public class GlState
if (depthFunc != depthState.depthFunc) if (depthFunc != depthState.depthFunc)
{ {
depthState.depthFunc = depthFunc; depthState.depthFunc = depthFunc;
GL11.glDepthFunc(depthFunc); GL46.glDepthFunc(depthFunc);
} }
} }
@ -108,7 +106,7 @@ public class GlState
if (flagIn != depthState.maskEnabled) if (flagIn != depthState.maskEnabled)
{ {
depthState.maskEnabled = flagIn; depthState.maskEnabled = flagIn;
GL11.glDepthMask(flagIn); GL46.glDepthMask(flagIn);
} }
} }
@ -128,7 +126,7 @@ public class GlState
{ {
blendState.srcFactor = srcFactor; blendState.srcFactor = srcFactor;
blendState.dstFactor = dstFactor; blendState.dstFactor = dstFactor;
GL11.glBlendFunc(srcFactor, dstFactor); GL46.glBlendFunc(srcFactor, dstFactor);
} }
} }
@ -140,7 +138,7 @@ public class GlState
blendState.dstFactor = dstFactor; blendState.dstFactor = dstFactor;
blendState.srcFactorAlpha = srcFactorAlpha; blendState.srcFactorAlpha = srcFactorAlpha;
blendState.dstFactorAlpha = dstFactorAlpha; blendState.dstFactorAlpha = dstFactorAlpha;
GL14.glBlendFuncSeparate(srcFactor, dstFactor, srcFactorAlpha, dstFactorAlpha); GL46.glBlendFuncSeparate(srcFactor, dstFactor, srcFactorAlpha, dstFactorAlpha);
} }
} }
@ -173,7 +171,7 @@ public class GlState
if (param != fogState.mode) if (param != fogState.mode)
{ {
fogState.mode = param; fogState.mode = param;
GL11.glFogi(GL11.GL_FOG_MODE, param); GL46.glFogi(GL46.GL_FOG_MODE, param);
} }
} }
@ -182,7 +180,7 @@ public class GlState
if (param != fogState.density) if (param != fogState.density)
{ {
fogState.density = param; fogState.density = param;
GL11.glFogf(GL11.GL_FOG_DENSITY, param); GL46.glFogf(GL46.GL_FOG_DENSITY, param);
} }
} }
@ -191,7 +189,7 @@ public class GlState
if (param != fogState.start) if (param != fogState.start)
{ {
fogState.start = param; fogState.start = param;
GL11.glFogf(GL11.GL_FOG_START, param); GL46.glFogf(GL46.GL_FOG_START, param);
} }
} }
@ -200,7 +198,7 @@ public class GlState
if (param != fogState.end) if (param != fogState.end)
{ {
fogState.end = param; fogState.end = param;
GL11.glFogf(GL11.GL_FOG_END, param); GL46.glFogf(GL46.GL_FOG_END, param);
} }
} }
@ -224,7 +222,7 @@ public class GlState
if (mode != cullState.mode) if (mode != cullState.mode)
{ {
cullState.mode = mode; cullState.mode = mode;
GL11.glCullFace(mode); GL46.glCullFace(mode);
} }
} }
@ -244,16 +242,16 @@ public class GlState
{ {
polygonOffsetState.factor = factor; polygonOffsetState.factor = factor;
polygonOffsetState.units = units; polygonOffsetState.units = units;
GL11.glPolygonOffset(factor, units); GL46.glPolygonOffset(factor, units);
} }
} }
public static void setActiveTexture(int texture) public static void setActiveTexture(int texture)
{ {
if (activeTextureUnit != texture - GL13.GL_TEXTURE0) if (activeTextureUnit != texture - GL46.GL_TEXTURE0)
{ {
activeTextureUnit = texture - GL13.GL_TEXTURE0; activeTextureUnit = texture - GL46.GL_TEXTURE0;
GL13.glActiveTexture(texture); GL46.glActiveTexture(texture);
} }
} }
@ -269,7 +267,7 @@ public class GlState
public static void deleteTexture(int texture) public static void deleteTexture(int texture)
{ {
GL11.glDeleteTextures(texture); GL46.glDeleteTextures(texture);
for (GlState.TextureState glstatemanager$texturestate : textureState) for (GlState.TextureState glstatemanager$texturestate : textureState)
{ {
@ -285,7 +283,7 @@ public class GlState
if (texture != textureState[activeTextureUnit].textureName) if (texture != textureState[activeTextureUnit].textureName)
{ {
textureState[activeTextureUnit].textureName = texture; textureState[activeTextureUnit].textureName = texture;
GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture); GL46.glBindTexture(GL46.GL_TEXTURE_2D, texture);
} }
} }
@ -304,7 +302,7 @@ public class GlState
if (mode != activeShadeModel) if (mode != activeShadeModel)
{ {
activeShadeModel = mode; activeShadeModel = mode;
GL11.glShadeModel(mode); GL46.glShadeModel(mode);
} }
} }
@ -326,7 +324,7 @@ public class GlState
colorMaskState.green = green; colorMaskState.green = green;
colorMaskState.blue = blue; colorMaskState.blue = blue;
colorMaskState.alpha = alpha; colorMaskState.alpha = alpha;
GL11.glColorMask(red, green, blue, alpha); GL46.glColorMask(red, green, blue, alpha);
} }
} }
@ -338,7 +336,7 @@ public class GlState
clearState.green = green; clearState.green = green;
clearState.blue = blue; clearState.blue = blue;
clearState.alpha = alpha; clearState.alpha = alpha;
GL11.glClearColor(red, green, blue, alpha); GL46.glClearColor(red, green, blue, alpha);
} }
} }
@ -350,7 +348,7 @@ public class GlState
colorState.green = colorGreen; colorState.green = colorGreen;
colorState.blue = colorBlue; colorState.blue = colorBlue;
colorState.alpha = colorAlpha; colorState.alpha = colorAlpha;
GL11.glColor4f(colorRed, colorGreen, colorBlue, colorAlpha); GL46.glColor4f(colorRed, colorGreen, colorBlue, colorAlpha);
} }
} }
@ -371,7 +369,7 @@ public class GlState
{ {
for (int i = 0; i < lightState.length; ++i) for (int i = 0; i < lightState.length; ++i)
{ {
lightState[i] = new GlState.BooleanState(GL11.GL_LIGHT0 + i); lightState[i] = new GlState.BooleanState(GL46.GL_LIGHT0 + i);
} }
for (int j = 0; j < textureState.length; ++j) for (int j = 0; j < textureState.length; ++j)
@ -388,8 +386,8 @@ public class GlState
private AlphaState() private AlphaState()
{ {
this.alphaTest = new GlState.BooleanState(GL11.GL_ALPHA_TEST); this.alphaTest = new GlState.BooleanState(GL46.GL_ALPHA_TEST);
this.func = GL11.GL_ALWAYS; this.func = GL46.GL_ALWAYS;
this.ref = -1.0F; this.ref = -1.0F;
} }
} }
@ -404,11 +402,11 @@ public class GlState
private BlendState() private BlendState()
{ {
this.blend = new GlState.BooleanState(GL11.GL_BLEND); this.blend = new GlState.BooleanState(GL46.GL_BLEND);
this.srcFactor = GL11.GL_ONE; this.srcFactor = GL46.GL_ONE;
this.dstFactor = GL11.GL_ZERO; this.dstFactor = GL46.GL_ZERO;
this.srcFactorAlpha = GL11.GL_ONE; this.srcFactorAlpha = GL46.GL_ONE;
this.dstFactorAlpha = GL11.GL_ZERO; this.dstFactorAlpha = GL46.GL_ZERO;
} }
} }
@ -440,11 +438,11 @@ public class GlState
if (state) if (state)
{ {
GL11.glEnable(this.capability); GL46.glEnable(this.capability);
} }
else else
{ {
GL11.glDisable(this.capability); GL46.glDisable(this.capability);
} }
} }
} }
@ -486,9 +484,9 @@ public class GlState
private ColorMaterialState() private ColorMaterialState()
{ {
this.colorMaterial = new GlState.BooleanState(GL11.GL_COLOR_MATERIAL); this.colorMaterial = new GlState.BooleanState(GL46.GL_COLOR_MATERIAL);
this.face = GL11.GL_FRONT_AND_BACK; this.face = GL46.GL_FRONT_AND_BACK;
this.mode = GL11.GL_AMBIENT_AND_DIFFUSE; this.mode = GL46.GL_AMBIENT_AND_DIFFUSE;
} }
} }
@ -499,8 +497,8 @@ public class GlState
private CullState() private CullState()
{ {
this.cullFace = new GlState.BooleanState(GL11.GL_CULL_FACE); this.cullFace = new GlState.BooleanState(GL46.GL_CULL_FACE);
this.mode = GL11.GL_BACK; this.mode = GL46.GL_BACK;
} }
} }
@ -512,9 +510,9 @@ public class GlState
private DepthState() private DepthState()
{ {
this.depthTest = new GlState.BooleanState(GL11.GL_DEPTH_TEST); this.depthTest = new GlState.BooleanState(GL46.GL_DEPTH_TEST);
this.maskEnabled = true; this.maskEnabled = true;
this.depthFunc = GL11.GL_LESS; this.depthFunc = GL46.GL_LESS;
} }
} }
@ -529,9 +527,9 @@ public class GlState
private FogState() private FogState()
{ {
this.fog = new GlState.BooleanState(GL11.GL_FOG); this.fog = new GlState.BooleanState(GL46.GL_FOG);
this.enabled = true; this.enabled = true;
this.mode = GL11.GL_EXP; this.mode = GL46.GL_EXP;
this.density = 1.0F; this.density = 1.0F;
this.start = 0.0F; this.start = 0.0F;
this.end = 1.0F; this.end = 1.0F;
@ -547,8 +545,8 @@ public class GlState
private PolygonOffsetState() private PolygonOffsetState()
{ {
this.polygonOffsetFill = new GlState.BooleanState(GL11.GL_POLYGON_OFFSET_FILL); this.polygonOffsetFill = new GlState.BooleanState(GL46.GL_POLYGON_OFFSET_FILL);
this.polygonOffsetLine = new GlState.BooleanState(GL11.GL_POLYGON_OFFSET_LINE); this.polygonOffsetLine = new GlState.BooleanState(GL46.GL_POLYGON_OFFSET_LINE);
this.factor = 0.0F; this.factor = 0.0F;
this.units = 0.0F; this.units = 0.0F;
} }
@ -561,7 +559,7 @@ public class GlState
private TextureState() private TextureState()
{ {
this.texture2DState = new GlState.BooleanState(GL11.GL_TEXTURE_2D); this.texture2DState = new GlState.BooleanState(GL46.GL_TEXTURE_2D);
this.textureName = 0; this.textureName = 0;
} }
} }

View file

@ -4,8 +4,7 @@ import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import client.Client; import client.Client;
import client.renderer.entity.RenderItem; import client.renderer.entity.RenderItem;
@ -51,11 +50,11 @@ public class ItemRenderer
public static void enableGUIStandardItemLighting() public static void enableGUIStandardItemLighting()
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glRotatef(-30.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-30.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(165.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(165.0F, 1.0F, 0.0F, 0.0F);
enableStandardItemLighting(); enableStandardItemLighting();
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
public static void enableStandardItemLighting() public static void enableStandardItemLighting()
@ -64,22 +63,22 @@ public class ItemRenderer
GlState.enableLight(0); GlState.enableLight(0);
GlState.enableLight(1); GlState.enableLight(1);
GlState.enableColorMaterial(); GlState.enableColorMaterial();
GlState.colorMaterial(GL11.GL_FRONT_AND_BACK, GL11.GL_AMBIENT_AND_DIFFUSE); GlState.colorMaterial(GL46.GL_FRONT_AND_BACK, GL46.GL_AMBIENT_AND_DIFFUSE);
float f = 0.4F; float f = 0.4F;
float f1 = 0.6F; float f1 = 0.6F;
float f2 = 0.0F; float f2 = 0.0F;
GL11.glLightfv(GL11.GL_LIGHT0, GL11.GL_POSITION, setColorBuffer( GL46.glLightfv(GL46.GL_LIGHT0, GL46.GL_POSITION, setColorBuffer(
(float)LIGHT0_POS.xCoord, (float)LIGHT0_POS.yCoord, (float)LIGHT0_POS.zCoord, 0.0f)); (float)LIGHT0_POS.xCoord, (float)LIGHT0_POS.yCoord, (float)LIGHT0_POS.zCoord, 0.0f));
GL11.glLightfv(GL11.GL_LIGHT0, GL11.GL_DIFFUSE, setColorBuffer(f1, f1, f1, 1.0F)); GL46.glLightfv(GL46.GL_LIGHT0, GL46.GL_DIFFUSE, setColorBuffer(f1, f1, f1, 1.0F));
GL11.glLightfv(GL11.GL_LIGHT0, GL11.GL_AMBIENT, setColorBuffer(0.0F, 0.0F, 0.0F, 1.0F)); GL46.glLightfv(GL46.GL_LIGHT0, GL46.GL_AMBIENT, setColorBuffer(0.0F, 0.0F, 0.0F, 1.0F));
GL11.glLightfv(GL11.GL_LIGHT0, GL11.GL_SPECULAR, setColorBuffer(f2, f2, f2, 1.0F)); GL46.glLightfv(GL46.GL_LIGHT0, GL46.GL_SPECULAR, setColorBuffer(f2, f2, f2, 1.0F));
GL11.glLightfv(GL11.GL_LIGHT1, GL11.GL_POSITION, setColorBuffer( GL46.glLightfv(GL46.GL_LIGHT1, GL46.GL_POSITION, setColorBuffer(
(float)LIGHT1_POS.xCoord, (float)LIGHT1_POS.yCoord, (float)LIGHT1_POS.zCoord, 0.0f)); (float)LIGHT1_POS.xCoord, (float)LIGHT1_POS.yCoord, (float)LIGHT1_POS.zCoord, 0.0f));
GL11.glLightfv(GL11.GL_LIGHT1, GL11.GL_DIFFUSE, setColorBuffer(f1, f1, f1, 1.0F)); GL46.glLightfv(GL46.GL_LIGHT1, GL46.GL_DIFFUSE, setColorBuffer(f1, f1, f1, 1.0F));
GL11.glLightfv(GL11.GL_LIGHT1, GL11.GL_AMBIENT, setColorBuffer(0.0F, 0.0F, 0.0F, 1.0F)); GL46.glLightfv(GL46.GL_LIGHT1, GL46.GL_AMBIENT, setColorBuffer(0.0F, 0.0F, 0.0F, 1.0F));
GL11.glLightfv(GL11.GL_LIGHT1, GL11.GL_SPECULAR, setColorBuffer(f2, f2, f2, 1.0F)); GL46.glLightfv(GL46.GL_LIGHT1, GL46.GL_SPECULAR, setColorBuffer(f2, f2, f2, 1.0F));
GlState.shadeModel(GL11.GL_FLAT); GlState.shadeModel(GL46.GL_FLAT);
GL11.glLightModelfv(GL11.GL_LIGHT_MODEL_AMBIENT, setColorBuffer(f, f, f, 1.0F)); GL46.glLightModelfv(GL46.GL_LIGHT_MODEL_AMBIENT, setColorBuffer(f, f, f, 1.0F));
} }
public static void disableStandardItemLighting() public static void disableStandardItemLighting()
@ -103,26 +102,26 @@ public class ItemRenderer
{ {
Item item = heldStack.getItem(); Item item = heldStack.getItem();
Block block = item.getBlock(); Block block = item.getBlock();
GL11.glPushMatrix(); GL46.glPushMatrix();
if (this.itemRenderer.shouldRenderItemIn3D(heldStack)) if (this.itemRenderer.shouldRenderItemIn3D(heldStack))
{ {
GL11.glScalef(2.0F, 2.0F, 2.0F); GL46.glScalef(2.0F, 2.0F, 2.0F);
} }
this.itemRenderer.renderItemForEntity(heldStack, entityIn, third); this.itemRenderer.renderItemForEntity(heldStack, entityIn, third);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }
private void rotateArroundXAndY(float angle, float angleY) private void rotateArroundXAndY(float angle, float angleY)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glRotatef(angle, 1.0F, 0.0F, 0.0F); GL46.glRotatef(angle, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(angleY, 0.0F, 1.0F, 0.0F); GL46.glRotatef(angleY, 0.0F, 1.0F, 0.0F);
ItemRenderer.enableStandardItemLighting(); ItemRenderer.enableStandardItemLighting();
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
private void setLightMapFromPlayer(EntityNPC clientPlayer) private void setLightMapFromPlayer(EntityNPC clientPlayer)
@ -130,15 +129,15 @@ public class ItemRenderer
int i = this.gm.world.getCombinedLight(new BlockPos(clientPlayer.posX, clientPlayer.posY + (double)clientPlayer.getEyeHeight(), clientPlayer.posZ), 0); int i = this.gm.world.getCombinedLight(new BlockPos(clientPlayer.posX, clientPlayer.posY + (double)clientPlayer.getEyeHeight(), clientPlayer.posZ), 0);
float f = (float)(i & 65535); float f = (float)(i & 65535);
float f1 = (float)(i >> 16); float f1 = (float)(i >> 16);
GL13.glMultiTexCoord2f(GL13.GL_TEXTURE1, f, f1); GL46.glMultiTexCoord2f(GL46.GL_TEXTURE1, f, f1);
} }
private void rotateWithPlayerRotations(EntityNPC entityplayerspIn, float partialTicks) private void rotateWithPlayerRotations(EntityNPC entityplayerspIn, float partialTicks)
{ {
float f = entityplayerspIn.prevRenderArmPitch + (entityplayerspIn.renderArmPitch - entityplayerspIn.prevRenderArmPitch) * partialTicks; float f = entityplayerspIn.prevRenderArmPitch + (entityplayerspIn.renderArmPitch - entityplayerspIn.prevRenderArmPitch) * partialTicks;
float f1 = entityplayerspIn.prevRenderArmYaw + (entityplayerspIn.renderArmYaw - entityplayerspIn.prevRenderArmYaw) * partialTicks; float f1 = entityplayerspIn.prevRenderArmYaw + (entityplayerspIn.renderArmYaw - entityplayerspIn.prevRenderArmYaw) * partialTicks;
GL11.glRotatef((entityplayerspIn.rotPitch - f) * 0.1F, 1.0F, 0.0F, 0.0F); GL46.glRotatef((entityplayerspIn.rotPitch - f) * 0.1F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef((entityplayerspIn.rotYaw - f1) * 0.1F, 0.0F, 1.0F, 0.0F); GL46.glRotatef((entityplayerspIn.rotYaw - f1) * 0.1F, 0.0F, 1.0F, 0.0F);
} }
private float getMapAngleFromPitch(float pitch) private float getMapAngleFromPitch(float pitch)
@ -215,7 +214,7 @@ public class ItemRenderer
//// Tessellator tessellator = Tessellator.getInstance(); //// Tessellator tessellator = Tessellator.getInstance();
// RenderBuffer worldrenderer = Tessellator.getBuffer(); // RenderBuffer worldrenderer = Tessellator.getBuffer();
// SKC.glNormal3f(0.0F, 0.0F, -1.0F); // SKC.glNormal3f(0.0F, 0.0F, -1.0F);
// worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); // worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
// worldrenderer.pos(-7.0D, 135.0D, 0.0D).tex(0.0D, 1.0D).endVertex(); // worldrenderer.pos(-7.0D, 135.0D, 0.0D).tex(0.0D, 1.0D).endVertex();
// worldrenderer.pos(135.0D, 135.0D, 0.0D).tex(1.0D, 1.0D).endVertex(); // worldrenderer.pos(135.0D, 135.0D, 0.0D).tex(1.0D, 1.0D).endVertex();
// worldrenderer.pos(135.0D, -7.0D, 0.0D).tex(1.0D, 0.0D).endVertex(); // worldrenderer.pos(135.0D, -7.0D, 0.0D).tex(1.0D, 0.0D).endVertex();
@ -234,21 +233,21 @@ public class ItemRenderer
float f = -0.3F * ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI); float f = -0.3F * ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI);
float f1 = 0.4F * ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI * 2.0F); float f1 = 0.4F * ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI * 2.0F);
float f2 = -0.4F * ExtMath.sin(swingProgress * (float)Math.PI); float f2 = -0.4F * ExtMath.sin(swingProgress * (float)Math.PI);
GL11.glTranslatef(f, f1, f2); GL46.glTranslatef(f, f1, f2);
GL11.glTranslatef(0.64000005F, -0.6F, -0.71999997F); GL46.glTranslatef(0.64000005F, -0.6F, -0.71999997F);
GL11.glTranslatef(0.0F, equipProgress * -0.6F, 0.0F); GL46.glTranslatef(0.0F, equipProgress * -0.6F, 0.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
float f3 = ExtMath.sin(swingProgress * swingProgress * (float)Math.PI); float f3 = ExtMath.sin(swingProgress * swingProgress * (float)Math.PI);
float f4 = ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI); float f4 = ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI);
GL11.glRotatef(f4 * 70.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(f4 * 70.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(f3 * -20.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(f3 * -20.0F, 0.0F, 0.0F, 1.0F);
this.gm.getTextureManager().bindTexture(EntityTexManager.getSkin(clientPlayer)); this.gm.getTextureManager().bindTexture(EntityTexManager.getSkin(clientPlayer));
GL11.glTranslatef(-1.0F, 3.6F, 3.5F); GL46.glTranslatef(-1.0F, 3.6F, 3.5F);
GL11.glRotatef(120.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(120.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(200.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(200.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
GL11.glScalef(1.0F, 1.0F, 1.0F); GL46.glScalef(1.0F, 1.0F, 1.0F);
GL11.glTranslatef(5.6F, 0.0F, 0.0F); GL46.glTranslatef(5.6F, 0.0F, 0.0F);
RenderNpc render = this.renderManager.getRenderObject(this.gm.player.getModel()); RenderNpc render = this.renderManager.getRenderObject(this.gm.player.getModel());
GlState.disableCull(); GlState.disableCull();
render.renderPlayerArm(this.gm.player); render.renderPlayerArm(this.gm.player);
@ -260,7 +259,7 @@ public class ItemRenderer
float f = -0.4F * ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI); float f = -0.4F * ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI);
float f1 = 0.2F * ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI * 2.0F); float f1 = 0.2F * ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI * 2.0F);
float f2 = -0.2F * ExtMath.sin(swingProgress * (float)Math.PI); float f2 = -0.2F * ExtMath.sin(swingProgress * (float)Math.PI);
GL11.glTranslatef(f, f1, f2); GL46.glTranslatef(f, f1, f2);
} }
private void performDrinking(EntityNPC clientPlayer, float partialTicks) private void performDrinking(EntityNPC clientPlayer, float partialTicks)
@ -274,33 +273,33 @@ public class ItemRenderer
f2 = 0.0F; f2 = 0.0F;
} }
GL11.glTranslatef(0.0F, f2, 0.0F); GL46.glTranslatef(0.0F, f2, 0.0F);
float f3 = 1.0F - (float)Math.pow((double)f1, 27.0D); float f3 = 1.0F - (float)Math.pow((double)f1, 27.0D);
GL11.glTranslatef(f3 * 0.6F, f3 * -0.5F, f3 * 0.0F); GL46.glTranslatef(f3 * 0.6F, f3 * -0.5F, f3 * 0.0F);
GL11.glRotatef(f3 * 90.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(f3 * 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(f3 * 10.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(f3 * 10.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(f3 * 30.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(f3 * 30.0F, 0.0F, 0.0F, 1.0F);
} }
private void transformFirstPersonItem(float equipProgress, float swingProgress) private void transformFirstPersonItem(float equipProgress, float swingProgress)
{ {
GL11.glTranslatef(0.56F, -0.52F, -0.71999997F); GL46.glTranslatef(0.56F, -0.52F, -0.71999997F);
GL11.glTranslatef(0.0F, equipProgress * -0.6F, 0.0F); GL46.glTranslatef(0.0F, equipProgress * -0.6F, 0.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
float f = ExtMath.sin(swingProgress * swingProgress * (float)Math.PI); float f = ExtMath.sin(swingProgress * swingProgress * (float)Math.PI);
float f1 = ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI); float f1 = ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI);
GL11.glRotatef(f * -20.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(f * -20.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(f1 * -20.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(f1 * -20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(f1 * -80.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(f1 * -80.0F, 1.0F, 0.0F, 0.0F);
GL11.glScalef(0.4F, 0.4F, 0.4F); GL46.glScalef(0.4F, 0.4F, 0.4F);
} }
private void doBowTransformations(float partialTicks, EntityNPC clientPlayer) private void doBowTransformations(float partialTicks, EntityNPC clientPlayer)
{ {
GL11.glRotatef(-18.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(-18.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-12.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-12.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-8.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(-8.0F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.9F, 0.2F, 0.0F); GL46.glTranslatef(-0.9F, 0.2F, 0.0F);
float f = (float)this.itemToRender.getMaxItemUseDuration() - ((float)clientPlayer.getItemInUseCount() - partialTicks + 1.0F); float f = (float)this.itemToRender.getMaxItemUseDuration() - ((float)clientPlayer.getItemInUseCount() - partialTicks + 1.0F);
float f1 = f / 20.0F; float f1 = f / 20.0F;
f1 = (f1 * f1 + f1 * 2.0F) / 3.0F; f1 = (f1 * f1 + f1 * 2.0F) / 3.0F;
@ -315,19 +314,19 @@ public class ItemRenderer
float f2 = ExtMath.sin((f - 0.1F) * 1.3F); float f2 = ExtMath.sin((f - 0.1F) * 1.3F);
float f3 = f1 - 0.1F; float f3 = f1 - 0.1F;
float f4 = f2 * f3; float f4 = f2 * f3;
GL11.glTranslatef(f4 * 0.0F, f4 * 0.01F, f4 * 0.0F); GL46.glTranslatef(f4 * 0.0F, f4 * 0.01F, f4 * 0.0F);
} }
GL11.glTranslatef(f1 * 0.0F, f1 * 0.0F, f1 * 0.1F); GL46.glTranslatef(f1 * 0.0F, f1 * 0.0F, f1 * 0.1F);
GL11.glScalef(1.0F, 1.0F, 1.0F + f1 * 0.2F); GL46.glScalef(1.0F, 1.0F, 1.0F + f1 * 0.2F);
} }
private void doBlockTransformations() private void doBlockTransformations()
{ {
GL11.glTranslatef(-0.5F, 0.2F, 0.0F); GL46.glTranslatef(-0.5F, 0.2F, 0.0F);
GL11.glRotatef(30.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(30.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-80.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(-80.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(60.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(60.0F, 0.0F, 1.0F, 0.0F);
} }
public void renderItemInFirstPerson(float partialTicks) public void renderItemInFirstPerson(float partialTicks)
@ -341,7 +340,7 @@ public class ItemRenderer
this.setLightMapFromPlayer(clientplayer); this.setLightMapFromPlayer(clientplayer);
this.rotateWithPlayerRotations(clientplayer, partialTicks); this.rotateWithPlayerRotations(clientplayer, partialTicks);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GL11.glPushMatrix(); GL46.glPushMatrix();
if (this.itemToRender != null && (this.itemToRender.getItem().getWieldType() != null || (clientplayer.getItemInUseCount() > 0 && this.itemToRender.getItemUseAction() != ItemAction.NONE))) if (this.itemToRender != null && (this.itemToRender.getItem().getWieldType() != null || (clientplayer.getItemInUseCount() > 0 && this.itemToRender.getItemUseAction() != ItemAction.NONE)))
{ {
@ -384,7 +383,7 @@ public class ItemRenderer
this.renderPlayerArm(clientplayer, f, f1); this.renderPlayerArm(clientplayer, f, f1);
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
ItemRenderer.disableStandardItemLighting(); ItemRenderer.disableStandardItemLighting();
} }
@ -431,7 +430,7 @@ public class ItemRenderer
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
float f = 0.1F; float f = 0.1F;
GlState.color(0.1F, 0.1F, 0.1F, 0.5F); GlState.color(0.1F, 0.1F, 0.1F, 0.5F);
GL11.glPushMatrix(); GL46.glPushMatrix();
float f1 = -1.0F; float f1 = -1.0F;
float f2 = 1.0F; float f2 = 1.0F;
float f3 = -1.0F; float f3 = -1.0F;
@ -441,13 +440,13 @@ public class ItemRenderer
float f7 = atlas.getMaxU(); float f7 = atlas.getMaxU();
float f8 = atlas.getMinV(); float f8 = atlas.getMinV();
float f9 = atlas.getMaxV(); float f9 = atlas.getMaxV();
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos(-1.0D, -1.0D, -0.5D).tex((double)f7, (double)f9).endVertex(); worldrenderer.pos(-1.0D, -1.0D, -0.5D).tex((double)f7, (double)f9).endVertex();
worldrenderer.pos(1.0D, -1.0D, -0.5D).tex((double)f6, (double)f9).endVertex(); worldrenderer.pos(1.0D, -1.0D, -0.5D).tex((double)f6, (double)f9).endVertex();
worldrenderer.pos(1.0D, 1.0D, -0.5D).tex((double)f6, (double)f8).endVertex(); worldrenderer.pos(1.0D, 1.0D, -0.5D).tex((double)f6, (double)f8).endVertex();
worldrenderer.pos(-1.0D, 1.0D, -0.5D).tex((double)f7, (double)f8).endVertex(); worldrenderer.pos(-1.0D, 1.0D, -0.5D).tex((double)f7, (double)f8).endVertex();
Tessellator.draw(); Tessellator.draw();
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
} }
@ -455,15 +454,15 @@ public class ItemRenderer
{ {
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
GlState.color(1.0F, 1.0F, 1.0F, 0.9F); GlState.color(1.0F, 1.0F, 1.0F, 0.9F);
GlState.depthFunc(GL11.GL_ALWAYS); GlState.depthFunc(GL46.GL_ALWAYS);
GlState.depthMask(false); GlState.depthMask(false);
GlState.enableBlend(); GlState.enableBlend();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
float f = 1.0F; float f = 1.0F;
for (int i = 0; i < 2; ++i) for (int i = 0; i < 2; ++i)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
Sprite textureatlassprite = this.gm.getTextureMapBlocks().getAtlasSprite("blocks/fire_layer_1"); Sprite textureatlassprite = this.gm.getTextureMapBlocks().getAtlasSprite("blocks/fire_layer_1");
this.gm.getTextureManager().bindTexture(TextureMap.BLOCKS); this.gm.getTextureManager().bindTexture(TextureMap.BLOCKS);
float f1 = textureatlassprite.getMinU(); float f1 = textureatlassprite.getMinU();
@ -475,21 +474,21 @@ public class ItemRenderer
float f7 = 0.0F - f / 2.0F; float f7 = 0.0F - f / 2.0F;
float f8 = f7 + f; float f8 = f7 + f;
float f9 = -0.5F; float f9 = -0.5F;
GL11.glTranslatef((float)(-(i * 2 - 1)) * 0.24F, -0.3F, 0.0F); GL46.glTranslatef((float)(-(i * 2 - 1)) * 0.24F, -0.3F, 0.0F);
GL11.glRotatef((float)(i * 2 - 1) * 10.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef((float)(i * 2 - 1) * 10.0F, 0.0F, 1.0F, 0.0F);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos((double)f5, (double)f7, (double)f9).tex((double)f2, (double)f4).endVertex(); worldrenderer.pos((double)f5, (double)f7, (double)f9).tex((double)f2, (double)f4).endVertex();
worldrenderer.pos((double)f6, (double)f7, (double)f9).tex((double)f1, (double)f4).endVertex(); worldrenderer.pos((double)f6, (double)f7, (double)f9).tex((double)f1, (double)f4).endVertex();
worldrenderer.pos((double)f6, (double)f8, (double)f9).tex((double)f1, (double)f3).endVertex(); worldrenderer.pos((double)f6, (double)f8, (double)f9).tex((double)f1, (double)f3).endVertex();
worldrenderer.pos((double)f5, (double)f8, (double)f9).tex((double)f2, (double)f3).endVertex(); worldrenderer.pos((double)f5, (double)f8, (double)f9).tex((double)f2, (double)f3).endVertex();
Tessellator.draw(); Tessellator.draw();
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GlState.disableBlend(); GlState.disableBlend();
GlState.depthMask(true); GlState.depthMask(true);
GlState.depthFunc(GL11.GL_LEQUAL); GlState.depthFunc(GL46.GL_LEQUAL);
} }
public void update() public void update()

View file

@ -5,7 +5,7 @@ import java.nio.ByteOrder;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.nio.IntBuffer; import java.nio.IntBuffer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.block.Block; import common.block.Block;
import common.block.liquid.BlockLiquid; import common.block.liquid.BlockLiquid;
@ -32,9 +32,9 @@ public class MatrixState {
private static float rotationXY; private static float rotationXY;
public static void update(EntityNPC player, boolean flip) { public static void update(EntityNPC player, boolean flip) {
GL11.glGetFloatv(GL11.GL_MODELVIEW_MATRIX, MODELVIEW); GL46.glGetFloatv(GL46.GL_MODELVIEW_MATRIX, MODELVIEW);
GL11.glGetFloatv(GL11.GL_PROJECTION_MATRIX, PROJECTION); GL46.glGetFloatv(GL46.GL_PROJECTION_MATRIX, PROJECTION);
GL11.glGetIntegerv(GL11.GL_VIEWPORT, VIEWPORT); GL46.glGetIntegerv(GL46.GL_VIEWPORT, VIEWPORT);
float x = (float)((VIEWPORT.get(0) + VIEWPORT.get(2)) / 2); float x = (float)((VIEWPORT.get(0) + VIEWPORT.get(2)) / 2);
float y = (float)((VIEWPORT.get(1) + VIEWPORT.get(3)) / 2); float y = (float)((VIEWPORT.get(1) + VIEWPORT.get(3)) / 2);
Project.gluUnProject(x, y, 0.0F, MODELVIEW, PROJECTION, VIEWPORT, OBJECTCOORDS); Project.gluUnProject(x, y, 0.0F, MODELVIEW, PROJECTION, VIEWPORT, OBJECTCOORDS);
@ -100,4 +100,12 @@ public class MatrixState {
public static float getRotationXY() { public static float getRotationXY() {
return rotationXY; return rotationXY;
} }
public static FloatBuffer getProjection() {
return PROJECTION;
}
public static FloatBuffer getModelView() {
return MODELVIEW;
}
} }

View file

@ -36,7 +36,7 @@ import java.nio.ByteOrder;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.nio.IntBuffer; import java.nio.IntBuffer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
// 11-jan-2004 Erik Duijs // 11-jan-2004 Erik Duijs
public class Project { public class Project {
@ -201,7 +201,7 @@ public class Project {
matrix.put(3 * 4 + 2, -2 * zNear * zFar / deltaZ); matrix.put(3 * 4 + 2, -2 * zNear * zFar / deltaZ);
matrix.put(3 * 4 + 3, 0); matrix.put(3 * 4 + 3, 0);
GL11.glMultMatrixf(matrix); GL46.glMultMatrixf(matrix);
} }
public static void gluLookAt( public static void gluLookAt(
@ -248,8 +248,8 @@ public class Project {
matrix.put(1 * 4 + 2, -forward[1]); matrix.put(1 * 4 + 2, -forward[1]);
matrix.put(2 * 4 + 2, -forward[2]); matrix.put(2 * 4 + 2, -forward[2]);
GL11.glMultMatrixf(matrix); GL46.glMultMatrixf(matrix);
GL11.glTranslatef(-eyex, -eyey, -eyez); GL46.glTranslatef(-eyex, -eyey, -eyez);
} }
public static boolean gluProject( public static boolean gluProject(

View file

@ -1,24 +1,11 @@
package client.renderer; package client.renderer;
import client.renderer.chunk.BlockLayer;
public class RegionRenderCacheBuilder public class RegionRenderCacheBuilder
{ {
private final RenderBuffer[] buffers = new RenderBuffer[BlockLayer.values().length]; private final RenderBuffer buffer = new RenderBuffer(4194304);
public RegionRenderCacheBuilder() public RenderBuffer getWorldRenderer()
{ {
this.buffers[BlockLayer.SOLID.ordinal()] = new RenderBuffer(2097152); return this.buffer;
this.buffers[BlockLayer.CUTOUT.ordinal()] = new RenderBuffer(524288);
}
public RenderBuffer getWorldRendererByLayer(BlockLayer layer)
{
return this.buffers[layer.ordinal()];
}
public RenderBuffer getWorldRendererByLayerId(int id)
{
return this.buffers[id];
} }
} }

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,316 @@
package client.renderer;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Consumer;
import java.util.function.Supplier;
import org.lwjgl.opengl.GL46;
import client.Client;
import client.util.FileUtils;
import common.collect.Maps;
import common.log.Log;
import common.util.Matrix4f;
import common.util.Util;
import common.util.Vec3;
import common.util.Vector3f;
import common.util.Vector4f;
public enum Shader {
WORLD("world", "world", context -> {context.integer("tex", 0); GL46.glUniformBlockBinding(context.getProgram(), GL46.glGetUniformBlockIndex(context.getProgram(), "light_block"), 0);}, context -> {
context.vec("clip_near", Client.CLIENT.renderer.getNearPlane());
context.vec("clip_far", Client.CLIENT.renderer.getFarPlane());
context.vec("screen", (float)Client.CLIENT.fbRawX, (float)Client.CLIENT.fbRawY);
Vec3 cam = MatrixState.getPosition();
context.vec("cam_pos", (float)cam.xCoord, (float)cam.yCoord, (float)cam.zCoord);
context.matrix("view", MatrixState.getModelView());
context.matrix("projection", MatrixState.getProjection());
context.vec("dir_direction", Client.CLIENT.ambientX, Client.CLIENT.ambientY, Client.CLIENT.ambientZ);
float clear_r = Client.CLIENT.renderer.getFogColorRed();
float clear_g = Client.CLIENT.renderer.getFogColorGreen();
float clear_b = Client.CLIENT.renderer.getFogColorBlue();
context.vec("dir_ambient", clear_r, clear_g, clear_b);
context.vec("dir_diffuse", clear_r * 1.25f, clear_g * 1.25f, clear_b * 1.25f);
context.vec("dir_specular", clear_r * 1.5f, clear_g * 1.5f, clear_b * 1.5f);
context.vec("light_factor", Client.CLIENT.lightBlend);
context.vec("max_vert_dist", Client.CLIENT.lightDistVert);
context.vec("max_cam_dist", Client.CLIENT.lightDistCam);
context.integer("n_lights", 0);
GlState.setActiveTexture(GL46.GL_TEXTURE0);
// glBindBufferBase(GL_UNIFORM_BUFFER, 0, world->light_buf);
}, "MAX_LIGHTS", (Supplier<Integer>)() -> Client.CLIENT.lightMaximum),
VIS("vis", "vis", null, context -> {
context.matrix("view", MatrixState.getModelView());
context.matrix("projection", MatrixState.getProjection());
}),
GRID("grid", "grid", null, context -> {
context.vec("clip_near", Client.CLIENT.renderer.getNearPlane());
context.vec("clip_far", Client.CLIENT.renderer.getFarPlane());
context.vec("screen", (float)Client.CLIENT.fbRawX, (float)Client.CLIENT.fbRawY);
context.matrix("view", MatrixState.getModelView());
context.matrix("projection", MatrixState.getProjection());
context.vec("time", (float)Util.ftime());
});
// BLIT("blit", "blit", context -> context.integer("tex", 0), context -> {
// GL46.glBindVertexArray(QUAD);
// GlState.setActiveTexture(GL46.GL_TEXTURE0);
// });
public class ShaderContext {
private final int program;
private ShaderContext(int program) {
this.program = program;
}
public int getProgram() {
return this.program;
}
public ShaderContext bool(String name, boolean x) {
GL46.glUniform1i(GL46.glGetUniformLocation(this.program, name), x ? 1 : 0);
return this;
}
public ShaderContext integer(String name, int x) {
GL46.glUniform1i(GL46.glGetUniformLocation(this.program, name), x);
return this;
}
public ShaderContext vec(String name, float x) {
GL46.glUniform1f(GL46.glGetUniformLocation(this.program, name), x);
return this;
}
public ShaderContext vec(String name, float x, float y) {
GL46.glUniform2f(GL46.glGetUniformLocation(this.program, name), x, y);
return this;
}
public ShaderContext vec(String name, float x, float y, float z) {
GL46.glUniform3f(GL46.glGetUniformLocation(this.program, name), x, y, z);
return this;
}
public ShaderContext vec(String name, float x, float y, float z, float w) {
GL46.glUniform4f(GL46.glGetUniformLocation(this.program, name), x, y, z, w);
return this;
}
public ShaderContext vec(String name, Vec3 vec) {
GL46.glUniform3f(GL46.glGetUniformLocation(this.program, name), (float)vec.xCoord, (float)vec.yCoord, (float)vec.zCoord);
return this;
}
public ShaderContext vec(String name, Vector3f vec) {
GL46.glUniform3f(GL46.glGetUniformLocation(this.program, name), vec.x, vec.y, vec.z);
return this;
}
public ShaderContext vec(String name, Vector4f vec) {
GL46.glUniform4f(GL46.glGetUniformLocation(this.program, name), vec.x, vec.y, vec.z, vec.w);
return this;
}
public ShaderContext matrix(String name, FloatBuffer mat) {
GL46.glUniformMatrix4fv(GL46.glGetUniformLocation(this.program, name), false, mat);
return this;
}
public ShaderContext matrix(String name, Matrix4f mat) {
mat.store(BUFFER);
GL46.glUniformMatrix4fv(GL46.glGetUniformLocation(this.program, name), false, BUFFER);
return this;
}
public ShaderContext color(String name, int color) {
GL46.glUniform4f(GL46.glGetUniformLocation(this.program, name),
(float)((int)((color >> 16) & 0xff)) / 255.0f, (float)((int)((color >> 8) & 0xff)) / 255.0f,
(float)((int)(color & 0xff)) / 255.0f, (float)((int)((color >> 24) & 0xff)) / 255.0f
);
return this;
}
public ShaderContext color3(String name, int color) {
GL46.glUniform3f(GL46.glGetUniformLocation(this.program, name),
(float)((int)((color >> 16) & 0xff)) / 255.0f, (float)((int)((color >> 8) & 0xff)) / 255.0f,
(float)((int)(color & 0xff)) / 255.0f
);
return this;
}
public void finish() {
if(context != this)
throw new IllegalStateException("Der Shader-Kontext wird nicht mehr verwendet");
GL46.glUseProgram(0);
context = null;
}
}
private static final FloatBuffer BUFFER = ByteBuffer.allocateDirect(16 << 2).order(ByteOrder.nativeOrder()).asFloatBuffer();
private static ShaderContext context;
private final String vertex;
private final String fragment;
private final Consumer<ShaderContext> init;
private final Consumer<ShaderContext> draw;
private final Map<String, Supplier<Integer>> variables;
private int program;
public static void loadShaders() {
for(Shader shader : values()) {
if(!shader.load()) {
if(shader.program == 0)
throw new IllegalStateException("Konnte erforderliches Shader-Programm '" + shader.name() + "' nicht erstellen");
else
Log.RENDER.error("Konnte Shader-Programm '%s' nicht neu laden", shader.name());
}
}
}
public static void unloadShaders() {
for(Shader shader : values()) {
shader.unload();
}
}
private Shader(String vertex, String fragment, Consumer<ShaderContext> init, Consumer<ShaderContext> draw, Object ... vars) {
this.vertex = vertex;
this.fragment = fragment;
this.init = init;
this.draw = draw;
if(vars.length % 2 == 1)
throw new IllegalArgumentException("Es muss eine gerade Zahl an Argmumenten angegeben werden");
this.variables = vars.length == 0 ? null : Maps.newLinkedHashMap();
for(int z = 0; z < vars.length / 2; z++) {
this.variables.put((String)vars[z / 2], (Supplier<Integer>)vars[z / 2 + 1]);
}
}
private String buildInclude() {
if(this.variables == null)
return "";
StringBuilder sb = new StringBuilder();
for(Entry<String, Supplier<Integer>> entry : this.variables.entrySet()) {
sb.append("#define ").append(entry.getKey()).append(' ').append(entry.getValue().get()).append('\n');
}
return sb.toString();
}
private boolean compile(String vcode, String fcode) {
String include = this.buildInclude();
int vs = GL46.glCreateShader(GL46.GL_VERTEX_SHADER);
GL46.glShaderSource(vs, "#version 460 compatibility\n" + include + vcode);
GL46.glCompileShader(vs);
int ok = GL46.glGetShaderi(vs, GL46.GL_COMPILE_STATUS);
if(ok == 0) {
Log.RENDER.error(GL46.glGetShaderInfoLog(vs));
Log.RENDER.error("Fehler beim Kompilieren des Vertex-Shaders '%s'", this.vertex);
GL46.glDeleteShader(vs);
return false;
}
int fs = GL46.glCreateShader(GL46.GL_FRAGMENT_SHADER);
GL46.glShaderSource(fs, "#version 460 compatibility\n" + include + fcode);
GL46.glCompileShader(fs);
ok = GL46.glGetShaderi(fs, GL46.GL_COMPILE_STATUS);
if(ok == 0) {
Log.RENDER.error(GL46.glGetShaderInfoLog(fs));
Log.RENDER.error("Fehler beim Kompilieren des Fragment-Shaders '%s'", this.fragment);
GL46.glDeleteShader(vs);
GL46.glDeleteShader(fs);
return false;
}
int pr = GL46.glCreateProgram();
GL46.glAttachShader(pr, vs);
GL46.glAttachShader(pr, fs);
GL46.glLinkProgram(pr);
ok = GL46.glGetProgrami(pr, GL46.GL_LINK_STATUS);
if(ok == 0) {
Log.RENDER.error(GL46.glGetProgramInfoLog(pr));
Log.RENDER.error("Fehler beim Verbinden des Shader-Programms '%s' / '%s'", this.vertex, this.fragment);
GL46.glDeleteShader(vs);
GL46.glDeleteShader(fs);
GL46.glDeleteProgram(pr);
return false;
}
GL46.glDeleteShader(vs);
GL46.glDeleteShader(fs);
if(this.program != 0) {
GL46.glDeleteProgram(this.program);
Log.RENDER.debug("Shader '%s' / '%s' / ID #%d wurde mit ID #%d neu geladen", this.vertex, this.fragment, this.program, pr);
}
else {
Log.RENDER.debug("Shader '%s' / '%s' wurde mit ID #%d geladen", this.vertex, this.fragment, pr);
}
this.program = pr;
if(this.init != null) {
context = this.use();
this.init.accept(context);
context.finish();
}
return true;
}
private boolean load() {
String vcode;
try {
vcode = FileUtils.read("shaders/" + this.vertex + ".vsh");
}
catch(IOException e) {
Log.RENDER.error(e, "Fehler beim Laden des Vertex-Shaders '%s'", this.vertex);
return false;
}
String fcode;
try {
fcode = FileUtils.read("shaders/" + this.fragment + ".fsh");
}
catch(IOException e) {
Log.RENDER.error(e, "Fehler beim Laden des Fragment-Shaders '%s'", this.fragment);
return false;
}
return this.compile(vcode, fcode);
}
private boolean unload() {
if(this.program == 0)
return false;
GL46.glDeleteProgram(this.program);
Log.RENDER.debug("Shader '%s' / '%s' / ID #%d wurde gelöscht", this.vertex, this.fragment, this.program);
this.program = 0;
return true;
}
public ShaderContext use() {
if(context != null)
throw new IllegalStateException("Ein Shader wird bereits verwendet");
GL46.glUseProgram(this.program);
context = new ShaderContext(this.program);
if(this.draw != null)
this.draw.accept(context);
return context;
}
public void update() {
if(this.program != 0 && !this.load())
Log.RENDER.error("Konnte Shader-Programm '%s' nicht neu laden", this.name());
}
// void shd_setint(int *pos, const char *vardef, int value) {
// *pos += sprintf(&gdr.shd_include[*pos], "#define %s %d\n", vardef, value);
// }
//
// void shd_setvars() {
// int pos = 0;
// shd_setint(&pos, "MAX_LIGHTS", gdr.light_max < 1 ? 1 : gdr.light_max);
// }
}

View file

@ -3,8 +3,7 @@ package client.renderer;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.List; import java.util.List;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
public abstract class Tessellator public abstract class Tessellator
{ {
@ -36,29 +35,29 @@ public abstract class Tessellator
switch (vertexformatelement$enumusage) switch (vertexformatelement$enumusage)
{ {
case POSITION: case POSITION:
GL11.glVertexPointer(vertexformatelement.count(), k, i, bytebuffer); GL46.glVertexPointer(vertexformatelement.count(), k, i, bytebuffer);
GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY); GL46.glEnableClientState(GL46.GL_VERTEX_ARRAY);
break; break;
case UV: case UV:
GL13.glClientActiveTexture(GL13.GL_TEXTURE0 + l); GL46.glClientActiveTexture(GL46.GL_TEXTURE0 + l);
GL11.glTexCoordPointer(vertexformatelement.count(), k, i, bytebuffer); GL46.glTexCoordPointer(vertexformatelement.count(), k, i, bytebuffer);
GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY); GL46.glEnableClientState(GL46.GL_TEXTURE_COORD_ARRAY);
GL13.glClientActiveTexture(GL13.GL_TEXTURE0); GL46.glClientActiveTexture(GL46.GL_TEXTURE0);
break; break;
case COLOR: case COLOR:
GL11.glColorPointer(vertexformatelement.count(), k, i, bytebuffer); GL46.glColorPointer(vertexformatelement.count(), k, i, bytebuffer);
GL11.glEnableClientState(GL11.GL_COLOR_ARRAY); GL46.glEnableClientState(GL46.GL_COLOR_ARRAY);
break; break;
case NORMAL: case NORMAL:
GL11.glNormalPointer(k, i, bytebuffer); GL46.glNormalPointer(k, i, bytebuffer);
GL11.glEnableClientState(GL11.GL_NORMAL_ARRAY); GL46.glEnableClientState(GL46.GL_NORMAL_ARRAY);
} }
} }
GL11.glDrawArrays(BUFFER.getDrawMode(), 0, BUFFER.getVertexCount()); GL46.glDrawArrays(BUFFER.getDrawMode(), 0, BUFFER.getVertexCount());
int i1 = 0; int i1 = 0;
for (int j1 = list.size(); i1 < j1; ++i1) for (int j1 = list.size(); i1 < j1; ++i1)
@ -70,22 +69,22 @@ public abstract class Tessellator
switch (vertexformatelement$enumusage1) switch (vertexformatelement$enumusage1)
{ {
case POSITION: case POSITION:
GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY); GL46.glDisableClientState(GL46.GL_VERTEX_ARRAY);
break; break;
case UV: case UV:
GL13.glClientActiveTexture(GL13.GL_TEXTURE0 + k1); GL46.glClientActiveTexture(GL46.GL_TEXTURE0 + k1);
GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY); GL46.glDisableClientState(GL46.GL_TEXTURE_COORD_ARRAY);
GL13.glClientActiveTexture(GL13.GL_TEXTURE0); GL46.glClientActiveTexture(GL46.GL_TEXTURE0);
break; break;
case COLOR: case COLOR:
GL11.glDisableClientState(GL11.GL_COLOR_ARRAY); GL46.glDisableClientState(GL46.GL_COLOR_ARRAY);
GlState.resetColor(); GlState.resetColor();
break; break;
case NORMAL: case NORMAL:
GL11.glDisableClientState(GL11.GL_NORMAL_ARRAY); GL46.glDisableClientState(GL46.GL_NORMAL_ARRAY);
} }
} }
} }

View file

@ -2,8 +2,7 @@ package client.renderer;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL15;
public class VertexBuffer { public class VertexBuffer {
private int id; private int id;
@ -12,31 +11,31 @@ public class VertexBuffer {
public VertexBuffer(VertexFormat format) { public VertexBuffer(VertexFormat format) {
this.format = format; this.format = format;
this.id = GL15.glGenBuffers(); this.id = GL46.glGenBuffers();
} }
public void bindBuffer() { public void bindBuffer() {
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, this.id); GL46.glBindBuffer(GL46.GL_ARRAY_BUFFER, this.id);
} }
public void bufferData(ByteBuffer buffer) { public void bufferData(ByteBuffer buffer) {
this.bindBuffer(); this.bindBuffer();
GL15.glBufferData(GL15.GL_ARRAY_BUFFER, buffer, GL15.GL_STATIC_DRAW); GL46.glBufferData(GL46.GL_ARRAY_BUFFER, buffer, GL46.GL_STATIC_DRAW);
this.unbindBuffer(); this.unbindBuffer();
this.count = buffer.limit() / this.format.getNextOffset(); this.count = buffer.limit() / this.format.getNextOffset();
} }
public void drawArrays(int mode) { public void drawArrays(int mode) {
GL11.glDrawArrays(mode, 0, this.count); GL46.glDrawArrays(mode, 0, this.count);
} }
public void unbindBuffer() { public void unbindBuffer() {
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL46.glBindBuffer(GL46.GL_ARRAY_BUFFER, 0);
} }
public void deleteGlBuffers() { public void deleteGlBuffers() {
if(this.id >= 0) { if(this.id >= 0) {
GL15.glDeleteBuffers(this.id); GL46.glDeleteBuffers(this.id);
this.id = -1; this.id = -1;
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer; package client.renderer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
public record VertexFormatElement(int index, VertexFormatElement.EnumType type, VertexFormatElement.EnumUsage usage, int count) { public record VertexFormatElement(int index, VertexFormatElement.EnumType type, VertexFormatElement.EnumUsage usage, int count) {
public String toString() { public String toString() {
@ -33,13 +33,13 @@ public record VertexFormatElement(int index, VertexFormatElement.EnumType type,
} }
public static enum EnumType { public static enum EnumType {
FLOAT(4, "Float", GL11.GL_FLOAT), FLOAT(4, "Float", GL46.GL_FLOAT),
UBYTE(1, "Unsigned Byte", GL11.GL_UNSIGNED_BYTE), UBYTE(1, "Unsigned Byte", GL46.GL_UNSIGNED_BYTE),
BYTE(1, "Byte", GL11.GL_BYTE), BYTE(1, "Byte", GL46.GL_BYTE),
USHORT(2, "Unsigned Short", GL11.GL_UNSIGNED_SHORT), USHORT(2, "Unsigned Short", GL46.GL_UNSIGNED_SHORT),
SHORT(2, "Short", GL11.GL_SHORT), SHORT(2, "Short", GL46.GL_SHORT),
UINT(4, "Unsigned Int", GL11.GL_UNSIGNED_INT), UINT(4, "Unsigned Int", GL46.GL_UNSIGNED_INT),
INT(4, "Int", GL11.GL_INT); INT(4, "Int", GL46.GL_INT);
private final int size; private final int size;
private final String name; private final String name;

View file

@ -1,16 +0,0 @@
package client.renderer.chunk;
public enum BlockLayer {
SOLID("Solid"),
CUTOUT("Cutout");
private final String name;
private BlockLayer(String name) {
this.name = name;
}
public String toString() {
return this.name;
}
}

View file

@ -3,7 +3,7 @@ package client.renderer.chunk;
import java.util.List; import java.util.List;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
import client.renderer.RegionRenderCacheBuilder; import client.renderer.RenderBuffer;
import common.collect.Lists; import common.collect.Lists;
public class ChunkCompileTaskGenerator public class ChunkCompileTaskGenerator
@ -11,7 +11,7 @@ public class ChunkCompileTaskGenerator
private final RenderChunk renderChunk; private final RenderChunk renderChunk;
private final ReentrantLock lock = new ReentrantLock(); private final ReentrantLock lock = new ReentrantLock();
private final List<Runnable> listFinishRunnables = Lists.<Runnable>newArrayList(); private final List<Runnable> listFinishRunnables = Lists.<Runnable>newArrayList();
private RegionRenderCacheBuilder regionRenderCacheBuilder; private RenderBuffer regionRenderCacheBuilder;
private CompiledChunk compiledChunk; private CompiledChunk compiledChunk;
private ChunkCompileTaskGenerator.Status status = ChunkCompileTaskGenerator.Status.PENDING; private ChunkCompileTaskGenerator.Status status = ChunkCompileTaskGenerator.Status.PENDING;
private boolean finished; private boolean finished;
@ -41,12 +41,12 @@ public class ChunkCompileTaskGenerator
this.compiledChunk = compiledChunkIn; this.compiledChunk = compiledChunkIn;
} }
public RegionRenderCacheBuilder getRegionRenderCacheBuilder() public RenderBuffer getRegionRenderCacheBuilder()
{ {
return this.regionRenderCacheBuilder; return this.regionRenderCacheBuilder;
} }
public void setRegionRenderCacheBuilder(RegionRenderCacheBuilder regionRenderCacheBuilderIn) public void setRegionRenderCacheBuilder(RenderBuffer regionRenderCacheBuilderIn)
{ {
this.regionRenderCacheBuilder = regionRenderCacheBuilderIn; this.regionRenderCacheBuilder = regionRenderCacheBuilderIn;
} }

View file

@ -6,7 +6,6 @@ import java.util.Queue;
import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue; import java.util.concurrent.BlockingQueue;
import client.Client; import client.Client;
import client.renderer.RegionRenderCacheBuilder;
import client.renderer.RenderBuffer; import client.renderer.RenderBuffer;
import client.renderer.VertexBuffer; import client.renderer.VertexBuffer;
import client.renderer.chunk.ChunkBuilder.ImmediateFuture; import client.renderer.chunk.ChunkBuilder.ImmediateFuture;
@ -18,7 +17,7 @@ public class ChunkRenderDispatcher
{ {
private final List<ChunkRenderWorker> listThreadedWorkers = Lists.<ChunkRenderWorker>newArrayList(); private final List<ChunkRenderWorker> listThreadedWorkers = Lists.<ChunkRenderWorker>newArrayList();
private final BlockingQueue<ChunkCompileTaskGenerator> queueChunkUpdates = new ArrayBlockingQueue<ChunkCompileTaskGenerator>(100); private final BlockingQueue<ChunkCompileTaskGenerator> queueChunkUpdates = new ArrayBlockingQueue<ChunkCompileTaskGenerator>(100);
private final BlockingQueue<RegionRenderCacheBuilder> queueFreeRenderBuilders = new ArrayBlockingQueue<RegionRenderCacheBuilder>(5); private final BlockingQueue<RenderBuffer> queueFreeRenderBuilders = new ArrayBlockingQueue<RenderBuffer>(5);
private final Queue < ListenableFutureTask<? >> queueChunkUploads = new ArrayDeque<ListenableFutureTask<?>>(); private final Queue < ListenableFutureTask<? >> queueChunkUploads = new ArrayDeque<ListenableFutureTask<?>>();
private final ChunkRenderWorker renderWorker; private final ChunkRenderWorker renderWorker;
@ -37,10 +36,10 @@ public class ChunkRenderDispatcher
for (int j = 0; j < 5; ++j) for (int j = 0; j < 5; ++j)
{ {
this.queueFreeRenderBuilders.add(new RegionRenderCacheBuilder()); this.queueFreeRenderBuilders.add(new RenderBuffer(4194304));
} }
this.renderWorker = new ChunkRenderWorker(this, new RegionRenderCacheBuilder()); this.renderWorker = new ChunkRenderWorker(this, new RenderBuffer(4194304));
} }
public void kill() { public void kill() {
@ -157,7 +156,7 @@ public class ChunkRenderDispatcher
; ;
} }
List<RegionRenderCacheBuilder> list = Lists.<RegionRenderCacheBuilder>newArrayList(); List<RenderBuffer> list = Lists.<RenderBuffer>newArrayList();
while (((List)list).size() != 5) while (((List)list).size() != 5)
{ {
@ -174,14 +173,14 @@ public class ChunkRenderDispatcher
this.queueFreeRenderBuilders.addAll(list); this.queueFreeRenderBuilders.addAll(list);
} }
public void freeRenderBuilder(RegionRenderCacheBuilder p_178512_1_) public void freeRenderBuilder(RenderBuffer p_178512_1_)
{ {
this.queueFreeRenderBuilders.add(p_178512_1_); this.queueFreeRenderBuilders.add(p_178512_1_);
} }
public RegionRenderCacheBuilder allocateRenderBuilder() throws InterruptedException public RenderBuffer allocateRenderBuilder() throws InterruptedException
{ {
return (RegionRenderCacheBuilder)this.queueFreeRenderBuilders.take(); return this.queueFreeRenderBuilders.take();
} }
public ChunkCompileTaskGenerator getNextChunkUpdate() throws InterruptedException public ChunkCompileTaskGenerator getNextChunkUpdate() throws InterruptedException
@ -189,12 +188,12 @@ public class ChunkRenderDispatcher
return (ChunkCompileTaskGenerator)this.queueChunkUpdates.take(); return (ChunkCompileTaskGenerator)this.queueChunkUpdates.take();
} }
public ListenableFuture<Object> uploadChunk(final BlockLayer layer, final RenderBuffer buf, final RenderChunk renderer, final CompiledChunk compiled) public ListenableFuture<Object> uploadChunk(final RenderBuffer buf, final RenderChunk renderer, final CompiledChunk compiled)
{ {
if (Client.CLIENT.isMainThread()) if (Client.CLIENT.isMainThread())
{ {
buf.reset(); buf.reset();
renderer.getVertexBufferByLayer(layer.ordinal()).bufferData(buf.getByteBuffer()); renderer.getVertexBuffer().bufferData(buf.getByteBuffer());
buf.setTranslation(0.0D, 0.0D, 0.0D); buf.setTranslation(0.0D, 0.0D, 0.0D);
return new ImmediateFuture(); return new ImmediateFuture();
@ -205,7 +204,7 @@ public class ChunkRenderDispatcher
{ {
public void run() public void run()
{ {
ChunkRenderDispatcher.this.uploadChunk(layer, buf, renderer, compiled); ChunkRenderDispatcher.this.uploadChunk(buf, renderer, compiled);
} }
}, (Object)null); }, (Object)null);

View file

@ -2,7 +2,7 @@ package client.renderer.chunk;
import java.util.List; import java.util.List;
import client.Client; import client.Client;
import client.renderer.RegionRenderCacheBuilder; import client.renderer.RenderBuffer;
import client.renderer.chunk.ChunkBuilder.ListenableFuture; import client.renderer.chunk.ChunkBuilder.ListenableFuture;
import common.collect.Lists; import common.collect.Lists;
import common.entity.Entity; import common.entity.Entity;
@ -11,16 +11,16 @@ import common.log.Log;
public class ChunkRenderWorker implements Runnable public class ChunkRenderWorker implements Runnable
{ {
private final ChunkRenderDispatcher chunkRenderDispatcher; private final ChunkRenderDispatcher chunkRenderDispatcher;
private final RegionRenderCacheBuilder regionRenderCacheBuilder; private final RenderBuffer regionRenderCacheBuilder;
private boolean running = true; private boolean running = true;
public ChunkRenderWorker(ChunkRenderDispatcher p_i46201_1_) public ChunkRenderWorker(ChunkRenderDispatcher p_i46201_1_)
{ {
this(p_i46201_1_, (RegionRenderCacheBuilder)null); this(p_i46201_1_, null);
} }
public ChunkRenderWorker(ChunkRenderDispatcher chunkRenderDispatcherIn, RegionRenderCacheBuilder regionRenderCacheBuilderIn) public ChunkRenderWorker(ChunkRenderDispatcher chunkRenderDispatcherIn, RenderBuffer regionRenderCacheBuilderIn)
{ {
this.chunkRenderDispatcher = chunkRenderDispatcherIn; this.chunkRenderDispatcher = chunkRenderDispatcherIn;
this.regionRenderCacheBuilder = regionRenderCacheBuilderIn; this.regionRenderCacheBuilder = regionRenderCacheBuilderIn;
@ -109,19 +109,16 @@ public class ChunkRenderWorker implements Runnable
final CompiledChunk compiled = generator.getCompiledChunk(); final CompiledChunk compiled = generator.getCompiledChunk();
List<ListenableFuture<Object>> list = Lists.newArrayList(); List<ListenableFuture<Object>> list = Lists.newArrayList();
for (BlockLayer enumworldblocklayer : BlockLayer.values()) if (compiled.isLayerStarted())
{ {
if (compiled.isLayerStarted(enumworldblocklayer)) list.add(this.chunkRenderDispatcher.uploadChunk(generator.getRegionRenderCacheBuilder(), generator.getRenderChunk(), compiled));
{
list.add(this.chunkRenderDispatcher.uploadChunk(enumworldblocklayer, generator.getRegionRenderCacheBuilder().getWorldRendererByLayer(enumworldblocklayer), generator.getRenderChunk(), compiled));
}
} }
ChunkBuilder.addCallback(list, generator, compiled, this); ChunkBuilder.addCallback(list, generator, compiled, this);
} }
} }
private RegionRenderCacheBuilder getRegionRenderCacheBuilder() throws InterruptedException private RenderBuffer getRegionRenderCacheBuilder() throws InterruptedException
{ {
return this.regionRenderCacheBuilder != null ? this.regionRenderCacheBuilder : this.chunkRenderDispatcher.allocateRenderBuilder(); return this.regionRenderCacheBuilder != null ? this.regionRenderCacheBuilder : this.chunkRenderDispatcher.allocateRenderBuilder();
} }

View file

@ -10,11 +10,11 @@ public class CompiledChunk
{ {
public static final CompiledChunk DUMMY = new CompiledChunk() public static final CompiledChunk DUMMY = new CompiledChunk()
{ {
protected void setLayerUsed(BlockLayer layer) protected void setLayerUsed()
{ {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
public void setLayerStarted(BlockLayer layer) public void setLayerStarted()
{ {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
@ -23,8 +23,9 @@ public class CompiledChunk
return false; return false;
} }
}; };
private final boolean[] layersUsed = new boolean[BlockLayer.values().length];
private final boolean[] layersStarted = new boolean[BlockLayer.values().length]; private boolean layerUsed;
private boolean layerStarted;
private boolean empty = true; private boolean empty = true;
private final List<TileEntity> tileEntities = Lists.<TileEntity>newArrayList(); private final List<TileEntity> tileEntities = Lists.<TileEntity>newArrayList();
private SetVisibility setVisibility = new SetVisibility(); private SetVisibility setVisibility = new SetVisibility();
@ -34,25 +35,25 @@ public class CompiledChunk
return this.empty; return this.empty;
} }
protected void setLayerUsed(BlockLayer layer) protected void setLayerUsed()
{ {
this.empty = false; this.empty = false;
this.layersUsed[layer.ordinal()] = true; this.layerUsed = true;
} }
public boolean isLayerEmpty(BlockLayer layer) public boolean isLayerEmpty()
{ {
return !this.layersUsed[layer.ordinal()]; return !this.layerUsed;
} }
public void setLayerStarted(BlockLayer layer) public void setLayerStarted()
{ {
this.layersStarted[layer.ordinal()] = true; this.layerStarted = true;
} }
public boolean isLayerStarted(BlockLayer layer) public boolean isLayerStarted()
{ {
return this.layersStarted[layer.ordinal()]; return this.layerStarted;
} }
public List<TileEntity> getTileEntities() public List<TileEntity> getTileEntities()

View file

@ -8,7 +8,7 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
@ -42,7 +42,7 @@ public class RenderChunk
private final Set<TileEntity> setTileEntities = Sets.<TileEntity>newHashSet(); private final Set<TileEntity> setTileEntities = Sets.<TileEntity>newHashSet();
private final int index; private final int index;
private final FloatBuffer modelviewMatrix = ByteBuffer.allocateDirect(16 << 2).order(ByteOrder.nativeOrder()).asFloatBuffer(); private final FloatBuffer modelviewMatrix = ByteBuffer.allocateDirect(16 << 2).order(ByteOrder.nativeOrder()).asFloatBuffer();
private final VertexBuffer[] vertexBuffers = new VertexBuffer[BlockLayer.values().length]; private VertexBuffer vertexBuffer;
public BoundingBox boundingBox; public BoundingBox boundingBox;
private int frameIndex = -1; private int frameIndex = -1;
private boolean needsUpdate = true; private boolean needsUpdate = true;
@ -59,10 +59,7 @@ public class RenderChunk
this.setPosition(blockPosIn); this.setPosition(blockPosIn);
} }
for (int i = 0; i < BlockLayer.values().length; ++i) this.vertexBuffer = new VertexBuffer(DefaultVertexFormats.BLOCK);
{
this.vertexBuffers[i] = new VertexBuffer(DefaultVertexFormats.BLOCK);
}
} }
public boolean setFrameIndex(int frameIndexIn) public boolean setFrameIndex(int frameIndexIn)
@ -78,9 +75,9 @@ public class RenderChunk
} }
} }
public VertexBuffer getVertexBufferByLayer(int layer) public VertexBuffer getVertexBuffer()
{ {
return this.vertexBuffers[layer]; return this.vertexBuffer;
} }
public void setPosition(BlockPos pos) public void setPosition(BlockPos pos)
@ -127,7 +124,7 @@ public class RenderChunk
if (!iblockaccess.isEmpty()) if (!iblockaccess.isEmpty())
{ {
++renderChunksUpdated; ++renderChunksUpdated;
boolean[] aboolean = new boolean[BlockLayer.values().length]; boolean aboolean = false;
Renderer renderer = this.gm.renderer; Renderer renderer = this.gm.renderer;
for (BlockPos.MutableBlockPos blockpos$mutableblockpos : BlockPos.getAllInBoxMutable(blockpos, blockpos1)) for (BlockPos.MutableBlockPos blockpos$mutableblockpos : BlockPos.getAllInBoxMutable(blockpos, blockpos1))
@ -158,31 +155,26 @@ public class RenderChunk
if (block != Blocks.air) if (block != Blocks.air)
{ {
BlockLayer layer = block.hasTransparency() ? BlockLayer.CUTOUT : BlockLayer.SOLID; RenderBuffer worldrenderer = generator.getRegionRenderCacheBuilder();
int idx = layer.ordinal();
RenderBuffer worldrenderer = generator.getRegionRenderCacheBuilder().getWorldRendererByLayerId(idx);
if (!compiledchunk.isLayerStarted(layer)) if (!compiledchunk.isLayerStarted())
{ {
compiledchunk.setLayerStarted(layer); compiledchunk.setLayerStarted();
this.preRenderBlocks(worldrenderer, blockpos); this.preRenderBlocks(worldrenderer, blockpos);
} }
aboolean[idx] |= renderer.renderBlock(iblockstate, blockpos$mutableblockpos, iblockaccess, worldrenderer); aboolean |= renderer.renderBlock(iblockstate, blockpos$mutableblockpos, iblockaccess, worldrenderer);
} }
} }
for (BlockLayer enumworldblocklayer : BlockLayer.values()) if (aboolean)
{ {
if (aboolean[enumworldblocklayer.ordinal()]) compiledchunk.setLayerUsed();
{ }
compiledchunk.setLayerUsed(enumworldblocklayer);
}
if (compiledchunk.isLayerStarted(enumworldblocklayer)) if (compiledchunk.isLayerStarted())
{ {
generator.getRegionRenderCacheBuilder().getWorldRendererByLayer(enumworldblocklayer).finishDrawing(); generator.getRegionRenderCacheBuilder().finishDrawing();
}
} }
} }
@ -249,25 +241,25 @@ public class RenderChunk
private void preRenderBlocks(RenderBuffer worldRendererIn, BlockPos pos) private void preRenderBlocks(RenderBuffer worldRendererIn, BlockPos pos)
{ {
worldRendererIn.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); worldRendererIn.begin(GL46.GL_QUADS, DefaultVertexFormats.BLOCK);
worldRendererIn.setTranslation((double)(-pos.getX()), (double)(-pos.getY()), (double)(-pos.getZ())); worldRendererIn.setTranslation((double)(-pos.getX()), (double)(-pos.getY()), (double)(-pos.getZ()));
} }
private void initModelviewMatrix() private void initModelviewMatrix()
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glLoadIdentity(); GL46.glLoadIdentity();
float f = 1.000001F; float f = 1.000001F;
GL11.glTranslatef(-8.0F, -8.0F, -8.0F); GL46.glTranslatef(-8.0F, -8.0F, -8.0F);
GL11.glScalef(f, f, f); GL46.glScalef(f, f, f);
GL11.glTranslatef(8.0F, 8.0F, 8.0F); GL46.glTranslatef(8.0F, 8.0F, 8.0F);
GL11.glGetFloatv(2982, this.modelviewMatrix); GL46.glGetFloatv(2982, this.modelviewMatrix);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
public void multModelviewMatrix() public void multModelviewMatrix()
{ {
GL11.glMultMatrixf(this.modelviewMatrix); GL46.glMultMatrixf(this.modelviewMatrix);
} }
public CompiledChunk getCompiledChunk() public CompiledChunk getCompiledChunk()
@ -299,14 +291,8 @@ public class RenderChunk
{ {
this.stopCompileTask(); this.stopCompileTask();
this.gm = null; this.gm = null;
if(this.vertexBuffer != null)
for (int i = 0; i < BlockLayer.values().length; ++i) this.vertexBuffer.deleteGlBuffers();
{
if (this.vertexBuffers[i] != null)
{
this.vertexBuffers[i].deleteGlBuffers();
}
}
} }
public BlockPos getPosition() public BlockPos getPosition()

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.layers.LayerArachnoidArmor; import client.renderer.layers.LayerArachnoidArmor;
import client.renderer.model.ModelArachnoid; import client.renderer.model.ModelArachnoid;
@ -22,10 +22,10 @@ public class RenderArachnoid extends RenderHumanoid
// } // }
protected void renderLayers(EntityNPC entity, float swing, float amount, float partial, float time, float dYaw, float dPitch, float scale) { protected void renderLayers(EntityNPC entity, float swing, float amount, float partial, float time, float dYaw, float dPitch, float scale) {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0f, 3.0f / 16.0f, 0.0f); GL46.glTranslatef(0.0f, 3.0f / 16.0f, 0.0f);
super.renderLayers(entity, swing, amount, partial, time, dYaw, dPitch, scale); super.renderLayers(entity, swing, amount, partial, time, dYaw, dPitch, scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
public ModelArachnoid getMainModel() public ModelArachnoid getMainModel()

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.GlState; import client.renderer.GlState;
@ -26,10 +26,10 @@ public class RenderArrow extends Render<EntityArrow>
{ {
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
GL11.glRotatef(entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks, 0.0F, 0.0F, 1.0F); GL46.glRotatef(entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
// Tessellator tessellator = Tessellator.getInstance(); // Tessellator tessellator = Tessellator.getInstance();
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
int i = 0; int i = 0;
@ -48,21 +48,21 @@ public class RenderArrow extends Render<EntityArrow>
if (f9 > 0.0F) if (f9 > 0.0F)
{ {
float f10 = -ExtMath.sin(f9 * 3.0F) * f9; float f10 = -ExtMath.sin(f9 * 3.0F) * f9;
GL11.glRotatef(f10, 0.0F, 0.0F, 1.0F); GL46.glRotatef(f10, 0.0F, 0.0F, 1.0F);
} }
GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
GL11.glScalef(f8, f8, f8); GL46.glScalef(f8, f8, f8);
GL11.glTranslatef(-4.0F, 0.0F, 0.0F); GL46.glTranslatef(-4.0F, 0.0F, 0.0F);
GL11.glNormal3f(f8, 0.0F, 0.0F); GL46.glNormal3f(f8, 0.0F, 0.0F);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos(-7.0D, -2.0D, -2.0D).tex((double)f4, (double)f6).endVertex(); worldrenderer.pos(-7.0D, -2.0D, -2.0D).tex((double)f4, (double)f6).endVertex();
worldrenderer.pos(-7.0D, -2.0D, 2.0D).tex((double)f5, (double)f6).endVertex(); worldrenderer.pos(-7.0D, -2.0D, 2.0D).tex((double)f5, (double)f6).endVertex();
worldrenderer.pos(-7.0D, 2.0D, 2.0D).tex((double)f5, (double)f7).endVertex(); worldrenderer.pos(-7.0D, 2.0D, 2.0D).tex((double)f5, (double)f7).endVertex();
worldrenderer.pos(-7.0D, 2.0D, -2.0D).tex((double)f4, (double)f7).endVertex(); worldrenderer.pos(-7.0D, 2.0D, -2.0D).tex((double)f4, (double)f7).endVertex();
Tessellator.draw(); Tessellator.draw();
GL11.glNormal3f(-f8, 0.0F, 0.0F); GL46.glNormal3f(-f8, 0.0F, 0.0F);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos(-7.0D, 2.0D, -2.0D).tex((double)f4, (double)f6).endVertex(); worldrenderer.pos(-7.0D, 2.0D, -2.0D).tex((double)f4, (double)f6).endVertex();
worldrenderer.pos(-7.0D, 2.0D, 2.0D).tex((double)f5, (double)f6).endVertex(); worldrenderer.pos(-7.0D, 2.0D, 2.0D).tex((double)f5, (double)f6).endVertex();
worldrenderer.pos(-7.0D, -2.0D, 2.0D).tex((double)f5, (double)f7).endVertex(); worldrenderer.pos(-7.0D, -2.0D, 2.0D).tex((double)f5, (double)f7).endVertex();
@ -71,9 +71,9 @@ public class RenderArrow extends Render<EntityArrow>
for (int j = 0; j < 4; ++j) for (int j = 0; j < 4; ++j)
{ {
GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glNormal3f(0.0F, 0.0F, f8); GL46.glNormal3f(0.0F, 0.0F, f8);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos(-8.0D, -2.0D, 0.0D).tex((double)f, (double)f2).endVertex(); worldrenderer.pos(-8.0D, -2.0D, 0.0D).tex((double)f, (double)f2).endVertex();
worldrenderer.pos(8.0D, -2.0D, 0.0D).tex((double)f1, (double)f2).endVertex(); worldrenderer.pos(8.0D, -2.0D, 0.0D).tex((double)f1, (double)f2).endVertex();
worldrenderer.pos(8.0D, 2.0D, 0.0D).tex((double)f1, (double)f3).endVertex(); worldrenderer.pos(8.0D, 2.0D, 0.0D).tex((double)f1, (double)f3).endVertex();
@ -82,7 +82,7 @@ public class RenderArrow extends Render<EntityArrow>
} }
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.model.ModelBat; import client.renderer.model.ModelBat;
import common.entity.animal.EntityBat; import common.entity.animal.EntityBat;
@ -30,18 +30,18 @@ public class RenderBat extends RenderLiving<EntityBat>
*/ */
protected void preRenderCallback(EntityBat entitylivingbaseIn, float partialTickTime) protected void preRenderCallback(EntityBat entitylivingbaseIn, float partialTickTime)
{ {
GL11.glScalef(0.35F, 0.35F, 0.35F); GL46.glScalef(0.35F, 0.35F, 0.35F);
} }
protected void rotateCorpse(EntityBat bat, float p_77043_2_, float p_77043_3_, float partialTicks) protected void rotateCorpse(EntityBat bat, float p_77043_2_, float p_77043_3_, float partialTicks)
{ {
if (!bat.getIsBatHanging()) if (!bat.getIsBatHanging())
{ {
GL11.glTranslatef(0.0F, ExtMath.cos(p_77043_2_ * 0.3F) * 0.1F, 0.0F); GL46.glTranslatef(0.0F, ExtMath.cos(p_77043_2_ * 0.3F) * 0.1F, 0.0F);
} }
else else
{ {
GL11.glTranslatef(0.0F, -0.1F, 0.0F); GL46.glTranslatef(0.0F, -0.1F, 0.0F);
} }
super.rotateCorpse(bat, p_77043_2_, p_77043_3_, partialTicks); super.rotateCorpse(bat, p_77043_2_, p_77043_3_, partialTicks);

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.texture.TextureMap; import client.renderer.texture.TextureMap;
@ -27,8 +27,8 @@ public class RenderBlockEntity extends Render<Entity>
// if(entity.isInvisible()) { // if(entity.isInvisible()) {
// return; // return;
// } // }
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y + 0.5F, (float)z); GL46.glTranslatef((float)x, (float)y + 0.5F, (float)z);
// if ((float)entity.fuse - partialTicks + 1.0F < 10.0F) // if ((float)entity.fuse - partialTicks + 1.0F < 10.0F)
// { // {
@ -42,16 +42,16 @@ public class RenderBlockEntity extends Render<Entity>
// float f2 = (1.0F - ((float)entity.fuse - partialTicks + 1.0F) / 100.0F) * 0.8F; // float f2 = (1.0F - ((float)entity.fuse - partialTicks + 1.0F) / 100.0F) * 0.8F;
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
GL11.glTranslatef(-0.5F, -0.5F, 0.5F); GL46.glTranslatef(-0.5F, -0.5F, 0.5F);
Client.CLIENT.renderer.renderBlockEntity(this.state, getBrightness(entity)); Client.CLIENT.renderer.renderBlockEntity(this.state, getBrightness(entity));
GL11.glTranslatef(0.0F, 0.0F, 1.0F); GL46.glTranslatef(0.0F, 0.0F, 1.0F);
// if (entity.fuse / 5 % 2 == 0) // if (entity.fuse / 5 % 2 == 0)
// { // {
// GlStateManager.disableTexture2D(); // GlStateManager.disableTexture2D();
// GlStateManager.disableLighting(); // GlStateManager.disableLighting();
// GlStateManager.enableBlend(); // GlStateManager.enableBlend();
// GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA); // GlStateManager.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_DST_ALPHA);
// GlStateManager.color(1.0F, 1.0F, 1.0F, f2); // GlStateManager.color(1.0F, 1.0F, 1.0F, f2);
// GlStateManager.doPolygonOffset(-3.0F, -3.0F); // GlStateManager.doPolygonOffset(-3.0F, -3.0F);
// GlStateManager.enablePolygonOffset(); // GlStateManager.enablePolygonOffset();
@ -64,7 +64,7 @@ public class RenderBlockEntity extends Render<Entity>
// GlStateManager.enableTexture2D(); // GlStateManager.enableTexture2D();
// } // }
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.model.ModelBase; import client.renderer.model.ModelBase;
import client.renderer.model.ModelBoat; import client.renderer.model.ModelBoat;
@ -26,9 +26,9 @@ public class RenderBoat extends Render<EntityBoat>
*/ */
public void doRender(EntityBoat entity, double x, double y, double z, float partialTicks) public void doRender(EntityBoat entity, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y + 0.25F, (float)z); GL46.glTranslatef((float)x, (float)y + 0.25F, (float)z);
GL11.glRotatef(180.0F - (entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks), 0.0F, 1.0F, 0.0F); GL46.glRotatef(180.0F - (entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks), 0.0F, 1.0F, 0.0F);
float f = (float)entity.getTimeSinceHit() - partialTicks; float f = (float)entity.getTimeSinceHit() - partialTicks;
float f1 = (float)entity.getDamageTaken() - partialTicks; float f1 = (float)entity.getDamageTaken() - partialTicks;
@ -39,16 +39,16 @@ public class RenderBoat extends Render<EntityBoat>
if (f > 0.0F) if (f > 0.0F)
{ {
GL11.glRotatef(ExtMath.sin(f) * f * f1 / 10.0F * (float)entity.getForwardDirection(), 1.0F, 0.0F, 0.0F); GL46.glRotatef(ExtMath.sin(f) * f * f1 / 10.0F * (float)entity.getForwardDirection(), 1.0F, 0.0F, 0.0F);
} }
float f2 = 0.75F; float f2 = 0.75F;
GL11.glScalef(f2, f2, f2); GL46.glScalef(f2, f2, f2);
GL11.glScalef(1.0F / f2, 1.0F / f2, 1.0F / f2); GL46.glScalef(1.0F / f2, 1.0F / f2, 1.0F / f2);
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
GL11.glScalef(-1.0F, -1.0F, 1.0F); GL46.glScalef(-1.0F, -1.0F, 1.0F);
this.modelBoat.render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); this.modelBoat.render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.GlState; import client.renderer.GlState;
@ -22,10 +22,10 @@ public class RenderBullet extends Render<EntityBullet>
{ {
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
GL11.glRotatef(entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks, 0.0F, 0.0F, 1.0F); GL46.glRotatef(entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
float f = 0.0F; float f = 0.0F;
float f1 = 0.5F; float f1 = 0.5F;
@ -38,18 +38,18 @@ public class RenderBullet extends Render<EntityBullet>
float f8 = 0.05625F; float f8 = 0.05625F;
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
GL11.glScalef(f8, f8, f8); GL46.glScalef(f8, f8, f8);
GL11.glTranslatef(-4.0F, 0.0F, 0.0F); GL46.glTranslatef(-4.0F, 0.0F, 0.0F);
GL11.glNormal3f(f8, 0.0F, 0.0F); GL46.glNormal3f(f8, 0.0F, 0.0F);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos(-7.0D, -2.0D, -2.0D).tex((double)f4, (double)f6).endVertex(); worldrenderer.pos(-7.0D, -2.0D, -2.0D).tex((double)f4, (double)f6).endVertex();
worldrenderer.pos(-7.0D, -2.0D, 2.0D).tex((double)f5, (double)f6).endVertex(); worldrenderer.pos(-7.0D, -2.0D, 2.0D).tex((double)f5, (double)f6).endVertex();
worldrenderer.pos(-7.0D, 2.0D, 2.0D).tex((double)f5, (double)f7).endVertex(); worldrenderer.pos(-7.0D, 2.0D, 2.0D).tex((double)f5, (double)f7).endVertex();
worldrenderer.pos(-7.0D, 2.0D, -2.0D).tex((double)f4, (double)f7).endVertex(); worldrenderer.pos(-7.0D, 2.0D, -2.0D).tex((double)f4, (double)f7).endVertex();
Tessellator.draw(); Tessellator.draw();
GL11.glNormal3f(-f8, 0.0F, 0.0F); GL46.glNormal3f(-f8, 0.0F, 0.0F);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos(-7.0D, 2.0D, -2.0D).tex((double)f4, (double)f6).endVertex(); worldrenderer.pos(-7.0D, 2.0D, -2.0D).tex((double)f4, (double)f6).endVertex();
worldrenderer.pos(-7.0D, 2.0D, 2.0D).tex((double)f5, (double)f6).endVertex(); worldrenderer.pos(-7.0D, 2.0D, 2.0D).tex((double)f5, (double)f6).endVertex();
worldrenderer.pos(-7.0D, -2.0D, 2.0D).tex((double)f5, (double)f7).endVertex(); worldrenderer.pos(-7.0D, -2.0D, 2.0D).tex((double)f5, (double)f7).endVertex();
@ -58,9 +58,9 @@ public class RenderBullet extends Render<EntityBullet>
for (int j = 0; j < 4; ++j) for (int j = 0; j < 4; ++j)
{ {
GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glNormal3f(0.0F, 0.0F, f8); GL46.glNormal3f(0.0F, 0.0F, f8);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
worldrenderer.pos(-8.0D, -2.0D, 0.0D).tex((double)f, (double)f2).endVertex(); worldrenderer.pos(-8.0D, -2.0D, 0.0D).tex((double)f, (double)f2).endVertex();
worldrenderer.pos(8.0D, -2.0D, 0.0D).tex((double)f1, (double)f2).endVertex(); worldrenderer.pos(8.0D, -2.0D, 0.0D).tex((double)f1, (double)f2).endVertex();
worldrenderer.pos(8.0D, 2.0D, 0.0D).tex((double)f1, (double)f3).endVertex(); worldrenderer.pos(8.0D, 2.0D, 0.0D).tex((double)f1, (double)f3).endVertex();
@ -69,7 +69,7 @@ public class RenderBullet extends Render<EntityBullet>
} }
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.model.ModelBase; import client.renderer.model.ModelBase;
import common.entity.animal.EntityCat; import common.entity.animal.EntityCat;
@ -50,7 +50,7 @@ public class RenderCat extends RenderLiving<EntityCat>
if (entitylivingbaseIn.isTamed()) if (entitylivingbaseIn.isTamed())
{ {
GL11.glScalef(0.8F, 0.8F, 0.8F); GL46.glScalef(0.8F, 0.8F, 0.8F);
} }
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.model.ModelBase; import client.renderer.model.ModelBase;
import client.renderer.model.ModelCrystal; import client.renderer.model.ModelCrystal;
@ -26,13 +26,13 @@ public class RenderCrystal extends Render<EntityCrystal>
public void doRender(EntityCrystal entity, double x, double y, double z, float partialTicks) public void doRender(EntityCrystal entity, double x, double y, double z, float partialTicks)
{ {
float f = (float)entity.innerRotation + partialTicks; float f = (float)entity.innerRotation + partialTicks;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
this.bindTexture(crystalTextures); this.bindTexture(crystalTextures);
float f1 = ExtMath.sin(f * 0.2F) / 2.0F + 0.5F; float f1 = ExtMath.sin(f * 0.2F) / 2.0F + 0.5F;
f1 = f1 * f1 + f1; f1 = f1 * f1 + f1;
this.modelCrystal.render(entity, 0.0F, f * 3.0F, f1 * 0.2F, 0.0F, 0.0F, 0.0625F); this.modelCrystal.render(entity, 0.0F, f * 3.0F, f1 * 0.2F, 0.0F, 0.0F, 0.0625F);
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.model.ModelDie; import client.renderer.model.ModelDie;
@ -19,16 +19,16 @@ public class RenderDie extends Render<EntityDie> {
} }
public void doRender(EntityDie entity, double x, double y, double z, float partialTicks) { public void doRender(EntityDie entity, double x, double y, double z, float partialTicks) {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y + 0.05F, (float)z); GL46.glTranslatef((float)x, (float)y + 0.05F, (float)z);
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
if(entity.getValue() == 0) if(entity.getValue() == 0)
GL11.glRotatef((float)((entity.ticksExisted % 10) * (360 / 10)), 0.3f, 0.4f, 0.1f); GL46.glRotatef((float)((entity.ticksExisted % 10) * (360 / 10)), 0.3f, 0.4f, 0.1f);
GL11.glScalef(-0.1f, -0.1f, 0.1f); GL46.glScalef(-0.1f, -0.1f, 0.1f);
GlState.disableCull(); GlState.disableCull();
this.model.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); this.model.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
GlState.enableCull(); GlState.enableCull();
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.GlState; import client.renderer.GlState;
@ -18,7 +18,7 @@ public class RenderEntity extends Render<Entity>
RenderBuffer rb = Tessellator.getBuffer(); RenderBuffer rb = Tessellator.getBuffer();
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
rb.setTranslation(x, y, z); rb.setTranslation(x, y, z);
rb.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_NORMAL); rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_NORMAL);
rb.pos(bb.minX, bb.maxY, bb.minZ).normal(0.0F, 0.0F, -1.0F).endVertex(); rb.pos(bb.minX, bb.maxY, bb.minZ).normal(0.0F, 0.0F, -1.0F).endVertex();
rb.pos(bb.maxX, bb.maxY, bb.minZ).normal(0.0F, 0.0F, -1.0F).endVertex(); rb.pos(bb.maxX, bb.maxY, bb.minZ).normal(0.0F, 0.0F, -1.0F).endVertex();
rb.pos(bb.maxX, bb.minY, bb.minZ).normal(0.0F, 0.0F, -1.0F).endVertex(); rb.pos(bb.maxX, bb.minY, bb.minZ).normal(0.0F, 0.0F, -1.0F).endVertex();
@ -55,9 +55,9 @@ public class RenderEntity extends Render<Entity>
public void doRender(Entity entity, double x, double y, double z, float partialTicks) public void doRender(Entity entity, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
renderOffsetAABB(entity.getEntityBoundingBox(), x - entity.lastTickPosX, y - entity.lastTickPosY, z - entity.lastTickPosZ); renderOffsetAABB(entity.getEntityBoundingBox(), x - entity.lastTickPosX, y - entity.lastTickPosY, z - entity.lastTickPosZ);
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.blockmodel.IBakedModel; import client.renderer.blockmodel.IBakedModel;
@ -39,12 +39,12 @@ public class RenderEntityItem extends Render<EntityItem>
int i = this.getMultiplier(itemstack); int i = this.getMultiplier(itemstack);
float f = 0.25F; float f = 0.25F;
float f1 = ExtMath.sin(((float)itemIn.getAge() + p_177077_8_) / 10.0F + itemIn.hoverStart) * 0.1F + 0.1F; float f1 = ExtMath.sin(((float)itemIn.getAge() + p_177077_8_) / 10.0F + itemIn.hoverStart) * 0.1F + 0.1F;
GL11.glTranslatef((float)p_177077_2_, (float)p_177077_4_ + f1 + 0.25F, (float)p_177077_6_); GL46.glTranslatef((float)p_177077_2_, (float)p_177077_4_ + f1 + 0.25F, (float)p_177077_6_);
if (flag || this.manager.gm != null) if (flag || this.manager.gm != null)
{ {
float f3 = (((float)itemIn.getAge() + p_177077_8_) / 20.0F + itemIn.hoverStart) * (180F / (float)Math.PI); float f3 = (((float)itemIn.getAge() + p_177077_8_) / 20.0F + itemIn.hoverStart) * (180F / (float)Math.PI);
GL11.glRotatef(f3, 0.0F, 1.0F, 0.0F); GL46.glRotatef(f3, 0.0F, 1.0F, 0.0F);
} }
if (!flag) if (!flag)
@ -52,7 +52,7 @@ public class RenderEntityItem extends Render<EntityItem>
float f6 = -0.0F * (float)(i - 1) * 0.5F; float f6 = -0.0F * (float)(i - 1) * 0.5F;
float f4 = -0.0F * (float)(i - 1) * 0.5F; float f4 = -0.0F * (float)(i - 1) * 0.5F;
float f5 = -0.046875F * (float)(i - 1) * 0.5F; float f5 = -0.046875F * (float)(i - 1) * 0.5F;
GL11.glTranslatef(f6, f4, f5); GL46.glTranslatef(f6, f4, f5);
} }
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
@ -102,10 +102,10 @@ public class RenderEntityItem extends Render<EntityItem>
// } // }
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GlState.alphaFunc(GL11.GL_GREATER, 0.1F); GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
GlState.enableBlend(); GlState.enableBlend();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
GL11.glPushMatrix(); GL46.glPushMatrix();
IBakedModel ibakedmodel = this.itemRenderer.getItemModelMesher().getItemModel(itemstack); IBakedModel ibakedmodel = this.itemRenderer.getItemModelMesher().getItemModel(itemstack);
int i = this.func_177077_a(entity, x, y, z, partialTicks, ibakedmodel); int i = this.func_177077_a(entity, x, y, z, partialTicks, ibakedmodel);
@ -113,30 +113,30 @@ public class RenderEntityItem extends Render<EntityItem>
{ {
if (ibakedmodel.isGui3d()) if (ibakedmodel.isGui3d())
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
if (j > 0) if (j > 0)
{ {
float f = (this.field_177079_e.floatv() * 2.0F - 1.0F) * 0.15F; float f = (this.field_177079_e.floatv() * 2.0F - 1.0F) * 0.15F;
float f1 = (this.field_177079_e.floatv() * 2.0F - 1.0F) * 0.15F; float f1 = (this.field_177079_e.floatv() * 2.0F - 1.0F) * 0.15F;
float f2 = (this.field_177079_e.floatv() * 2.0F - 1.0F) * 0.15F; float f2 = (this.field_177079_e.floatv() * 2.0F - 1.0F) * 0.15F;
GL11.glTranslatef(f, f1, f2); GL46.glTranslatef(f, f1, f2);
} }
GL11.glScalef(0.5F, 0.5F, 0.5F); GL46.glScalef(0.5F, 0.5F, 0.5F);
this.itemRenderer.renderItem(itemstack, ibakedmodel); this.itemRenderer.renderItem(itemstack, ibakedmodel);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
else else
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
this.itemRenderer.renderItem(itemstack, ibakedmodel); this.itemRenderer.renderItem(itemstack, ibakedmodel);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glTranslatef(0.0F, 0.0F, 0.046875F); GL46.glTranslatef(0.0F, 0.0F, 0.046875F);
} }
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GlState.disableBlend(); GlState.disableBlend();
this.bindEntityTexture(entity); this.bindEntityTexture(entity);

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
@ -40,12 +40,12 @@ public class RenderFallingBlock extends Render<EntityFalling>
if (state != world.getState(pos) && block != Blocks.air && !block.getMaterial().isLiquid()) if (state != world.getState(pos) && block != Blocks.air && !block.getMaterial().isLiquid())
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
GlState.disableLighting(); GlState.disableLighting();
// Tessellator tessellator = Tessellator.getInstance(); // Tessellator tessellator = Tessellator.getInstance();
RenderBuffer rb = Tessellator.getBuffer(); RenderBuffer rb = Tessellator.getBuffer();
rb.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); rb.begin(GL46.GL_QUADS, DefaultVertexFormats.BLOCK);
int i = pos.getX(); int i = pos.getX();
int j = pos.getY(); int j = pos.getY();
int k = pos.getZ(); int k = pos.getZ();
@ -56,7 +56,7 @@ public class RenderFallingBlock extends Render<EntityFalling>
rb.setTranslation(0.0D, 0.0D, 0.0D); rb.setTranslation(0.0D, 0.0D, 0.0D);
Tessellator.draw(); Tessellator.draw();
GlState.enableLighting(); GlState.enableLighting();
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
@ -28,11 +28,11 @@ public class RenderFireball extends Render<EntityProjectile>
*/ */
public void doRender(EntityProjectile entity, double x, double y, double z, float partialTicks) public void doRender(EntityProjectile entity, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GL11.glScalef(this.scale, this.scale, this.scale); GL46.glScalef(this.scale, this.scale, this.scale);
Sprite textureatlassprite = Client.CLIENT.getRenderItem().getItemModelMesher().getParticleIcon(Items.fireball); Sprite textureatlassprite = Client.CLIENT.getRenderItem().getItemModelMesher().getParticleIcon(Items.fireball);
// Tessellator tessellator = Tessellator.getInstance(); // Tessellator tessellator = Tessellator.getInstance();
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
@ -43,16 +43,16 @@ public class RenderFireball extends Render<EntityProjectile>
float f4 = 1.0F; float f4 = 1.0F;
float f5 = 0.5F; float f5 = 0.5F;
float f6 = 0.25F; float f6 = 0.25F;
GL11.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F); GL46.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F); GL46.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_NORMAL); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX_NORMAL);
worldrenderer.pos(-0.5D, -0.25D, 0.0D).tex((double)f, (double)f3).normal(0.0F, 1.0F, 0.0F).endVertex(); worldrenderer.pos(-0.5D, -0.25D, 0.0D).tex((double)f, (double)f3).normal(0.0F, 1.0F, 0.0F).endVertex();
worldrenderer.pos(0.5D, -0.25D, 0.0D).tex((double)f1, (double)f3).normal(0.0F, 1.0F, 0.0F).endVertex(); worldrenderer.pos(0.5D, -0.25D, 0.0D).tex((double)f1, (double)f3).normal(0.0F, 1.0F, 0.0F).endVertex();
worldrenderer.pos(0.5D, 0.75D, 0.0D).tex((double)f1, (double)f2).normal(0.0F, 1.0F, 0.0F).endVertex(); worldrenderer.pos(0.5D, 0.75D, 0.0D).tex((double)f1, (double)f2).normal(0.0F, 1.0F, 0.0F).endVertex();
worldrenderer.pos(-0.5D, 0.75D, 0.0D).tex((double)f, (double)f2).normal(0.0F, 1.0F, 0.0F).endVertex(); worldrenderer.pos(-0.5D, 0.75D, 0.0D).tex((double)f, (double)f2).normal(0.0F, 1.0F, 0.0F).endVertex();
Tessellator.draw(); Tessellator.draw();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
@ -25,10 +25,10 @@ public class RenderFish extends Render<EntityHook>
*/ */
public void doRender(EntityHook entity, double x, double y, double z, float partialTicks) public void doRender(EntityHook entity, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GL11.glScalef(0.5F, 0.5F, 0.5F); GL46.glScalef(0.5F, 0.5F, 0.5F);
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
// Tessellator tessellator = Tessellator.getInstance(); // Tessellator tessellator = Tessellator.getInstance();
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
@ -41,16 +41,16 @@ public class RenderFish extends Render<EntityHook>
float f4 = 1.0F; float f4 = 1.0F;
float f5 = 0.5F; float f5 = 0.5F;
float f6 = 0.5F; float f6 = 0.5F;
GL11.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F); GL46.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F); GL46.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_NORMAL); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX_NORMAL);
worldrenderer.pos(-0.5D, -0.5D, 0.0D).tex(0.0D, 0.25D).normal(0.0F, 1.0F, 0.0F).endVertex(); worldrenderer.pos(-0.5D, -0.5D, 0.0D).tex(0.0D, 0.25D).normal(0.0F, 1.0F, 0.0F).endVertex();
worldrenderer.pos(0.5D, -0.5D, 0.0D).tex(0.25D, 0.25D).normal(0.0F, 1.0F, 0.0F).endVertex(); worldrenderer.pos(0.5D, -0.5D, 0.0D).tex(0.25D, 0.25D).normal(0.0F, 1.0F, 0.0F).endVertex();
worldrenderer.pos(0.5D, 0.5D, 0.0D).tex(0.25D, 0.0D).normal(0.0F, 1.0F, 0.0F).endVertex(); worldrenderer.pos(0.5D, 0.5D, 0.0D).tex(0.25D, 0.0D).normal(0.0F, 1.0F, 0.0F).endVertex();
worldrenderer.pos(-0.5D, 0.5D, 0.0D).tex(0.0D, 0.0D).normal(0.0F, 1.0F, 0.0F).endVertex(); worldrenderer.pos(-0.5D, 0.5D, 0.0D).tex(0.0D, 0.0D).normal(0.0F, 1.0F, 0.0F).endVertex();
Tessellator.draw(); Tessellator.draw();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GL11.glPopMatrix(); GL46.glPopMatrix();
if (entity.angler != null) if (entity.angler != null)
{ {
@ -87,7 +87,7 @@ public class RenderFish extends Render<EntityHook>
double d12 = (double)((float)(d2 - d7)); double d12 = (double)((float)(d2 - d7));
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.disableLighting(); GlState.disableLighting();
worldrenderer.begin(GL11.GL_LINE_STRIP, DefaultVertexFormats.POSITION_COLOR); worldrenderer.begin(GL46.GL_LINE_STRIP, DefaultVertexFormats.POSITION_COLOR);
int k = 16; int k = 16;
for (int l = 0; l <= 16; ++l) for (int l = 0; l <= 16; ++l)

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.model.ModelHead; import client.renderer.model.ModelHead;
@ -40,19 +40,19 @@ public class RenderFlyingBox extends Render<EntityBox>
*/ */
public void doRender(EntityBox entity, double x, double y, double z, float partialTicks) public void doRender(EntityBox entity, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GlState.disableCull(); GlState.disableCull();
float f = this.func_82400_a(entity.prevYaw, entity.rotYaw, partialTicks); float f = this.func_82400_a(entity.prevYaw, entity.rotYaw, partialTicks);
float f1 = entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks; float f1 = entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks;
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
GL11.glRotatef((float)(entity.ticksExisted % 100) * 360.0f / 100.0f, 0.3f, 0.4f, 0.1f); GL46.glRotatef((float)(entity.ticksExisted % 100) * 360.0f / 100.0f, 0.3f, 0.4f, 0.1f);
float f2 = 0.0625F; float f2 = 0.0625F;
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GL11.glScalef(-1.0F, -1.0F, 1.0F); GL46.glScalef(-1.0F, -1.0F, 1.0F);
GlState.enableAlpha(); GlState.enableAlpha();
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
this.boxModel.render(entity, 0.0F, 0.0F, 0.0F, f, f1, f2); this.boxModel.render(entity, 0.0F, 0.0F, 0.0F, f, f1, f2);
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -2,7 +2,7 @@ package client.renderer.entity;
import java.util.Set; import java.util.Set;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.model.ModelHorse; import client.renderer.model.ModelHorse;
@ -40,7 +40,7 @@ public class RenderHorse extends RenderLiving<EntityHorse>
f *= 0.92F; f *= 0.92F;
} }
GL11.glScalef(f, f, f); GL46.glScalef(f, f, f);
super.preRenderCallback(entitylivingbaseIn, partialTickTime); super.preRenderCallback(entitylivingbaseIn, partialTickTime);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.layers.LayerArmor; import client.renderer.layers.LayerArmor;
@ -178,7 +178,7 @@ public class RenderHumanoid extends RenderNpc
// SKC.glScalef(f2, f3, f2); // SKC.glScalef(f2, f3, f2);
// } // }
float f = entitylivingbaseIn.getRenderScale(); // 0.9375F; float f = entitylivingbaseIn.getRenderScale(); // 0.9375F;
GL11.glScalef(f, f, f); GL46.glScalef(f, f, f);
} }
// protected int getColorMultiplier(EntityNPC entitylivingbaseIn, float lightBrightness, float partialTickTime) // protected int getColorMultiplier(EntityNPC entitylivingbaseIn, float lightBrightness, float partialTickTime)

View file

@ -2,7 +2,7 @@ package client.renderer.entity;
import java.util.List; import java.util.List;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.GlState; import client.renderer.GlState;
@ -69,7 +69,7 @@ public class RenderItem
private void renderModel(IBakedModel model, int color, ItemStack stack) private void renderModel(IBakedModel model, int color, ItemStack stack)
{ {
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
worldrenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.ITEM); worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.ITEM);
for (Facing enumfacing : Facing.values()) for (Facing enumfacing : Facing.values())
{ {
@ -84,20 +84,20 @@ public class RenderItem
{ {
if (stack != null) if (stack != null)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(0.5F, 0.5F, 0.5F); GL46.glScalef(0.5F, 0.5F, 0.5F);
if (model.isBuiltin()) if (model.isBuiltin())
{ {
GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(-0.5F, -0.5F, -0.5F); GL46.glTranslatef(-0.5F, -0.5F, -0.5F);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
this.renderBuiltin(stack); this.renderBuiltin(stack);
} }
else else
{ {
GL11.glTranslatef(-0.5F, -0.5F, -0.5F); GL46.glTranslatef(-0.5F, -0.5F, -0.5F);
this.renderModel(model, stack); this.renderModel(model, stack);
if (stack.getItem().isGleaming(stack)) if (stack.getItem().isGleaming(stack))
@ -106,14 +106,14 @@ public class RenderItem
} }
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }
private void renderBuiltin(ItemStack stack) { private void renderBuiltin(ItemStack stack) {
if(stack.getItem() instanceof ItemArmor armor) { if(stack.getItem() instanceof ItemArmor armor) {
this.stack = stack; this.stack = stack;
GL11.glPushMatrix(); GL46.glPushMatrix();
float offset = 0.0f; float offset = 0.0f;
switch(armor.getArmorType()) { switch(armor.getArmorType()) {
case HELMET: case HELMET:
@ -135,9 +135,9 @@ public class RenderItem
offset = 0.0f; offset = 0.0f;
break; break;
} }
GL11.glTranslatef(1.0f, offset, 0.0f); GL46.glTranslatef(1.0f, offset, 0.0f);
GL11.glRotatef(180.0f, 0.0f, 1.0f, 0.0f); GL46.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);
GL11.glScalef(1.4f, -1.4f, 1.4f); GL46.glScalef(1.4f, -1.4f, 1.4f);
boolean cull = GlState.isCullEnabled(); boolean cull = GlState.isCullEnabled();
if(cull) if(cull)
GlState.disableCull(); GlState.disableCull();
@ -149,14 +149,14 @@ public class RenderItem
// //
if(cull) if(cull)
GlState.enableCull(); GlState.enableCull();
GL11.glPopMatrix(); GL46.glPopMatrix();
this.stack = null; this.stack = null;
} }
else if(stack.getItem() instanceof ItemAnimalArmor horseArmor) { else if(stack.getItem() instanceof ItemAnimalArmor horseArmor) {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.9f, 0.5f, 0.0f); GL46.glTranslatef(0.9f, 0.5f, 0.0f);
GL11.glRotatef(180.0f, 0.0f, 1.0f, 0.0f); GL46.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);
GL11.glScalef(0.85f, -0.85f, 0.85f); GL46.glScalef(0.85f, -0.85f, 0.85f);
Class<? extends EntityLiving> clazz = horseArmor.getArmorType().getAnimalType(); Class<? extends EntityLiving> clazz = horseArmor.getArmorType().getAnimalType();
boolean cull = GlState.isCullEnabled(); boolean cull = GlState.isCullEnabled();
if(cull) if(cull)
@ -167,36 +167,36 @@ public class RenderItem
} }
if(cull) if(cull)
GlState.enableCull(); GlState.enableCull();
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }
private void renderEffect(IBakedModel model) private void renderEffect(IBakedModel model)
{ {
GlState.depthMask(false); GlState.depthMask(false);
GlState.depthFunc(GL11.GL_EQUAL); GlState.depthFunc(GL46.GL_EQUAL);
GlState.disableLighting(); GlState.disableLighting();
GlState.blendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); GlState.blendFunc(GL46.GL_SRC_COLOR, GL46.GL_ONE);
this.manager.bindTexture(RES_ITEM_GLINT); this.manager.bindTexture(RES_ITEM_GLINT);
GL11.glMatrixMode(GL11.GL_TEXTURE); GL46.glMatrixMode(GL46.GL_TEXTURE);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(8.0F, 8.0F, 8.0F); GL46.glScalef(8.0F, 8.0F, 8.0F);
float f = (float)(System.currentTimeMillis() % 3000L) / 3000.0F / 8.0F; float f = (float)(System.currentTimeMillis() % 3000L) / 3000.0F / 8.0F;
GL11.glTranslatef(f, 0.0F, 0.0F); GL46.glTranslatef(f, 0.0F, 0.0F);
GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
this.renderModel(model, -8372020); this.renderModel(model, -8372020);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(8.0F, 8.0F, 8.0F); GL46.glScalef(8.0F, 8.0F, 8.0F);
float f1 = (float)(System.currentTimeMillis() % 4873L) / 4873.0F / 8.0F; float f1 = (float)(System.currentTimeMillis() % 4873L) / 4873.0F / 8.0F;
GL11.glTranslatef(-f1, 0.0F, 0.0F); GL46.glTranslatef(-f1, 0.0F, 0.0F);
GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
this.renderModel(model, -8372020); this.renderModel(model, -8372020);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glMatrixMode(GL11.GL_MODELVIEW); GL46.glMatrixMode(GL46.GL_MODELVIEW);
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
GlState.enableLighting(); GlState.enableLighting();
GlState.depthFunc(GL11.GL_LEQUAL); GlState.depthFunc(GL46.GL_LEQUAL);
GlState.depthMask(true); GlState.depthMask(true);
this.manager.bindTexture(TextureMap.BLOCKS); this.manager.bindTexture(TextureMap.BLOCKS);
} }
@ -251,7 +251,7 @@ public class RenderItem
if (!flag) if (!flag)
{ {
GL11.glScalef(2.0F, 2.0F, 2.0F); GL46.glScalef(2.0F, 2.0F, 2.0F);
} }
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
@ -291,45 +291,45 @@ public class RenderItem
this.manager.bindTexture(TextureMap.BLOCKS); this.manager.bindTexture(TextureMap.BLOCKS);
this.preTransform(stack); this.preTransform(stack);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GlState.alphaFunc(GL11.GL_GREATER, 0.1F); GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
GlState.enableBlend(); GlState.enableBlend();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
GL11.glPushMatrix(); GL46.glPushMatrix();
if(transform) { if(transform) {
WieldType type = stack.getItem().getWieldType(); WieldType type = stack.getItem().getWieldType();
if(third && type != null) { if(third && type != null) {
switch(type) { switch(type) {
case TOOL_FLIP: case TOOL_FLIP:
GL11.glTranslatef(0.0f, 0.0f, -3.5f * 0.0625f); GL46.glTranslatef(0.0f, 0.0f, -3.5f * 0.0625f);
GL11.glRotatef(90.0f, 0.0F, 1.0F, 0.0F); GL46.glRotatef(90.0f, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(180.0f, 1.0F, 0.0F, 0.0F); GL46.glRotatef(180.0f, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F); GL46.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F);
GL11.glScalef(0.85f, 0.85f, 0.85f); GL46.glScalef(0.85f, 0.85f, 0.85f);
break; break;
case TOOL: case TOOL:
GL11.glTranslatef(0.0f, 1.25f * 0.0625f, -3.5f * 0.0625f); GL46.glTranslatef(0.0f, 1.25f * 0.0625f, -3.5f * 0.0625f);
GL11.glRotatef(90.0f, 0.0F, 1.0F, 0.0F); GL46.glRotatef(90.0f, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F); GL46.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F);
GL11.glScalef(0.85f, 0.85f, 0.85f); GL46.glScalef(0.85f, 0.85f, 0.85f);
break; break;
case RANGED: case RANGED:
GL11.glTranslatef(0.75f * 0.0625f, 0.0f, 0.25f * 0.0625f); GL46.glTranslatef(0.75f * 0.0625f, 0.0f, 0.25f * 0.0625f);
GL11.glRotatef(80.0f, 0.0F, 1.0F, 0.0F); GL46.glRotatef(80.0f, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(5.0f, 1.0F, 0.0F, 0.0F); GL46.glRotatef(5.0f, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-45.0f, 0.0F, 0.0F, 1.0F); GL46.glRotatef(-45.0f, 0.0F, 0.0F, 1.0F);
break; break;
} }
} }
else if(!third) { else if(!third) {
GL11.glTranslatef(0.0f, 4.0f * 0.0625f, 2.0f * 0.0625f); GL46.glTranslatef(0.0f, 4.0f * 0.0625f, 2.0f * 0.0625f);
GL11.glRotatef(type == WieldType.TOOL_FLIP ? 45.0f : -135.0f, 0.0F, 1.0F, 0.0F); GL46.glRotatef(type == WieldType.TOOL_FLIP ? 45.0f : -135.0f, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(25.0f, 0.0F, 0.0F, 1.0F); GL46.glRotatef(25.0f, 0.0F, 0.0F, 1.0F);
GL11.glScalef(1.7f, 1.7f, 1.7f); GL46.glScalef(1.7f, 1.7f, 1.7f);
} }
} }
this.renderItem(stack, model); this.renderItem(stack, model);
GlState.cullFace(GL11.GL_BACK); GlState.cullFace(GL46.GL_BACK);
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GlState.disableBlend(); GlState.disableBlend();
this.manager.bindTexture(TextureMap.BLOCKS); this.manager.bindTexture(TextureMap.BLOCKS);
@ -338,22 +338,22 @@ public class RenderItem
private void renderItemIntoGUI(ItemStack stack, int x, int y) private void renderItemIntoGUI(ItemStack stack, int x, int y)
{ {
IBakedModel ibakedmodel = this.mesher.getItemModel(stack); IBakedModel ibakedmodel = this.mesher.getItemModel(stack);
GL11.glPushMatrix(); GL46.glPushMatrix();
this.manager.bindTexture(TextureMap.BLOCKS); this.manager.bindTexture(TextureMap.BLOCKS);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GlState.enableAlpha(); GlState.enableAlpha();
GlState.alphaFunc(GL11.GL_GREATER, 0.1F); GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
this.setupGuiTransform(x, y, ibakedmodel.isGui3d()); this.setupGuiTransform(x, y, ibakedmodel.isGui3d());
GuiPosition vec = ibakedmodel.getTransforms(); GuiPosition vec = ibakedmodel.getTransforms();
if(vec != GuiPosition.NORMAL) { if(vec != GuiPosition.NORMAL) {
GL11.glTranslatef(vec.translationX(), vec.translationY(), vec.translationZ()); GL46.glTranslatef(vec.translationX(), vec.translationY(), vec.translationZ());
GL11.glRotatef(vec.rotationY(), 0.0F, 1.0F, 0.0F); GL46.glRotatef(vec.rotationY(), 0.0F, 1.0F, 0.0F);
GL11.glRotatef(vec.rotationX(), 1.0F, 0.0F, 0.0F); GL46.glRotatef(vec.rotationX(), 1.0F, 0.0F, 0.0F);
GL11.glRotatef(vec.rotationZ(), 0.0F, 0.0F, 1.0F); GL46.glRotatef(vec.rotationZ(), 0.0F, 0.0F, 1.0F);
GL11.glScalef(vec.scale(), vec.scale(), vec.scale()); GL46.glScalef(vec.scale(), vec.scale(), vec.scale());
} }
boolean cull = GlState.isCullEnabled(); boolean cull = GlState.isCullEnabled();
if(!cull) if(!cull)
@ -364,28 +364,28 @@ public class RenderItem
GlState.disableAlpha(); GlState.disableAlpha();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GlState.disableLighting(); GlState.disableLighting();
GL11.glPopMatrix(); GL46.glPopMatrix();
this.manager.bindTexture(TextureMap.BLOCKS); this.manager.bindTexture(TextureMap.BLOCKS);
} }
private void setupGuiTransform(int xPosition, int yPosition, boolean isGui3d) private void setupGuiTransform(int xPosition, int yPosition, boolean isGui3d)
{ {
GL11.glTranslatef((float)xPosition, (float)yPosition, 100.0F + this.zLevel); GL46.glTranslatef((float)xPosition, (float)yPosition, 100.0F + this.zLevel);
GL11.glTranslatef(8.0F, 8.0F, 0.0F); GL46.glTranslatef(8.0F, 8.0F, 0.0F);
GL11.glScalef(1.0F, 1.0F, -1.0F); GL46.glScalef(1.0F, 1.0F, -1.0F);
GL11.glScalef(0.5F, 0.5F, 0.5F); GL46.glScalef(0.5F, 0.5F, 0.5F);
if (isGui3d) if (isGui3d)
{ {
GL11.glScalef(40.0F, 40.0F, 40.0F); GL46.glScalef(40.0F, 40.0F, 40.0F);
GL11.glRotatef(210.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(210.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
GlState.enableLighting(); GlState.enableLighting();
} }
else else
{ {
GL11.glScalef(64.0F, 64.0F, 64.0F); GL46.glScalef(64.0F, 64.0F, 64.0F);
GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);
GlState.disableLighting(); GlState.disableLighting();
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.texture.TextureMap; import client.renderer.texture.TextureMap;
@ -23,16 +23,16 @@ public class RenderItemEntity<T extends Entity> extends Render<T>
public void doRender(T entity, double x, double y, double z, float partialTicks) public void doRender(T entity, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GL11.glScalef(0.5F, 0.5F, 0.5F); GL46.glScalef(0.5F, 0.5F, 0.5F);
GL11.glRotatef(-this.manager.playerViewY, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(this.manager.playerViewX, 1.0F, 0.0F, 0.0F); GL46.glRotatef(this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
this.bindTexture(TextureMap.BLOCKS); this.bindTexture(TextureMap.BLOCKS);
this.itemRenderer.renderItemAsGround(this.getStack(entity)); this.itemRenderer.renderItemAsGround(this.getStack(entity));
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.model.ModelLeashKnot; import client.renderer.model.ModelLeashKnot;
@ -22,16 +22,16 @@ public class RenderLeashKnot extends Render<EntityLeashKnot>
*/ */
public void doRender(EntityLeashKnot entity, double x, double y, double z, float partialTicks) public void doRender(EntityLeashKnot entity, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GlState.disableCull(); GlState.disableCull();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
float f = 0.0625F; float f = 0.0625F;
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GL11.glScalef(-1.0F, -1.0F, 1.0F); GL46.glScalef(-1.0F, -1.0F, 1.0F);
GlState.enableAlpha(); GlState.enableAlpha();
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
this.leashKnotModel.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, f); this.leashKnotModel.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, f);
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.GlState; import client.renderer.GlState;
@ -27,7 +27,7 @@ public class RenderLightning extends Render<EntityLightning>
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.disableLighting(); GlState.disableLighting();
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE);
double[] adouble = new double[8]; double[] adouble = new double[8];
double[] adouble1 = new double[8]; double[] adouble1 = new double[8];
double d0 = 0.0D; double d0 = 0.0D;
@ -83,7 +83,7 @@ public class RenderLightning extends Render<EntityLightning>
d3 += (double)(random1.zrange(31) - 15); d3 += (double)(random1.zrange(31) - 15);
} }
worldrenderer.begin(GL11.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR); worldrenderer.begin(GL46.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
float f = 0.5F; float f = 0.5F;
float f1 = 0.45F; float f1 = 0.45F;
float f2 = 0.45F; float f2 = 0.45F;

View file

@ -1,7 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.Frustum; import client.renderer.Frustum;
@ -47,7 +46,7 @@ public abstract class RenderLiving<T extends EntityLiving> extends RendererLivin
int l = RenderManager.getBrightnessForRender(entity); int l = RenderManager.getBrightnessForRender(entity);
int a = l % 65536; int a = l % 65536;
int b = l / 65536; int b = l / 65536;
GL13.glMultiTexCoord2f(GL13.GL_TEXTURE1, (float)a / 1.0F, (float)b / 1.0F); GL46.glMultiTexCoord2f(GL46.GL_TEXTURE1, (float)a / 1.0F, (float)b / 1.0F);
} }
private static double interpolateValue(double start, double end, double pct) { private static double interpolateValue(double start, double end, double pct) {
@ -96,7 +95,7 @@ public abstract class RenderLiving<T extends EntityLiving> extends RendererLivin
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.disableLighting(); GlState.disableLighting();
GlState.disableCull(); GlState.disableCull();
renderer.begin(GL11.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR); renderer.begin(GL46.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
for(int n = 0; n <= 24; ++n) { for(int n = 0; n <= 24; ++n) {
float cr = r; float cr = r;
float cg = g; float cg = g;
@ -119,7 +118,7 @@ public abstract class RenderLiving<T extends EntityLiving> extends RendererLivin
).color(cr, cg, cb, 1.0F).endVertex(); ).color(cr, cg, cb, 1.0F).endVertex();
} }
Tessellator.draw(); Tessellator.draw();
renderer.begin(GL11.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR); renderer.begin(GL46.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
for(int n = 0; n <= 24; ++n) { for(int n = 0; n <= 24; ++n) {
float cr = r; float cr = r;
float cg = g; float cg = g;

View file

@ -2,8 +2,7 @@ package client.renderer.entity;
import java.util.Map; import java.util.Map;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import client.Client; import client.Client;
import client.init.RenderRegistry; import client.init.RenderRegistry;
@ -143,7 +142,7 @@ public class RenderManager {
int j = i % 65536; int j = i % 65536;
int k = i / 65536; int k = i / 65536;
GL13.glMultiTexCoord2f(GL13.GL_TEXTURE1, (float)j / 1.0F, (float)k / 1.0F); GL46.glMultiTexCoord2f(GL46.GL_TEXTURE1, (float)j / 1.0F, (float)k / 1.0F);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
return this.renderEntity(entity, d0 - this.renderPosX, d1 - this.renderPosY, d2 - this.renderPosZ, partialTicks); return this.renderEntity(entity, d0 - this.renderPosX, d1 - this.renderPosY, d2 - this.renderPosZ, partialTicks);
} }
@ -181,22 +180,22 @@ public class RenderManager {
if(dist > (double)(maxDistance * maxDistance) || !this.gm.canRenderHud()) if(dist > (double)(maxDistance * maxDistance) || !this.gm.canRenderHud())
return; return;
float scale = 0.016666668F; float scale = 0.016666668F;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x + 0.0F, (float)y + entity.height + 0.5F, (float)z); GL46.glTranslatef((float)x + 0.0F, (float)y + entity.height + 0.5F, (float)z);
GL11.glNormal3f(0.0F, 1.0F, 0.0F); GL46.glNormal3f(0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.playerViewY, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-this.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(this.playerViewX, 1.0F, 0.0F, 0.0F); GL46.glRotatef(this.playerViewX, 1.0F, 0.0F, 0.0F);
GL11.glScalef(-scale, -scale, scale); GL46.glScalef(-scale, -scale, scale);
GlState.disableLighting(); GlState.disableLighting();
GlState.depthMask(false); GlState.depthMask(false);
GlState.enableBlend(); GlState.enableBlend();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
GlState.depthMask(true); GlState.depthMask(true);
Drawing.drawTextboxCentered(str, 0, 0, 0x3f000000); Drawing.drawTextboxCentered(str, 0, 0, 0x3f000000);
GlState.enableLighting(); GlState.enableLighting();
GlState.disableBlend(); GlState.disableBlend();
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
private void renderEntityFire(Entity entity, double x, double y, double z) { private void renderEntityFire(Entity entity, double x, double y, double z) {
@ -204,21 +203,21 @@ public class RenderManager {
TextureMap map = this.gm.getTextureMapBlocks(); TextureMap map = this.gm.getTextureMapBlocks();
Sprite layer0 = map.getAtlasSprite("blocks/fire_layer_0"); Sprite layer0 = map.getAtlasSprite("blocks/fire_layer_0");
Sprite layer1 = map.getAtlasSprite("blocks/fire_layer_1"); Sprite layer1 = map.getAtlasSprite("blocks/fire_layer_1");
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
float scale = entity.width * 1.4F; float scale = entity.width * 1.4F;
GL11.glScalef(scale, scale, scale); GL46.glScalef(scale, scale, scale);
RenderBuffer rb = Tessellator.getBuffer(); RenderBuffer rb = Tessellator.getBuffer();
float f1 = 0.5F; float f1 = 0.5F;
float f2 = 0.0F; float f2 = 0.0F;
float f3 = entity.height / scale; float f3 = entity.height / scale;
float f4 = (float)(entity.posY - entity.getEntityBoundingBox().minY); float f4 = (float)(entity.posY - entity.getEntityBoundingBox().minY);
GL11.glRotatef(-this.playerViewY, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-this.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.0F, 0.0F, -0.3F + (float)((int)f3) * 0.02F); GL46.glTranslatef(0.0F, 0.0F, -0.3F + (float)((int)f3) * 0.02F);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
float f5 = 0.0F; float f5 = 0.0F;
int i = 0; int i = 0;
rb.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
while(f3 > 0.0F) { while(f3 > 0.0F) {
Sprite layer = i % 2 == 0 ? layer0 : layer1; Sprite layer = i % 2 == 0 ? layer0 : layer1;
@ -246,7 +245,7 @@ public class RenderManager {
} }
Tessellator.draw(); Tessellator.draw();
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.enableLighting(); GlState.enableLighting();
} }
@ -270,7 +269,7 @@ public class RenderManager {
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
Vec3 vec3 = entityIn.getLook(partialTicks); Vec3 vec3 = entityIn.getLook(partialTicks);
worldrenderer.begin(GL11.GL_LINE_STRIP, DefaultVertexFormats.POSITION_COLOR); worldrenderer.begin(GL46.GL_LINE_STRIP, DefaultVertexFormats.POSITION_COLOR);
worldrenderer.pos(x, y + (double)entityIn.getEyeHeight(), z).color(0, 0, 255, 255).endVertex(); worldrenderer.pos(x, y + (double)entityIn.getEyeHeight(), z).color(0, 0, 255, 255).endVertex();
worldrenderer.pos(x + vec3.xCoord * 2.0D, y + (double)entityIn.getEyeHeight() + vec3.yCoord * 2.0D, z + vec3.zCoord * 2.0D).color(0, 0, 255, 255).endVertex(); worldrenderer.pos(x + vec3.xCoord * 2.0D, y + (double)entityIn.getEyeHeight() + vec3.yCoord * 2.0D, z + vec3.zCoord * 2.0D).color(0, 0, 255, 255).endVertex();
Tessellator.draw(); Tessellator.draw();

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.GlState; import client.renderer.GlState;
@ -32,14 +32,14 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
public void doRender(T entity, double x, double y, double z, float partialTicks) public void doRender(T entity, double x, double y, double z, float partialTicks)
{ {
float entityYaw = entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks; float entityYaw = entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks;
GL11.glPushMatrix(); GL46.glPushMatrix();
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
long i = (long)entity.getId() * 493286711L; long i = (long)entity.getId() * 493286711L;
i = i * i * 4392167121L + i * 98761L; i = i * i * 4392167121L + i * 98761L;
float f = (((float)(i >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; float f = (((float)(i >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
float f1 = (((float)(i >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; float f1 = (((float)(i >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
float f2 = (((float)(i >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; float f2 = (((float)(i >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
GL11.glTranslatef(f, f1, f2); GL46.glTranslatef(f, f1, f2);
double d0 = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double)partialTicks; double d0 = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double)partialTicks;
double d1 = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double)partialTicks; double d1 = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double)partialTicks;
double d2 = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)partialTicks; double d2 = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)partialTicks;
@ -75,9 +75,9 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
} }
} }
GL11.glTranslatef((float)x, (float)y + 0.375F, (float)z); GL46.glTranslatef((float)x, (float)y + 0.375F, (float)z);
GL11.glRotatef(180.0F - entityYaw, 0.0F, 1.0F, 0.0F); GL46.glRotatef(180.0F - entityYaw, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-f3, 0.0F, 0.0F, 1.0F); GL46.glRotatef(-f3, 0.0F, 0.0F, 1.0F);
float f5 = (float)entity.getRollingAmplitude() - partialTicks; float f5 = (float)entity.getRollingAmplitude() - partialTicks;
float f6 = (float)entity.getDamage() - partialTicks; float f6 = (float)entity.getDamage() - partialTicks;
@ -88,7 +88,7 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
if (f5 > 0.0F) if (f5 > 0.0F)
{ {
GL11.glRotatef(ExtMath.sin(f5) * f5 * f6 / 10.0F * (float)entity.getRollingDirection(), 1.0F, 0.0F, 0.0F); GL46.glRotatef(ExtMath.sin(f5) * f5 * f6 / 10.0F * (float)entity.getRollingDirection(), 1.0F, 0.0F, 0.0F);
} }
int j = entity.getDisplayTileOffset(); int j = entity.getDisplayTileOffset();
@ -96,20 +96,20 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
if (iblockstate.getBlock() != Blocks.air && !iblockstate.getBlock().getMaterial().isLiquid()) if (iblockstate.getBlock() != Blocks.air && !iblockstate.getBlock().getMaterial().isLiquid())
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
this.bindTexture(TextureMap.BLOCKS); this.bindTexture(TextureMap.BLOCKS);
float f4 = 0.75F; float f4 = 0.75F;
GL11.glScalef(f4, f4, f4); GL46.glScalef(f4, f4, f4);
GL11.glTranslatef(-0.5F, (float)(j - 8) / 16.0F, 0.5F); GL46.glTranslatef(-0.5F, (float)(j - 8) / 16.0F, 0.5F);
this.func_180560_a(entity, partialTicks, iblockstate); this.func_180560_a(entity, partialTicks, iblockstate);
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
} }
GL11.glScalef(-1.0F, -1.0F, 1.0F); GL46.glScalef(-1.0F, -1.0F, 1.0F);
this.modelMinecart.render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); this.modelMinecart.render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }
@ -123,8 +123,8 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
protected void func_180560_a(T minecart, float partialTicks, State state) protected void func_180560_a(T minecart, float partialTicks, State state)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
Client.CLIENT.renderer.renderBlockEntity(state, getBrightness(minecart)); Client.CLIENT.renderer.renderBlockEntity(state, getBrightness(minecart));
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.layers.LayerSlimeGel; import client.renderer.layers.LayerSlimeGel;
import client.renderer.model.ModelSlime; import client.renderer.model.ModelSlime;
@ -25,7 +25,7 @@ public class RenderSlime extends RenderNpc
f1 = (slime.prevSquishFactor + (slime.squishFactor - slime.prevSquishFactor) * partialTickTime) / (f * 0.5F + 1.0F); f1 = (slime.prevSquishFactor + (slime.squishFactor - slime.prevSquishFactor) * partialTickTime) / (f * 0.5F + 1.0F);
} }
float f2 = 1.0F / (f1 + 1.0F); float f2 = 1.0F / (f1 + 1.0F);
GL11.glScalef(f2 * f, 1.0F / f2 * f, f2 * f); GL46.glScalef(f2 * f, 1.0F / f2 * f, f2 * f);
} }
public void doRender(EntityNPC entity, double x, double y, double z, float partialTicks) public void doRender(EntityNPC entity, double x, double y, double z, float partialTicks)

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.layers.LayerArrow; import client.renderer.layers.LayerArrow;
import client.renderer.layers.LayerHeldItem; import client.renderer.layers.LayerHeldItem;
@ -83,7 +83,7 @@ public class RenderSpaceMarine extends RenderNpc
protected void preRenderCallback(EntityNPC entitylivingbaseIn, float partialTickTime) protected void preRenderCallback(EntityNPC entitylivingbaseIn, float partialTickTime)
{ {
float f = entitylivingbaseIn.getRenderScale(); // 0.9375F; float f = entitylivingbaseIn.getRenderScale(); // 0.9375F;
GL11.glScalef(f, f, f); GL46.glScalef(f, f, f);
} }
// public void renderPlayerArm(EntityNPC entity) // public void renderPlayerArm(EntityNPC entity)

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.GlState; import client.renderer.GlState;
@ -27,7 +27,7 @@ public class RenderTntMinecart extends RenderMinecart<EntityTntCart>
f = f * f; f = f * f;
f = f * f; f = f * f;
float f1 = 1.0F + f * 0.3F; float f1 = 1.0F + f * 0.3F;
GL11.glScalef(f1, f1, f1); GL46.glScalef(f1, f1, f1);
} }
super.func_180560_a(minecart, partialTicks, state); super.func_180560_a(minecart, partialTicks, state);
@ -37,11 +37,11 @@ public class RenderTntMinecart extends RenderMinecart<EntityTntCart>
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.disableLighting(); GlState.disableLighting();
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_DST_ALPHA);
GlState.color(1.0F, 1.0F, 1.0F, (1.0F - ((float)i - partialTicks + 1.0F) / 100.0F) * 0.8F); GlState.color(1.0F, 1.0F, 1.0F, (1.0F - ((float)i - partialTicks + 1.0F) / 100.0F) * 0.8F);
GL11.glPushMatrix(); GL46.glPushMatrix();
Client.CLIENT.renderer.renderBlockEntity(Blocks.tnt.getState(), 1.0F); Client.CLIENT.renderer.renderBlockEntity(Blocks.tnt.getState(), 1.0F);
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GlState.disableBlend(); GlState.disableBlend();
GlState.enableLighting(); GlState.enableLighting();

View file

@ -1,6 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.GlState; import client.renderer.GlState;
@ -22,8 +22,8 @@ public class RenderTntPrimed extends Render<EntityTnt>
public void doRender(EntityTnt entity, double x, double y, double z, float partialTicks) public void doRender(EntityTnt entity, double x, double y, double z, float partialTicks)
{ {
Renderer renderer = Client.CLIENT.renderer; Renderer renderer = Client.CLIENT.renderer;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y + 0.5F, (float)z); GL46.glTranslatef((float)x, (float)y + 0.5F, (float)z);
if ((float)entity.fuse - partialTicks + 1.0F < 10.0F) if ((float)entity.fuse - partialTicks + 1.0F < 10.0F)
{ {
@ -32,22 +32,22 @@ public class RenderTntPrimed extends Render<EntityTnt>
f = f * f; f = f * f;
f = f * f; f = f * f;
float f1 = 1.0F + f * 0.3F; float f1 = 1.0F + f * 0.3F;
GL11.glScalef(f1, f1, f1); GL46.glScalef(f1, f1, f1);
} }
float f2 = (1.0F - ((float)entity.fuse - partialTicks + 1.0F) / 100.0F) * 0.8F; float f2 = (1.0F - ((float)entity.fuse - partialTicks + 1.0F) / 100.0F) * 0.8F;
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
GL11.glTranslatef(-0.5F, -0.5F, 0.5F); GL46.glTranslatef(-0.5F, -0.5F, 0.5F);
Block tnt = BlockRegistry.byName("tnt" + (entity.explosionSize <= 0 || entity.explosionSize >= 8 ? "" : "_" + entity.explosionSize)); Block tnt = BlockRegistry.byName("tnt" + (entity.explosionSize <= 0 || entity.explosionSize >= 8 ? "" : "_" + entity.explosionSize));
renderer.renderBlockEntity(tnt.getState(), getBrightness(entity)); renderer.renderBlockEntity(tnt.getState(), getBrightness(entity));
GL11.glTranslatef(0.0F, 0.0F, 1.0F); GL46.glTranslatef(0.0F, 0.0F, 1.0F);
if (entity.fuse / 5 % 2 == 0) if (entity.fuse / 5 % 2 == 0)
{ {
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.disableLighting(); GlState.disableLighting();
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_DST_ALPHA);
GlState.color(1.0F, 1.0F, 1.0F, f2); GlState.color(1.0F, 1.0F, 1.0F, f2);
GlState.doPolygonOffset(-3.0F, -3.0F); GlState.doPolygonOffset(-3.0F, -3.0F);
GlState.enablePolygonOffset(); GlState.enablePolygonOffset();
@ -60,7 +60,7 @@ public class RenderTntPrimed extends Render<EntityTnt>
GlState.enableTexture2D(); GlState.enableTexture2D();
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partialTicks); super.doRender(entity, x, y, z, partialTicks);
} }

View file

@ -1,7 +1,6 @@
package client.renderer.entity; package client.renderer.entity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.GlState; import client.renderer.GlState;
@ -18,8 +17,8 @@ public class RenderXp extends Render<EntityXp> {
} }
public void doRender(EntityXp entity, double x, double y, double z, float partial) { public void doRender(EntityXp entity, double x, double y, double z, float partial) {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
this.bindEntityTexture(entity); this.bindEntityTexture(entity);
int value = entity.getXpValue(); int value = entity.getXpValue();
float u1 = (float)(value % 4 * 16 + 0) / 64.0F; float u1 = (float)(value % 4 * 16 + 0) / 64.0F;
@ -32,19 +31,19 @@ public class RenderXp extends Render<EntityXp> {
int light = RenderManager.getBrightnessForRender(entity); int light = RenderManager.getBrightnessForRender(entity);
int block = light % 65536; int block = light % 65536;
int sky = light / 65536; int sky = light / 65536;
GL13.glMultiTexCoord2f(GL13.GL_TEXTURE1, (float)block / 1.0F, (float)sky / 1.0F); GL46.glMultiTexCoord2f(GL46.GL_TEXTURE1, (float)block / 1.0F, (float)sky / 1.0F);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
float color = ((float)entity.xpColor + partial) / 16.0F; float color = ((float)entity.xpColor + partial) / 16.0F;
int g = (int)((ExtMath.sin(color + 0.0F) + 1.0F) * 0.5F * 255.0F); int g = (int)((ExtMath.sin(color + 0.0F) + 1.0F) * 0.5F * 255.0F);
float n = (int)((ExtMath.sin(color + (float)Math.PI) + 1.0F) * 0.5F * 255.0F); float n = (int)((ExtMath.sin(color + (float)Math.PI) + 1.0F) * 0.5F * 255.0F);
int r = (int)(n * (value / 10.0f)); int r = (int)(n * (value / 10.0f));
int b = (int)(n * ((10 - value) / 10.0f)); int b = (int)(n * ((10 - value) / 10.0f));
GL11.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F); GL46.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F); GL46.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
float size = 0.25F; float size = 0.25F;
GL11.glScalef(size, size, size); GL46.glScalef(size, size, size);
RenderBuffer rb = Tessellator.getBuffer(); RenderBuffer rb = Tessellator.getBuffer();
rb.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR_NORMAL); rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR_NORMAL);
rb.pos((double)(0.0F - dx), (double)(0.0F - dy), 0.0D).tex((double)u1, (double)v2).color(r, g, b, 128).normal(0.0F, 1.0F, 0.0F) rb.pos((double)(0.0F - dx), (double)(0.0F - dy), 0.0D).tex((double)u1, (double)v2).color(r, g, b, 128).normal(0.0F, 1.0F, 0.0F)
.endVertex(); .endVertex();
rb.pos((double)(bx - dx), (double)(0.0F - dy), 0.0D).tex((double)u2, (double)v2).color(r, g, b, 128).normal(0.0F, 1.0F, 0.0F) rb.pos((double)(bx - dx), (double)(0.0F - dy), 0.0D).tex((double)u2, (double)v2).color(r, g, b, 128).normal(0.0F, 1.0F, 0.0F)
@ -56,7 +55,7 @@ public class RenderXp extends Render<EntityXp> {
Tessellator.draw(); Tessellator.draw();
GlState.disableBlend(); GlState.disableBlend();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GL11.glPopMatrix(); GL46.glPopMatrix();
super.doRender(entity, x, y, z, partial); super.doRender(entity, x, y, z, partial);
} }

View file

@ -5,8 +5,7 @@ import java.nio.ByteOrder;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.util.List; import java.util.List;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL13;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.GlState; import client.renderer.GlState;
@ -87,7 +86,7 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
*/ */
public void doRender(T entity, double x, double y, double z, float partialTicks) public void doRender(T entity, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GlState.disableCull(); GlState.disableCull();
this.mainModel.swingProgress = this.getSwingProgress(entity, partialTicks); this.mainModel.swingProgress = this.getSwingProgress(entity, partialTicks);
this.mainModel.isRiding = entity.isRiding(); this.mainModel.isRiding = entity.isRiding();
@ -129,10 +128,10 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
float f8 = this.handleRotationFloat(entity, partialTicks); float f8 = this.handleRotationFloat(entity, partialTicks);
this.rotateCorpse(entity, f8, f, partialTicks); this.rotateCorpse(entity, f8, f, partialTicks);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GL11.glScalef(-1.0F, -1.0F, 1.0F); GL46.glScalef(-1.0F, -1.0F, 1.0F);
this.preRenderCallback(entity, partialTicks); this.preRenderCallback(entity, partialTicks);
float f4 = 0.0625F; float f4 = 0.0625F;
GL11.glTranslatef(0.0F, -1.5078125F, 0.0F); GL46.glTranslatef(0.0F, -1.5078125F, 0.0F);
float f5 = entity.prevLswingAmount + (entity.lswingAmount - entity.prevLswingAmount) * partialTicks; float f5 = entity.prevLswingAmount + (entity.lswingAmount - entity.prevLswingAmount) * partialTicks;
float f6 = entity.limbSwing - entity.lswingAmount * (1.0F - partialTicks); float f6 = entity.limbSwing - entity.lswingAmount * (1.0F - partialTicks);
@ -185,11 +184,11 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
Log.RENDER.error((Throwable)exception, (String)"Konnte Objekt nicht rendern"); Log.RENDER.error((Throwable)exception, (String)"Konnte Objekt nicht rendern");
} }
GlState.setActiveTexture(GL13.GL_TEXTURE1); GlState.setActiveTexture(GL46.GL_TEXTURE1);
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
GlState.enableCull(); GlState.enableCull();
GL11.glPopMatrix(); GL46.glPopMatrix();
if (!this.renderOutlines) if (!this.renderOutlines)
{ {
@ -223,23 +222,23 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
float g = (float)(c >> 8 & 255) / 255.0F; float g = (float)(c >> 8 & 255) / 255.0F;
float b = (float)(c & 255) / 255.0F; float b = (float)(c & 255) / 255.0F;
GlState.disableLighting(); GlState.disableLighting();
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
GlState.color(r, g, b, 1.0F); GlState.color(r, g, b, 1.0F);
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.setActiveTexture(GL13.GL_TEXTURE1); GlState.setActiveTexture(GL46.GL_TEXTURE1);
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
return true; return true;
} }
protected void unsetOutlineColor() protected void unsetOutlineColor()
{ {
GlState.enableLighting(); GlState.enableLighting();
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.setActiveTexture(GL13.GL_TEXTURE1); GlState.setActiveTexture(GL46.GL_TEXTURE1);
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.setActiveTexture(GL13.GL_TEXTURE0); GlState.setActiveTexture(GL46.GL_TEXTURE0);
} }
protected void renderModel(T entity, float x, float y, float z, float yaw, float pitch, float scale) protected void renderModel(T entity, float x, float y, float z, float yaw, float pitch, float scale)
@ -256,13 +255,13 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
if (ghost) if (ghost)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GlState.color(1.0F, 1.0F, 1.0F, 0.3F); GlState.color(1.0F, 1.0F, 1.0F, 0.3F);
// GlState.color(entity.getRenderColor() | (vis ? 0x50000000 : 0x26000000)); // GlState.color(entity.getRenderColor() | (vis ? 0x50000000 : 0x26000000));
GlState.depthMask(false); GlState.depthMask(false);
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
GlState.alphaFunc(GL11.GL_GREATER, 0.003921569F); GlState.alphaFunc(GL46.GL_GREATER, 0.003921569F);
} }
if(entity.isGlowing()) if(entity.isGlowing())
@ -275,8 +274,8 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
if (ghost) if (ghost)
{ {
GlState.disableBlend(); GlState.disableBlend();
GlState.alphaFunc(GL11.GL_GREATER, 0.1F); GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.depthMask(true); GlState.depthMask(true);
} }
// } // }
@ -415,12 +414,12 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
*/ */
protected void renderLivingAt(T entityLivingBaseIn, double x, double y, double z) protected void renderLivingAt(T entityLivingBaseIn, double x, double y, double z)
{ {
GL11.glTranslatef((float)x, (float)y, (float)z); GL46.glTranslatef((float)x, (float)y, (float)z);
} }
protected void rotateCorpse(T bat, float p_77043_2_, float p_77043_3_, float partialTicks) protected void rotateCorpse(T bat, float p_77043_2_, float p_77043_3_, float partialTicks)
{ {
GL11.glRotatef(180.0F - p_77043_3_, 0.0F, 1.0F, 0.0F); GL46.glRotatef(180.0F - p_77043_3_, 0.0F, 1.0F, 0.0F);
if (bat.deathTime > 0) if (bat.deathTime > 0)
{ {
@ -432,7 +431,7 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
f = 1.0F; f = 1.0F;
} }
GL11.glRotatef(f * this.getDeathMaxRotation(bat), 0.0F, 0.0F, 1.0F); GL46.glRotatef(f * this.getDeathMaxRotation(bat), 0.0F, 0.0F, 1.0F);
} }
else else
{ {
@ -440,8 +439,8 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
if (s != null && (s.startsWith("Australia") || s.startsWith("Australien"))) // && (!(bat.isPlayer()) || ((EntityNPC)bat).isWearing(ModelPart.CAPE))) if (s != null && (s.startsWith("Australia") || s.startsWith("Australien"))) // && (!(bat.isPlayer()) || ((EntityNPC)bat).isWearing(ModelPart.CAPE)))
{ {
GL11.glTranslatef(0.0F, bat.height + 0.1F, 0.0F); GL46.glTranslatef(0.0F, bat.height + 0.1F, 0.0F);
GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
} }
} }
} }
@ -527,19 +526,19 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
float f4 = (float)(crystal.posZ - entity.posZ - (entity.prevZ - entity.posZ) * (double)(1.0F - p_180574_8_)); float f4 = (float)(crystal.posZ - entity.posZ - (entity.prevZ - entity.posZ) * (double)(1.0F - p_180574_8_));
float f5 = ExtMath.sqrtf(f2 * f2 + f4 * f4); float f5 = ExtMath.sqrtf(f2 * f2 + f4 * f4);
float f6 = ExtMath.sqrtf(f2 * f2 + f3 * f3 + f4 * f4); float f6 = ExtMath.sqrtf(f2 * f2 + f3 * f3 + f4 * f4);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)p_180574_2_, (float)p_180574_4_ + 2.0F, (float)p_180574_6_); GL46.glTranslatef((float)p_180574_2_, (float)p_180574_4_ + 2.0F, (float)p_180574_6_);
GL11.glRotatef((float)(-Math.atan2((double)f4, (double)f2)) * 180.0F / (float)Math.PI - 90.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef((float)(-Math.atan2((double)f4, (double)f2)) * 180.0F / (float)Math.PI - 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef((float)(-Math.atan2((double)f5, (double)f3)) * 180.0F / (float)Math.PI - 90.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef((float)(-Math.atan2((double)f5, (double)f3)) * 180.0F / (float)Math.PI - 90.0F, 1.0F, 0.0F, 0.0F);
// Tessellator tessellator = Tessellator.getInstance(); // Tessellator tessellator = Tessellator.getInstance();
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
ItemRenderer.disableStandardItemLighting(); ItemRenderer.disableStandardItemLighting();
GlState.disableCull(); GlState.disableCull();
this.bindTexture(crystalBeamTextures); this.bindTexture(crystalBeamTextures);
GlState.shadeModel(GL11.GL_SMOOTH); GlState.shadeModel(GL46.GL_SMOOTH);
float f7 = 0.0F - ((float)entity.ticksExisted + p_180574_8_) * 0.01F; float f7 = 0.0F - ((float)entity.ticksExisted + p_180574_8_) * 0.01F;
float f8 = ExtMath.sqrtf(f2 * f2 + f3 * f3 + f4 * f4) / 32.0F - ((float)entity.ticksExisted + p_180574_8_) * 0.01F; float f8 = ExtMath.sqrtf(f2 * f2 + f3 * f3 + f4 * f4) / 32.0F - ((float)entity.ticksExisted + p_180574_8_) * 0.01F;
worldrenderer.begin(GL11.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_TEX_COLOR); worldrenderer.begin(GL46.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_TEX_COLOR);
int i = 8; int i = 8;
for (int j = 0; j <= 8; ++j) for (int j = 0; j <= 8; ++j)
@ -553,9 +552,9 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
Tessellator.draw(); Tessellator.draw();
GlState.enableCull(); GlState.enableCull();
GlState.shadeModel(GL11.GL_FLAT); GlState.shadeModel(GL46.GL_FLAT);
ItemRenderer.enableStandardItemLighting(); ItemRenderer.enableStandardItemLighting();
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
static static

View file

@ -2,7 +2,7 @@ package client.renderer.layers;
import java.util.List; import java.util.List;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.GlState; import client.renderer.GlState;
@ -121,7 +121,7 @@ public class LayerArmor implements LayerRenderer<EntityNPC>
else else
Client.CLIENT.getTextureManager().bindTexture(ENCHANTED_ITEM_GLINT_RES); Client.CLIENT.getTextureManager().bindTexture(ENCHANTED_ITEM_GLINT_RES);
GlState.enableBlend(); GlState.enableBlend();
GlState.depthFunc(GL11.GL_EQUAL); GlState.depthFunc(GL46.GL_EQUAL);
GlState.depthMask(false); GlState.depthMask(false);
float f1 = 0.5F; float f1 = 0.5F;
GlState.color(f1, f1, f1, 1.0F); GlState.color(f1, f1, f1, 1.0F);
@ -129,25 +129,25 @@ public class LayerArmor implements LayerRenderer<EntityNPC>
for (int i = 0; i < 2; ++i) for (int i = 0; i < 2; ++i)
{ {
GlState.disableLighting(); GlState.disableLighting();
GlState.blendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); GlState.blendFunc(GL46.GL_SRC_COLOR, GL46.GL_ONE);
float f2 = 0.76F; float f2 = 0.76F;
GlState.color(0.5F * f2, 0.25F * f2, 0.8F * f2, 1.0F); GlState.color(0.5F * f2, 0.25F * f2, 0.8F * f2, 1.0F);
GL11.glMatrixMode(GL11.GL_TEXTURE); GL46.glMatrixMode(GL46.GL_TEXTURE);
GL11.glLoadIdentity(); GL46.glLoadIdentity();
float f3 = 0.33333334F; float f3 = 0.33333334F;
GL11.glScalef(f3, f3, f3); GL46.glScalef(f3, f3, f3);
GL11.glRotatef(30.0F - (float)i * 60.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(30.0F - (float)i * 60.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(0.0F, f * (0.001F + (float)i * 0.003F) * 20.0F, 0.0F); GL46.glTranslatef(0.0F, f * (0.001F + (float)i * 0.003F) * 20.0F, 0.0F);
GL11.glMatrixMode(GL11.GL_MODELVIEW); GL46.glMatrixMode(GL46.GL_MODELVIEW);
modelbaseIn.render(entitylivingbaseIn, p_177183_3_, p_177183_4_, p_177183_6_, p_177183_7_, p_177183_8_, scale); modelbaseIn.render(entitylivingbaseIn, p_177183_3_, p_177183_4_, p_177183_6_, p_177183_7_, p_177183_8_, scale);
} }
GL11.glMatrixMode(GL11.GL_TEXTURE); GL46.glMatrixMode(GL46.GL_TEXTURE);
GL11.glLoadIdentity(); GL46.glLoadIdentity();
GL11.glMatrixMode(GL11.GL_MODELVIEW); GL46.glMatrixMode(GL46.GL_MODELVIEW);
GlState.enableLighting(); GlState.enableLighting();
GlState.depthMask(true); GlState.depthMask(true);
GlState.depthFunc(GL11.GL_LEQUAL); GlState.depthFunc(GL46.GL_LEQUAL);
GlState.disableBlend(); GlState.disableBlend();
} }

View file

@ -1,6 +1,6 @@
package client.renderer.layers; package client.renderer.layers;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.ItemRenderer; import client.renderer.ItemRenderer;
import client.renderer.entity.RendererLivingEntity; import client.renderer.entity.RendererLivingEntity;
@ -33,7 +33,7 @@ public class LayerArrow implements LayerRenderer<EntityLiving>
for (int j = 0; j < i; ++j) for (int j = 0; j < i; ++j)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
ModelRenderer modelrenderer = this.field_177168_a.getMainModel().getRandomModelBox(random); ModelRenderer modelrenderer = this.field_177168_a.getMainModel().getRandomModelBox(random);
ModelBox modelbox = (ModelBox)modelrenderer.cubeList.get(random.zrange(modelrenderer.cubeList.size())); ModelBox modelbox = (ModelBox)modelrenderer.cubeList.get(random.zrange(modelrenderer.cubeList.size()));
modelrenderer.postRender(0.0625F); modelrenderer.postRender(0.0625F);
@ -43,7 +43,7 @@ public class LayerArrow implements LayerRenderer<EntityLiving>
float f3 = (modelbox.posX1 + (modelbox.posX2 - modelbox.posX1) * f) / 16.0F; float f3 = (modelbox.posX1 + (modelbox.posX2 - modelbox.posX1) * f) / 16.0F;
float f4 = (modelbox.posY1 + (modelbox.posY2 - modelbox.posY1) * f1) / 16.0F; float f4 = (modelbox.posY1 + (modelbox.posY2 - modelbox.posY1) * f1) / 16.0F;
float f5 = (modelbox.posZ1 + (modelbox.posZ2 - modelbox.posZ1) * f2) / 16.0F; float f5 = (modelbox.posZ1 + (modelbox.posZ2 - modelbox.posZ1) * f2) / 16.0F;
GL11.glTranslatef(f3, f4, f5); GL46.glTranslatef(f3, f4, f5);
f = f * 2.0F - 1.0F; f = f * 2.0F - 1.0F;
f1 = f1 * 2.0F - 1.0F; f1 = f1 * 2.0F - 1.0F;
f2 = f2 * 2.0F - 1.0F; f2 = f2 * 2.0F - 1.0F;
@ -57,7 +57,7 @@ public class LayerArrow implements LayerRenderer<EntityLiving>
double d1 = 0.0D; double d1 = 0.0D;
double d2 = 0.0D; double d2 = 0.0D;
this.field_177168_a.getRenderManager().renderEntity(entity, d0, d1, d2, partialTicks); this.field_177168_a.getRenderManager().renderEntity(entity, d0, d1, d2, partialTicks);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
ItemRenderer.enableStandardItemLighting(); ItemRenderer.enableStandardItemLighting();

View file

@ -1,6 +1,6 @@
package client.renderer.layers; package client.renderer.layers;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.entity.RenderHumanoid; import client.renderer.entity.RenderHumanoid;
@ -31,8 +31,8 @@ public class LayerCape implements LayerRenderer<EntityNPC>
entitylivingbaseIn.getCape() != null) { entitylivingbaseIn.getCape() != null) {
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
this.renderer.bindTexture("textures/npc/cape_" + entitylivingbaseIn.getCape() + ".png"); this.renderer.bindTexture("textures/npc/cape_" + entitylivingbaseIn.getCape() + ".png");
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, 0.0F, 0.125F); GL46.glTranslatef(0.0F, 0.0F, 0.125F);
if(entitylivingbaseIn.isPlayer()) { if(entitylivingbaseIn.isPlayer()) {
EntityNPC player = (EntityNPC)entitylivingbaseIn; EntityNPC player = (EntityNPC)entitylivingbaseIn;
double d0 = player.prevChasingPosX + (player.chasingPosX - player.prevChasingPosX) * (double)partialTicks - (entitylivingbaseIn.prevX + (entitylivingbaseIn.posX - entitylivingbaseIn.prevX) * (double)partialTicks); double d0 = player.prevChasingPosX + (player.chasingPosX - player.prevChasingPosX) * (double)partialTicks - (entitylivingbaseIn.prevX + (entitylivingbaseIn.posX - entitylivingbaseIn.prevX) * (double)partialTicks);
@ -59,17 +59,17 @@ public class LayerCape implements LayerRenderer<EntityNPC>
f1 += 25.0F; f1 += 25.0F;
} }
GL11.glRotatef(6.0F + f2 / 2.0F + f1, 1.0F, 0.0F, 0.0F); GL46.glRotatef(6.0F + f2 / 2.0F + f1, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(f3 / 2.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(f3 / 2.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-f3 / 2.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-f3 / 2.0F, 0.0F, 1.0F, 0.0F);
} }
else { else {
GL11.glRotatef(entitylivingbaseIn.isSneakingVisually() ? 25.0F : 5.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(entitylivingbaseIn.isSneakingVisually() ? 25.0F : 5.0F, 1.0F, 0.0F, 0.0F);
} }
GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
this.bipedCape.rotationPointY = this.shift + (entitylivingbaseIn.isSneakingVisually() ? 2.0f : 0.0f); this.bipedCape.rotationPointY = this.shift + (entitylivingbaseIn.isSneakingVisually() ? 2.0f : 0.0f);
this.bipedCape.render(0.0625F); this.bipedCape.render(0.0625F);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.layers; package client.renderer.layers;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.entity.RenderHumanoid; import client.renderer.entity.RenderHumanoid;
@ -27,23 +27,23 @@ public class LayerCharge implements LayerRenderer<EntityNPC>
// boolean flag = entitylivingbaseIn.isInvisible(); // boolean flag = entitylivingbaseIn.isInvisible();
GlState.depthMask(true); GlState.depthMask(true);
this.main.bindTexture(LIGHTNING_TEXTURE); this.main.bindTexture(LIGHTNING_TEXTURE);
GL11.glMatrixMode(GL11.GL_TEXTURE); GL46.glMatrixMode(GL46.GL_TEXTURE);
GL11.glLoadIdentity(); GL46.glLoadIdentity();
float f = (float)entitylivingbaseIn.ticksExisted + partialTicks; float f = (float)entitylivingbaseIn.ticksExisted + partialTicks;
GL11.glTranslatef(f * 0.01F, f * 0.01F, 0.0F); GL46.glTranslatef(f * 0.01F, f * 0.01F, 0.0F);
GL11.glMatrixMode(GL11.GL_MODELVIEW); GL46.glMatrixMode(GL46.GL_MODELVIEW);
GlState.enableBlend(); GlState.enableBlend();
float f1 = 0.5F; float f1 = 0.5F;
GlState.color(f1, f1, f1, 1.0F); GlState.color(f1, f1, f1, 1.0F);
GlState.disableLighting(); GlState.disableLighting();
GlState.blendFunc(GL11.GL_ONE, GL11.GL_ONE); GlState.blendFunc(GL46.GL_ONE, GL46.GL_ONE);
this.charge.setModelAttributes(this.main.getMainModel()); this.charge.setModelAttributes(this.main.getMainModel());
GL11.glScalef(entitylivingbaseIn.height, entitylivingbaseIn.height, entitylivingbaseIn.height); GL46.glScalef(entitylivingbaseIn.height, entitylivingbaseIn.height, entitylivingbaseIn.height);
GL11.glTranslatef(0.0f, -0.25f, 0.0f); GL46.glTranslatef(0.0f, -0.25f, 0.0f);
this.charge.render(entitylivingbaseIn, p_177141_2_, p_177141_3_, p_177141_5_, p_177141_6_, p_177141_7_, scale); this.charge.render(entitylivingbaseIn, p_177141_2_, p_177141_3_, p_177141_5_, p_177141_6_, p_177141_7_, scale);
GL11.glMatrixMode(GL11.GL_TEXTURE); GL46.glMatrixMode(GL46.GL_TEXTURE);
GL11.glLoadIdentity(); GL46.glLoadIdentity();
GL11.glMatrixMode(GL11.GL_MODELVIEW); GL46.glMatrixMode(GL46.GL_MODELVIEW);
GlState.enableLighting(); GlState.enableLighting();
GlState.disableBlend(); GlState.disableBlend();
GlState.depthMask(false); GlState.depthMask(false);

View file

@ -1,6 +1,6 @@
package client.renderer.layers; package client.renderer.layers;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.GlState; import client.renderer.GlState;
@ -29,26 +29,26 @@ public class LayerEntityBreak implements LayerRenderer<EntityDragon>
Random random = new Random(432L); Random random = new Random(432L);
GlState.disableTexture2D(); GlState.disableTexture2D();
GlState.shadeModel(GL11.GL_SMOOTH); GlState.shadeModel(GL46.GL_SMOOTH);
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE);
GlState.disableAlpha(); GlState.disableAlpha();
GlState.enableCull(); GlState.enableCull();
GlState.depthMask(false); GlState.depthMask(false);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, -1.0F, -2.0F); GL46.glTranslatef(0.0F, -1.0F, -2.0F);
for (int i = 0; (float)i < (f + f * f) / 2.0F * 60.0F; ++i) for (int i = 0; (float)i < (f + f * f) / 2.0F * 60.0F; ++i)
{ {
GL11.glRotatef(random.floatv() * 360.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(random.floatv() * 360.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(random.floatv() * 360.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(random.floatv() * 360.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(random.floatv() * 360.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(random.floatv() * 360.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(random.floatv() * 360.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(random.floatv() * 360.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(random.floatv() * 360.0F, 0.0F, 1.0F, 0.0F); GL46.glRotatef(random.floatv() * 360.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(random.floatv() * 360.0F + f * 90.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(random.floatv() * 360.0F + f * 90.0F, 0.0F, 0.0F, 1.0F);
float f2 = random.floatv() * 20.0F + 5.0F + f1 * 10.0F; float f2 = random.floatv() * 20.0F + 5.0F + f1 * 10.0F;
float f3 = random.floatv() * 2.0F + 1.0F + f1 * 2.0F; float f3 = random.floatv() * 2.0F + 1.0F + f1 * 2.0F;
worldrenderer.begin(GL11.GL_TRIANGLE_FAN, DefaultVertexFormats.POSITION_COLOR); worldrenderer.begin(GL46.GL_TRIANGLE_FAN, DefaultVertexFormats.POSITION_COLOR);
worldrenderer.pos(0.0D, 0.0D, 0.0D).color(255, 255, 255, (int)(255.0F * (1.0F - f1))).endVertex(); worldrenderer.pos(0.0D, 0.0D, 0.0D).color(255, 255, 255, (int)(255.0F * (1.0F - f1))).endVertex();
worldrenderer.pos(-0.866D * (double)f3, (double)f2, (double)(-0.5F * f3)).color(255, 0, 255, 0).endVertex(); worldrenderer.pos(-0.866D * (double)f3, (double)f2, (double)(-0.5F * f3)).color(255, 0, 255, 0).endVertex();
worldrenderer.pos(0.866D * (double)f3, (double)f2, (double)(-0.5F * f3)).color(255, 0, 255, 0).endVertex(); worldrenderer.pos(0.866D * (double)f3, (double)f2, (double)(-0.5F * f3)).color(255, 0, 255, 0).endVertex();
@ -57,11 +57,11 @@ public class LayerEntityBreak implements LayerRenderer<EntityDragon>
Tessellator.draw(); Tessellator.draw();
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.depthMask(true); GlState.depthMask(true);
GlState.disableCull(); GlState.disableCull();
GlState.disableBlend(); GlState.disableBlend();
GlState.shadeModel(GL11.GL_FLAT); GlState.shadeModel(GL46.GL_FLAT);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GlState.enableTexture2D(); GlState.enableTexture2D();
GlState.enableAlpha(); GlState.enableAlpha();

View file

@ -2,7 +2,7 @@ package client.renderer.layers;
import java.util.List; import java.util.List;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.GlState; import client.renderer.GlState;
@ -62,11 +62,11 @@ public class LayerExtra implements LayerRenderer<EntityNPC>
// { // {
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
Client.CLIENT.getTextureManager().bindTexture(EntityTexManager.getSkin(entity)); Client.CLIENT.getTextureManager().bindTexture(EntityTexManager.getSkin(entity));
GL11.glPushMatrix(); GL46.glPushMatrix();
if (entity.isSneakingVisually()) if (entity.isSneakingVisually())
{ {
GL11.glTranslatef(0.0F, 0.2F, 0.0F); GL46.glTranslatef(0.0F, 0.2F, 0.0F);
} }
// if (entity.isChild()) // if (entity.isChild())
@ -77,20 +77,20 @@ public class LayerExtra implements LayerRenderer<EntityNPC>
// SKC.glTranslatef(0.0F, 24.0F * scale, 0.0F); // SKC.glTranslatef(0.0F, 24.0F * scale, 0.0F);
// } // }
GL11.glPushMatrix(); GL46.glPushMatrix();
this.model.bipedBody.postRender(0.0625F); this.model.bipedBody.postRender(0.0625F);
for(ModelRenderer model : this.wing) { for(ModelRenderer model : this.wing) {
if(entity.hasDualWings()) { if(entity.hasDualWings()) {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glRotatef(model.rotateAngleY < 0.0f ? -10.0f : 10.0f, 0.0f, 1.0f, 0.0f); GL46.glRotatef(model.rotateAngleY < 0.0f ? -10.0f : 10.0f, 0.0f, 1.0f, 0.0f);
GL11.glTranslatef(0.0f, 0.125f, -0.0625f); GL46.glTranslatef(0.0f, 0.125f, -0.0625f);
model.render(0.0625F); model.render(0.0625F);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glRotatef(model.rotateAngleY < 0.0f ? 10.0f : -10.0f, 0.0f, 1.0f, 0.0f); GL46.glRotatef(model.rotateAngleY < 0.0f ? 10.0f : -10.0f, 0.0f, 1.0f, 0.0f);
GL11.glTranslatef(model.rotateAngleY < 0.0f ? 0.0625f : -0.0625f, -0.125f, 0.0f); GL46.glTranslatef(model.rotateAngleY < 0.0f ? 0.0625f : -0.0625f, -0.125f, 0.0f);
model.render(0.0625F); model.render(0.0625F);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
else { else {
model.render(0.0625F); model.render(0.0625F);
@ -99,35 +99,35 @@ public class LayerExtra implements LayerRenderer<EntityNPC>
for(ModelRenderer model : this.body) { for(ModelRenderer model : this.body) {
model.render(0.0625F); model.render(0.0625F);
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
this.model.bipedLeftArm.postRender(0.0625F); this.model.bipedLeftArm.postRender(0.0625F);
this.model.slimLeftArm.postRender(0.0625F, -1.0f, 0.0f, 0.0f); this.model.slimLeftArm.postRender(0.0625F, -1.0f, 0.0f, 0.0f);
for(ModelRenderer model : this.larm) { for(ModelRenderer model : this.larm) {
model.render(0.0625F); model.render(0.0625F);
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
this.model.bipedRightArm.postRender(0.0625F); this.model.bipedRightArm.postRender(0.0625F);
this.model.slimRightArm.postRender(0.0625F, 1.0f, 0.0f, 0.0f); this.model.slimRightArm.postRender(0.0625F, 1.0f, 0.0f, 0.0f);
for(ModelRenderer model : this.rarm) { for(ModelRenderer model : this.rarm) {
model.render(0.0625F); model.render(0.0625F);
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
this.model.bipedHead.postRender(0.0625F); this.model.bipedHead.postRender(0.0625F);
for(ModelRenderer model : this.head) { for(ModelRenderer model : this.head) {
model.render(0.0625F); model.render(0.0625F);
} }
for(ModelRenderer model : this.halo) { for(ModelRenderer model : this.halo) {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glRotatef((float)(entity.ticksExisted % (360 * 4)) * 0.25f, 0.0f, 1.0f, 0.0f); GL46.glRotatef((float)(entity.ticksExisted % (360 * 4)) * 0.25f, 0.0f, 1.0f, 0.0f);
model.render(0.0625F); model.render(0.0625F);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPopMatrix(); GL46.glPopMatrix();
// } // }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.layers; package client.renderer.layers;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.entity.RendererLivingEntity; import client.renderer.entity.RendererLivingEntity;
@ -29,7 +29,7 @@ public class LayerHeldItem implements LayerRenderer<EntityNPC>
if (itemstack != null && itemstack.getItem().getWieldType() != null) if (itemstack != null && itemstack.getItem().getWieldType() != null)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
// if (this.livingEntityRenderer.getMainModel().isChild) // if (this.livingEntityRenderer.getMainModel().isChild)
// { // {
@ -42,7 +42,7 @@ public class LayerHeldItem implements LayerRenderer<EntityNPC>
// } // }
((ModelBiped)this.livingEntityRenderer.getMainModel()).postRenderArm(0.0625F); ((ModelBiped)this.livingEntityRenderer.getMainModel()).postRenderArm(0.0625F);
GL11.glTranslatef(this.xshift, this.yshift, 0.0625F); GL46.glTranslatef(this.xshift, this.yshift, 0.0625F);
if (entitylivingbaseIn.isPlayer() && ((EntityNPC)entitylivingbaseIn).fishEntity != null) if (entitylivingbaseIn.isPlayer() && ((EntityNPC)entitylivingbaseIn).fishEntity != null)
{ {
@ -54,11 +54,11 @@ public class LayerHeldItem implements LayerRenderer<EntityNPC>
if (entitylivingbaseIn.isSneakingVisually()) if (entitylivingbaseIn.isSneakingVisually())
{ {
GL11.glTranslatef(0.0F, 0.203125F, 0.0F); GL46.glTranslatef(0.0F, 0.203125F, 0.0F);
} }
gm.getItemRenderer().renderItem(entitylivingbaseIn, itemstack, true); gm.getItemRenderer().renderItem(entitylivingbaseIn, itemstack, true);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.layers; package client.renderer.layers;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import client.renderer.entity.RenderSlime; import client.renderer.entity.RenderSlime;
@ -25,7 +25,7 @@ public class LayerSlimeGel implements LayerRenderer<EntityNPC>
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GlState.enableNormalize(); GlState.enableNormalize();
GlState.enableBlend(); GlState.enableBlend();
GlState.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
this.slimeModel.setModelAttributes(this.slimeRenderer.getMainModel()); this.slimeModel.setModelAttributes(this.slimeRenderer.getMainModel());
this.slimeModel.render(entitylivingbaseIn, p_177141_2_, p_177141_3_, p_177141_5_, p_177141_6_, p_177141_7_, scale); this.slimeModel.render(entitylivingbaseIn, p_177141_2_, p_177141_3_, p_177141_5_, p_177141_6_, p_177141_7_, scale);
GlState.disableBlend(); GlState.disableBlend();

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.util.ExtMath; import common.util.ExtMath;
@ -96,14 +96,14 @@ public class ModelArachnoid extends ModelHumanoid
{ {
this.isSneak = false; this.isSneak = false;
// this.setVisible(true); // this.setVisible(true);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0f, 3.0f / 16.0f, 0.0f); GL46.glTranslatef(0.0f, 3.0f / 16.0f, 0.0f);
super.render(entityIn, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale); super.render(entityIn, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
// this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale, entityIn); // this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale, entityIn);
// this.spiderHead.render(scale); // this.spiderHead.render(scale);
// this.spiderNeck.render(scale); // this.spiderNeck.render(scale);
GL11.glPushMatrix(); GL46.glPushMatrix();
// if (this.isChild) // if (this.isChild)
// { // {
// float f = 2.0F; // float f = 2.0F;
@ -123,7 +123,7 @@ public class ModelArachnoid extends ModelHumanoid
this.spiderLeg6.render(scale); this.spiderLeg6.render(scale);
this.spiderLeg7.render(scale); this.spiderLeg7.render(scale);
this.spiderLeg8.render(scale); this.spiderLeg8.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
/** /**

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
@ -61,7 +61,7 @@ public abstract class ModelBiped extends ModelBase
public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale) public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale)
{ {
this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale, entityIn); this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale, entityIn);
GL11.glPushMatrix(); GL46.glPushMatrix();
// if (this.isChild) // if (this.isChild)
// { // {
@ -89,7 +89,7 @@ public abstract class ModelBiped extends ModelBase
// { // {
if (this.isSneak) // entityIn.isSneaking()) if (this.isSneak) // entityIn.isSneaking())
{ {
GL11.glTranslatef(0.0F, 0.2F, 0.0F); GL46.glTranslatef(0.0F, 0.2F, 0.0F);
} }
this.bipedHead.render(scale); this.bipedHead.render(scale);
@ -102,7 +102,7 @@ public abstract class ModelBiped extends ModelBase
this.bipedHeadwear.render(scale); this.bipedHeadwear.render(scale);
// } // }
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
/** /**

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.entity.animal.EntityCat; import common.entity.animal.EntityCat;
@ -65,14 +65,14 @@ public class ModelCat extends ModelBase
if (this.isChild) if (this.isChild)
{ {
float f = 2.0F; float f = 2.0F;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(1.5F / f, 1.5F / f, 1.5F / f); GL46.glScalef(1.5F / f, 1.5F / f, 1.5F / f);
GL11.glTranslatef(0.0F, 10.0F * scale, 4.0F * scale); GL46.glTranslatef(0.0F, 10.0F * scale, 4.0F * scale);
this.head.render(scale); this.head.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(1.0F / f, 1.0F / f, 1.0F / f); GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
GL11.glTranslatef(0.0F, 24.0F * scale, 0.0F); GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
this.body.render(scale); this.body.render(scale);
this.backLeftLeg.render(scale); this.backLeftLeg.render(scale);
this.backRightLeg.render(scale); this.backRightLeg.render(scale);
@ -80,7 +80,7 @@ public class ModelCat extends ModelBase
this.frontRightLeg.render(scale); this.frontRightLeg.render(scale);
this.tail.render(scale); this.tail.render(scale);
this.tail2.render(scale); this.tail2.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
else else
{ {

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.util.ExtMath; import common.util.ExtMath;
@ -55,21 +55,21 @@ public class ModelChicken extends ModelBase
if (this.isChild) if (this.isChild)
{ {
float f = 2.0F; float f = 2.0F;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale); GL46.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
this.head.render(scale); this.head.render(scale);
this.bill.render(scale); this.bill.render(scale);
this.chin.render(scale); this.chin.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(1.0F / f, 1.0F / f, 1.0F / f); GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
GL11.glTranslatef(0.0F, 24.0F * scale, 0.0F); GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
this.body.render(scale); this.body.render(scale);
this.rightLeg.render(scale); this.rightLeg.render(scale);
this.leftLeg.render(scale); this.leftLeg.render(scale);
this.rightWing.render(scale); this.rightWing.render(scale);
this.leftWing.render(scale); this.leftWing.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
else else
{ {

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
@ -33,28 +33,28 @@ public class ModelCrystal extends ModelBase
*/ */
public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale) public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(2.0F, 2.0F, 2.0F); GL46.glScalef(2.0F, 2.0F, 2.0F);
GL11.glTranslatef(0.0F, -0.5F, 0.0F); GL46.glTranslatef(0.0F, -0.5F, 0.0F);
if (this.base != null) if (this.base != null)
{ {
this.base.render(scale); this.base.render(scale);
} }
GL11.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F); GL46.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.0F, 0.8F + p_78088_4_, 0.0F); GL46.glTranslatef(0.0F, 0.8F + p_78088_4_, 0.0F);
GL11.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F); GL46.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
this.glass.render(scale); this.glass.render(scale);
float f = 0.875F; float f = 0.875F;
GL11.glScalef(f, f, f); GL46.glScalef(f, f, f);
GL11.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F); GL46.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
GL11.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F); GL46.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
this.glass.render(scale); this.glass.render(scale);
GL11.glScalef(f, f, f); GL46.glScalef(f, f, f);
GL11.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F); GL46.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
GL11.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F); GL46.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
this.cube.render(scale); this.cube.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import common.entity.Entity; import common.entity.Entity;
@ -139,17 +139,17 @@ public class ModelDragon extends ModelBase
*/ */
public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale) public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, 0.5F, 0.0F); GL46.glTranslatef(0.0F, 0.5F, 0.0F);
GL11.glScalef(0.35f, 0.35f, 0.35f); GL46.glScalef(0.35f, 0.35f, 0.35f);
GL11.glPushMatrix(); GL46.glPushMatrix();
EntityDragon entitydragon = (EntityDragon)entityIn; EntityDragon entitydragon = (EntityDragon)entityIn;
float f = entitydragon.prevAnimTime + (entitydragon.animTime - entitydragon.prevAnimTime) * this.partialTicks; float f = entitydragon.prevAnimTime + (entitydragon.animTime - entitydragon.prevAnimTime) * this.partialTicks;
this.jaw.rotateAngleX = (float)(Math.sin((double)(f * (float)Math.PI * 2.0F)) + 1.0D) * 0.2F; this.jaw.rotateAngleX = (float)(Math.sin((double)(f * (float)Math.PI * 2.0F)) + 1.0D) * 0.2F;
float f1 = (float)(Math.sin((double)(f * (float)Math.PI * 2.0F - 1.0F)) + 1.0D); float f1 = (float)(Math.sin((double)(f * (float)Math.PI * 2.0F - 1.0F)) + 1.0D);
f1 = (f1 * f1 * 1.0F + f1 * 2.0F) * 0.05F; f1 = (f1 * f1 * 1.0F + f1 * 2.0F) * 0.05F;
GL11.glTranslatef(0.0F, f1 - 2.0F, -3.0F); GL46.glTranslatef(0.0F, f1 - 2.0F, -3.0F);
GL11.glRotatef(f1 * 2.0F, 1.0F, 0.0F, 0.0F); GL46.glRotatef(f1 * 2.0F, 1.0F, 0.0F, 0.0F);
float f2 = -30.0F; float f2 = -30.0F;
float f4 = 0.0F; float f4 = 0.0F;
float f5 = 1.5F; float f5 = 1.5F;
@ -181,10 +181,10 @@ public class ModelDragon extends ModelBase
this.head.rotateAngleY = 0.0f * (float)Math.PI / 180.0F * 1.0F; this.head.rotateAngleY = 0.0f * (float)Math.PI / 180.0F * 1.0F;
this.head.rotateAngleZ = -this.updateRotations(p_78088_5_ - (double)f7) * (float)Math.PI / 180.0F * 1.0F; this.head.rotateAngleZ = -this.updateRotations(p_78088_5_ - (double)f7) * (float)Math.PI / 180.0F * 1.0F;
this.head.render(scale); this.head.render(scale);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, 1.0F, 0.0F); GL46.glTranslatef(0.0F, 1.0F, 0.0F);
GL11.glRotatef(-f6 * f5 * 1.0F, 0.0F, 0.0F, 1.0F); GL46.glRotatef(-f6 * f5 * 1.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(0.0F, -1.0F, 0.0F); GL46.glTranslatef(0.0F, -1.0F, 0.0F);
this.body.rotateAngleZ = 0.0F; this.body.rotateAngleZ = 0.0F;
this.body.render(scale); this.body.render(scale);
@ -205,16 +205,16 @@ public class ModelDragon extends ModelBase
this.wing.render(scale); this.wing.render(scale);
this.frontLeg.render(scale); this.frontLeg.render(scale);
this.rearLeg.render(scale); this.rearLeg.render(scale);
GL11.glScalef(-1.0F, 1.0F, 1.0F); GL46.glScalef(-1.0F, 1.0F, 1.0F);
if (j == 0) if (j == 0)
{ {
GlState.cullFace(GL11.GL_FRONT); GlState.cullFace(GL46.GL_FRONT);
} }
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.cullFace(GL11.GL_BACK); GlState.cullFace(GL46.GL_BACK);
GlState.disableCull(); GlState.disableCull();
float f10 = -((float)Math.sin((double)(f * (float)Math.PI * 2.0F))) * 0.0F; float f10 = -((float)Math.sin((double)(f * (float)Math.PI * 2.0F))) * 0.0F;
f8 = f * (float)Math.PI * 2.0F; f8 = f * (float)Math.PI * 2.0F;
@ -237,8 +237,8 @@ public class ModelDragon extends ModelBase
this.spine.render(scale); this.spine.render(scale);
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
/** /**

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.util.ExtMath; import common.util.ExtMath;
@ -54,20 +54,20 @@ public class ModelFox extends ModelBase
if (this.isChild) if (this.isChild)
{ {
float f = 2.0F; float f = 2.0F;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, 3.5F * scale, 2.0F * scale); GL46.glTranslatef(0.0F, 3.5F * scale, 2.0F * scale);
this.head.renderWithRotation(scale); this.head.renderWithRotation(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(1.0F / f, 1.0F / f, 1.0F / f); GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
GL11.glTranslatef(0.0F, 24.0F * scale, 0.0F); GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
this.body.render(scale); this.body.render(scale);
this.wolfLeg1.render(scale); this.wolfLeg1.render(scale);
this.wolfLeg2.render(scale); this.wolfLeg2.render(scale);
this.wolfLeg3.render(scale); this.wolfLeg3.render(scale);
this.wolfLeg4.render(scale); this.wolfLeg4.render(scale);
this.tail.renderWithRotation(scale); this.tail.renderWithRotation(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
else else
{ {

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.entity.animal.EntityHorse; import common.entity.animal.EntityHorse;
@ -242,9 +242,9 @@ public class ModelHorse extends ModelBase
if (!flag) if (!flag)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(f1, 0.5F + f1 * 0.5F, f1); GL46.glScalef(f1, 0.5F + f1 * 0.5F, f1);
GL11.glTranslatef(0.0F, 0.95F * (1.0F - f1), 0.0F); GL46.glTranslatef(0.0F, 0.95F * (1.0F - f1), 0.0F);
} }
this.backLeftLeg.render(scale); this.backLeftLeg.render(scale);
@ -262,10 +262,10 @@ public class ModelHorse extends ModelBase
if (!flag) if (!flag)
{ {
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(f1, f1, f1); GL46.glScalef(f1, f1, f1);
GL11.glTranslatef(0.0F, 1.35F * (1.0F - f1), 0.0F); GL46.glTranslatef(0.0F, 1.35F * (1.0F - f1), 0.0F);
} }
this.body.render(scale); this.body.render(scale);
@ -277,18 +277,18 @@ public class ModelHorse extends ModelBase
if (!flag) if (!flag)
{ {
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
float f2 = 0.5F + f1 * f1 * 0.5F; float f2 = 0.5F + f1 * f1 * 0.5F;
GL11.glScalef(f2, f2, f2); GL46.glScalef(f2, f2, f2);
if (f <= 0.0F) if (f <= 0.0F)
{ {
GL11.glTranslatef(0.0F, 1.35F * (1.0F - f1), 0.0F); GL46.glTranslatef(0.0F, 1.35F * (1.0F - f1), 0.0F);
} }
else else
{ {
GL11.glTranslatef(0.0F, 0.9F * (1.0F - f1) * f + 1.35F * (1.0F - f1) * (1.0F - f), 0.15F * (1.0F - f1) * f); GL46.glTranslatef(0.0F, 0.9F * (1.0F - f1) * f + 1.35F * (1.0F - f1) * (1.0F - f), 0.15F * (1.0F - f1) * f);
} }
} }
@ -307,7 +307,7 @@ public class ModelHorse extends ModelBase
if (!flag) if (!flag)
{ {
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
if (flag2) if (flag2)

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.util.ExtMath; import common.util.ExtMath;
@ -150,7 +150,7 @@ public class ModelHumanoid extends ModelBiped
public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale) public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale)
{ {
super.render(entityIn, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale); super.render(entityIn, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale);
GL11.glPushMatrix(); GL46.glPushMatrix();
// if (this.isChild) // if (this.isChild)
// { // {
@ -171,7 +171,7 @@ public class ModelHumanoid extends ModelBiped
// { // {
if (this.isSneak) // entityIn.isSneaking()) if (this.isSneak) // entityIn.isSneaking())
{ {
GL11.glTranslatef(0.0F, 0.2F, 0.0F); GL46.glTranslatef(0.0F, 0.2F, 0.0F);
// } // }
} }
@ -188,7 +188,7 @@ public class ModelHumanoid extends ModelBiped
// if(this.sticks) { // if(this.sticks) {
// } // }
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
// public void renderCape(float scale) // public void renderCape(float scale)

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
@ -63,9 +63,9 @@ public class ModelMouse extends ModelBase
this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale, entityIn); this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale, entityIn);
float s = this.isChild ? 0.125f : 0.25f; float s = this.isChild ? 0.125f : 0.25f;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(s, s, s); GL46.glScalef(s, s, s);
GL11.glTranslatef(0.0f, (this.isChild ? 171.0f : 74.5f) * scale, 0.0f); GL46.glTranslatef(0.0f, (this.isChild ? 171.0f : 74.5f) * scale, 0.0f);
// if (this.isChild) // if (this.isChild)
// { // {
// float f = 2.0F; // float f = 2.0F;
@ -97,7 +97,7 @@ public class ModelMouse extends ModelBase
this.frontLeftLeg.render(scale); this.frontLeftLeg.render(scale);
this.frontRightLeg.render(scale); this.frontRightLeg.render(scale);
// } // }
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn) public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn)

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.util.ExtMath; import common.util.ExtMath;
@ -47,19 +47,19 @@ public class ModelQuadruped extends ModelBase
if (this.isChild) if (this.isChild)
{ {
float f = 2.0F; float f = 2.0F;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, this.childYOffset * scale, this.childZOffset * scale); GL46.glTranslatef(0.0F, this.childYOffset * scale, this.childZOffset * scale);
this.head.render(scale); this.head.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(1.0F / f, 1.0F / f, 1.0F / f); GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
GL11.glTranslatef(0.0F, 24.0F * scale, 0.0F); GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
this.body.render(scale); this.body.render(scale);
this.leg1.render(scale); this.leg1.render(scale);
this.leg2.render(scale); this.leg2.render(scale);
this.leg3.render(scale); this.leg3.render(scale);
this.leg4.render(scale); this.leg4.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
else else
{ {

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.entity.animal.EntityRabbit; import common.entity.animal.EntityRabbit;
@ -101,16 +101,16 @@ public class ModelRabbit extends ModelBase {
if(this.isChild) { if(this.isChild) {
float f = 2.0F; float f = 2.0F;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale); GL46.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
this.rabbitHead.render(scale); this.rabbitHead.render(scale);
this.rabbitLeftEar.render(scale); this.rabbitLeftEar.render(scale);
this.rabbitRightEar.render(scale); this.rabbitRightEar.render(scale);
this.rabbitNose.render(scale); this.rabbitNose.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(1.0F / f, 1.0F / f, 1.0F / f); GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
GL11.glTranslatef(0.0F, 24.0F * scale, 0.0F); GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
this.rabbitLeftFoot.render(scale); this.rabbitLeftFoot.render(scale);
this.rabbitRightFoot.render(scale); this.rabbitRightFoot.render(scale);
this.rabbitLeftThigh.render(scale); this.rabbitLeftThigh.render(scale);
@ -119,7 +119,7 @@ public class ModelRabbit extends ModelBase {
this.rabbitLeftArm.render(scale); this.rabbitLeftArm.render(scale);
this.rabbitRightArm.render(scale); this.rabbitRightArm.render(scale);
this.rabbitTail.render(scale); this.rabbitTail.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
else { else {
this.rabbitLeftFoot.render(scale); this.rabbitLeftFoot.render(scale);

View file

@ -2,7 +2,7 @@ package client.renderer.model;
import java.util.List; import java.util.List;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.RenderBuffer; import client.renderer.RenderBuffer;
import client.renderer.Tessellator; import client.renderer.Tessellator;
@ -173,13 +173,13 @@ public class ModelRenderer
this.compileDisplayList(p_78785_1_); this.compileDisplayList(p_78785_1_);
} }
GL11.glTranslatef(this.offsetX, this.offsetY, this.offsetZ); GL46.glTranslatef(this.offsetX, this.offsetY, this.offsetZ);
if (this.rotateAngleX == 0.0F && this.rotateAngleY == 0.0F && this.rotateAngleZ == 0.0F) if (this.rotateAngleX == 0.0F && this.rotateAngleY == 0.0F && this.rotateAngleZ == 0.0F)
{ {
if (this.rotationPointX == 0.0F && this.rotationPointY == 0.0F && this.rotationPointZ == 0.0F) if (this.rotationPointX == 0.0F && this.rotationPointY == 0.0F && this.rotationPointZ == 0.0F)
{ {
GL11.glCallList(this.displayList); GL46.glCallList(this.displayList);
if (this.childModels != null) if (this.childModels != null)
{ {
@ -191,8 +191,8 @@ public class ModelRenderer
} }
else else
{ {
GL11.glTranslatef(this.rotationPointX * p_78785_1_, this.rotationPointY * p_78785_1_, this.rotationPointZ * p_78785_1_); GL46.glTranslatef(this.rotationPointX * p_78785_1_, this.rotationPointY * p_78785_1_, this.rotationPointZ * p_78785_1_);
GL11.glCallList(this.displayList); GL46.glCallList(this.displayList);
if (this.childModels != null) if (this.childModels != null)
{ {
@ -202,30 +202,30 @@ public class ModelRenderer
} }
} }
GL11.glTranslatef(-this.rotationPointX * p_78785_1_, -this.rotationPointY * p_78785_1_, -this.rotationPointZ * p_78785_1_); GL46.glTranslatef(-this.rotationPointX * p_78785_1_, -this.rotationPointY * p_78785_1_, -this.rotationPointZ * p_78785_1_);
} }
} }
else else
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(this.rotationPointX * p_78785_1_, this.rotationPointY * p_78785_1_, this.rotationPointZ * p_78785_1_); GL46.glTranslatef(this.rotationPointX * p_78785_1_, this.rotationPointY * p_78785_1_, this.rotationPointZ * p_78785_1_);
if (this.rotateAngleZ != 0.0F) if (this.rotateAngleZ != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F); GL46.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F);
} }
if (this.rotateAngleY != 0.0F) if (this.rotateAngleY != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F); GL46.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F);
} }
if (this.rotateAngleX != 0.0F) if (this.rotateAngleX != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F); GL46.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F);
} }
GL11.glCallList(this.displayList); GL46.glCallList(this.displayList);
if (this.childModels != null) if (this.childModels != null)
{ {
@ -235,10 +235,10 @@ public class ModelRenderer
} }
} }
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
GL11.glTranslatef(-this.offsetX, -this.offsetY, -this.offsetZ); GL46.glTranslatef(-this.offsetX, -this.offsetY, -this.offsetZ);
} }
} }
} }
@ -254,26 +254,26 @@ public class ModelRenderer
this.compileDisplayList(p_78791_1_); this.compileDisplayList(p_78791_1_);
} }
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(this.rotationPointX * p_78791_1_, this.rotationPointY * p_78791_1_, this.rotationPointZ * p_78791_1_); GL46.glTranslatef(this.rotationPointX * p_78791_1_, this.rotationPointY * p_78791_1_, this.rotationPointZ * p_78791_1_);
if (this.rotateAngleY != 0.0F) if (this.rotateAngleY != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F); GL46.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F);
} }
if (this.rotateAngleX != 0.0F) if (this.rotateAngleX != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F); GL46.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F);
} }
if (this.rotateAngleZ != 0.0F) if (this.rotateAngleZ != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F); GL46.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F);
} }
GL11.glCallList(this.displayList); GL46.glCallList(this.displayList);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }
} }
@ -296,26 +296,26 @@ public class ModelRenderer
{ {
if (this.rotationPointX != 0.0F || this.rotationPointY != 0.0F || this.rotationPointZ != 0.0F) if (this.rotationPointX != 0.0F || this.rotationPointY != 0.0F || this.rotationPointZ != 0.0F)
{ {
GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale); GL46.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
} }
} }
else else
{ {
GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale); GL46.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
if (this.rotateAngleZ != 0.0F) if (this.rotateAngleZ != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F); GL46.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F);
} }
if (this.rotateAngleY != 0.0F) if (this.rotateAngleY != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F); GL46.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F);
} }
if (this.rotateAngleX != 0.0F) if (this.rotateAngleX != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F); GL46.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F);
} }
} }
} }
@ -337,26 +337,26 @@ public class ModelRenderer
{ {
if (this.rotationPointX + x != 0.0F || this.rotationPointY + y != 0.0F || this.rotationPointZ + z != 0.0F) if (this.rotationPointX + x != 0.0F || this.rotationPointY + y != 0.0F || this.rotationPointZ + z != 0.0F)
{ {
GL11.glTranslatef((this.rotationPointX + x) * scale, (this.rotationPointY + y) * scale, (this.rotationPointZ + z) * scale); GL46.glTranslatef((this.rotationPointX + x) * scale, (this.rotationPointY + y) * scale, (this.rotationPointZ + z) * scale);
} }
} }
else else
{ {
GL11.glTranslatef((this.rotationPointX + x) * scale, (this.rotationPointY + y) * scale, (this.rotationPointZ + z) * scale); GL46.glTranslatef((this.rotationPointX + x) * scale, (this.rotationPointY + y) * scale, (this.rotationPointZ + z) * scale);
if (this.rotateAngleZ != 0.0F) if (this.rotateAngleZ != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F); GL46.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F);
} }
if (this.rotateAngleY != 0.0F) if (this.rotateAngleY != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F); GL46.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F);
} }
if (this.rotateAngleX != 0.0F) if (this.rotateAngleX != 0.0F)
{ {
GL11.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F); GL46.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F);
} }
} }
} }
@ -365,8 +365,8 @@ public class ModelRenderer
private void compileDisplayList(float scale) private void compileDisplayList(float scale)
{ {
this.displayList = GL11.glGenLists(1); this.displayList = GL46.glGenLists(1);
GL11.glNewList(this.displayList, GL11.GL_COMPILE); GL46.glNewList(this.displayList, GL46.GL_COMPILE);
// Tessellator.getInstance(); // Tessellator.getInstance();
RenderBuffer worldrenderer = Tessellator.getBuffer(); RenderBuffer worldrenderer = Tessellator.getBuffer();
@ -375,13 +375,13 @@ public class ModelRenderer
((ModelBox)this.cubeList.get(i)).makeList(worldrenderer, scale); ((ModelBox)this.cubeList.get(i)).makeList(worldrenderer, scale);
} }
GL11.glEndList(); GL46.glEndList();
this.compiled = true; this.compiled = true;
} }
public void deleteDisplayList() { public void deleteDisplayList() {
if(this.displayList != 0) if(this.displayList != 0)
GL11.glDeleteLists(this.displayList, 1); GL46.glDeleteLists(this.displayList, 1);
this.displayList = 0; this.displayList = 0;
} }

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import common.entity.Entity; import common.entity.Entity;
import common.entity.animal.EntityWolf; import common.entity.animal.EntityWolf;
@ -77,13 +77,13 @@ public class ModelWolf extends ModelBase
if (this.isChild) if (this.isChild)
{ {
float f = 2.0F; float f = 2.0F;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale); GL46.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
this.wolfHeadMain.renderWithRotation(scale); this.wolfHeadMain.renderWithRotation(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(1.0F / f, 1.0F / f, 1.0F / f); GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
GL11.glTranslatef(0.0F, 24.0F * scale, 0.0F); GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
this.wolfBody.render(scale); this.wolfBody.render(scale);
this.wolfLeg1.render(scale); this.wolfLeg1.render(scale);
this.wolfLeg2.render(scale); this.wolfLeg2.render(scale);
@ -91,7 +91,7 @@ public class ModelWolf extends ModelBase
this.wolfLeg4.render(scale); this.wolfLeg4.render(scale);
this.wolfTail.renderWithRotation(scale); this.wolfTail.renderWithRotation(scale);
this.wolfMane.render(scale); this.wolfMane.render(scale);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
else else
{ {

View file

@ -1,6 +1,6 @@
package client.renderer.model; package client.renderer.model;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.DefaultVertexFormats; import client.renderer.DefaultVertexFormats;
import client.renderer.RenderBuffer; import client.renderer.RenderBuffer;
@ -59,7 +59,7 @@ public class TexturedQuad
// ny = -ny; // ny = -ny;
// nz = -nz; // nz = -nz;
// } // }
renderer.begin(GL11.GL_QUADS, DefaultVertexFormats.OLDMODEL_POSITION_TEX_NORMAL); renderer.begin(GL46.GL_QUADS, DefaultVertexFormats.OLDMODEL_POSITION_TEX_NORMAL);
for (int i = 0; i < 4; ++i) for (int i = 0; i < 4; ++i)
{ {
PositionTextureVertex vertex = this.vertices[i]; PositionTextureVertex vertex = this.vertices[i];

View file

@ -2,7 +2,7 @@ package client.renderer.texture;
import java.io.IOException; import java.io.IOException;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
@ -11,7 +11,7 @@ public abstract class Texture {
public final int getGlTextureId() { public final int getGlTextureId() {
if(this.id == -1) if(this.id == -1)
this.id = GL11.glGenTextures(); this.id = GL46.glGenTextures();
return this.id; return this.id;
} }

View file

@ -11,8 +11,7 @@ import java.nio.IntBuffer;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import org.lwjgl.opengl.GL12;
import client.renderer.GlState; import client.renderer.GlState;
import client.util.FileUtils; import client.util.FileUtils;
@ -26,10 +25,10 @@ public class TextureUtil
public static void uploadTexture(int[] data, int w, int h, int x, int y) public static void uploadTexture(int[] data, int w, int h, int x, int y)
{ {
int i = 4194304 / w; int i = 4194304 / w;
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MIN_FILTER, GL46.GL_NEAREST);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MAG_FILTER, GL46.GL_NEAREST);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_REPEAT); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_WRAP_S, GL46.GL_REPEAT);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_REPEAT); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_WRAP_T, GL46.GL_REPEAT);
int l; int l;
for (int j = 0; j < w * h; j += w * l) for (int j = 0; j < w * h; j += w * l)
@ -40,7 +39,7 @@ public class TextureUtil
BUFFER.clear(); BUFFER.clear();
BUFFER.put(data, j, i1); BUFFER.put(data, j, i1);
BUFFER.position(0).limit(i1); BUFFER.position(0).limit(i1);
GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, x, y + k, w, l, GL12.GL_BGRA, GL12.GL_UNSIGNED_INT_8_8_8_8_REV, BUFFER); GL46.glTexSubImage2D(GL46.GL_TEXTURE_2D, 0, x, y + k, w, l, GL46.GL_BGRA, GL46.GL_UNSIGNED_INT_8_8_8_8_REV, BUFFER);
} }
} }
@ -52,10 +51,10 @@ public class TextureUtil
int h = img.getHeight(); int h = img.getHeight();
int k = 4194304 / w; int k = 4194304 / w;
int[] data = new int[k * w]; int[] data = new int[k * w];
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MIN_FILTER, GL46.GL_NEAREST);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MAG_FILTER, GL46.GL_NEAREST);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_REPEAT); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_WRAP_S, GL46.GL_REPEAT);
GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, GL11.GL_REPEAT); GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_WRAP_T, GL46.GL_REPEAT);
for (int l = 0; l < w * h; l += w * k) for (int l = 0; l < w * h; l += w * k)
{ {
@ -66,7 +65,7 @@ public class TextureUtil
BUFFER.clear(); BUFFER.clear();
BUFFER.put(data, 0, k1); BUFFER.put(data, 0, k1);
BUFFER.position(0).limit(k1); BUFFER.position(0).limit(k1);
GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, 0, i1, w, j1, GL12.GL_BGRA, GL12.GL_UNSIGNED_INT_8_8_8_8_REV, BUFFER); GL46.glTexSubImage2D(GL46.GL_TEXTURE_2D, 0, 0, i1, w, j1, GL46.GL_BGRA, GL46.GL_UNSIGNED_INT_8_8_8_8_REV, BUFFER);
} }
return id; return id;
} }
@ -75,7 +74,7 @@ public class TextureUtil
{ {
// GlState.deleteTexture(id); //TODO: check needed // GlState.deleteTexture(id); //TODO: check needed
GlState.bindTexture(id); GlState.bindTexture(id);
GL11.nglTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA, width, height, 0, GL12.GL_BGRA, GL12.GL_UNSIGNED_INT_8_8_8_8_REV, NULL); GL46.nglTexImage2D(GL46.GL_TEXTURE_2D, 0, GL46.GL_RGBA, width, height, 0, GL46.GL_BGRA, GL46.GL_UNSIGNED_INT_8_8_8_8_REV, NULL);
} }
public static int[] readImageData(String loc) throws IOException public static int[] readImageData(String loc) throws IOException

View file

@ -3,7 +3,7 @@ package client.renderer.tileentity;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map; import java.util.Map;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.Drawing; import client.renderer.Drawing;
@ -92,18 +92,18 @@ public class DisplayRenderer extends ElementRenderer<TileEntityDisplay> {
else if(dir == Facing.EAST) else if(dir == Facing.EAST)
rot = -90.0F; rot = -90.0F;
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x + 0.5F, (float)y + 1.0f, (float)z + 0.5F); GL46.glTranslatef((float)x + 0.5F, (float)y + 1.0f, (float)z + 0.5F);
GL11.glRotatef(-rot, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-rot, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(-0.5F, 0.0f, -0.5f + 0.0625f + 0.005f); GL46.glTranslatef(-0.5F, 0.0f, -0.5f + 0.0625f + 0.005f);
float density = 1.0f / (float)(te.density / 16); float density = 1.0f / (float)(te.density / 16);
GL11.glScalef(0.0625f * density, -0.0625f * density, 0.0625f * density); GL46.glScalef(0.0625f * density, -0.0625f * density, 0.0625f * density);
GlState.disableLighting(); GlState.disableLighting();
Drawing.drawTexturedRect(Client.CLIENT, getTexture(te), te.density, te.density, 0, 0, 0, 0, te.density, te.density); Drawing.drawTexturedRect(Client.CLIENT, getTexture(te), te.density, te.density, 0, 0, 0, 0, te.density, te.density);
GlState.enableLighting(); GlState.enableLighting();
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }

View file

@ -1,6 +1,6 @@
package client.renderer.tileentity; package client.renderer.tileentity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.Client; import client.Client;
import client.renderer.GlState; import client.renderer.GlState;
@ -17,17 +17,17 @@ public class ItemPipeRenderer extends ElementRenderer<TileEntityItemPipe> {
return; return;
Client.CLIENT.getTextureManager().bindTexture(TextureMap.BLOCKS); Client.CLIENT.getTextureManager().bindTexture(TextureMap.BLOCKS);
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
GlState.alphaFunc(GL11.GL_GREATER, 0.1F); GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
GlState.enableBlend(); GlState.enableBlend();
GlState.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
RenderItem itemRenderer = Client.CLIENT.getRenderItem(); RenderItem itemRenderer = Client.CLIENT.getRenderItem();
IBakedModel ibakedmodel = itemRenderer.getItemModelMesher().getItemModel(itemstack); IBakedModel ibakedmodel = itemRenderer.getItemModelMesher().getItemModel(itemstack);
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glTranslatef((float)x + 0.5F, (float)y + 0.5f, (float)z + 0.5F); GL46.glTranslatef((float)x + 0.5F, (float)y + 0.5f, (float)z + 0.5F);
if(ibakedmodel.isGui3d()) if(ibakedmodel.isGui3d())
GL11.glScalef(0.5F, 0.5F, 0.5F); GL46.glScalef(0.5F, 0.5F, 0.5F);
itemRenderer.renderItem(itemstack, ibakedmodel); itemRenderer.renderItem(itemstack, ibakedmodel);
GL11.glPopMatrix(); GL46.glPopMatrix();
GlState.disableRescaleNormal(); GlState.disableRescaleNormal();
GlState.disableBlend(); GlState.disableBlend();
} }

View file

@ -1,6 +1,6 @@
package client.renderer.tileentity; package client.renderer.tileentity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL46;
import client.renderer.Drawing; import client.renderer.Drawing;
import client.renderer.GlState; import client.renderer.GlState;
@ -14,13 +14,13 @@ public class SignRenderer extends ElementRenderer<TileEntitySign>
{ {
public void renderElements(TileEntitySign te, double x, double y, double z, float partialTicks) public void renderElements(TileEntitySign te, double x, double y, double z, float partialTicks)
{ {
GL11.glPushMatrix(); GL46.glPushMatrix();
float f = 0.6666667F; float f = 0.6666667F;
State state = te.getState(); State state = te.getState();
if (state.getBlock() instanceof BlockStandingSign) if (state.getBlock() instanceof BlockStandingSign)
{ {
GL11.glTranslatef((float)x + 0.5F, (float)y + 0.75F * f, (float)z + 0.5F); GL46.glTranslatef((float)x + 0.5F, (float)y + 0.75F * f, (float)z + 0.5F);
int r = state.getValue(BlockStandingSign.FACING).getIndex(); int r = state.getValue(BlockStandingSign.FACING).getIndex();
float f1 = 0.0F; float f1 = 0.0F;
@ -38,8 +38,8 @@ public class SignRenderer extends ElementRenderer<TileEntitySign>
{ {
f1 = -90.0F; f1 = -90.0F;
} }
GL11.glRotatef(-f1, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-f1, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.0F, f * -0.0625f * 2.0f, 0.0F); GL46.glTranslatef(0.0F, f * -0.0625f * 2.0f, 0.0F);
} }
else else
{ {
@ -61,16 +61,16 @@ public class SignRenderer extends ElementRenderer<TileEntitySign>
f2 = -90.0F; f2 = -90.0F;
} }
GL11.glTranslatef((float)x + 0.5F, (float)y + 0.75F * f, (float)z + 0.5F); GL46.glTranslatef((float)x + 0.5F, (float)y + 0.75F * f, (float)z + 0.5F);
GL11.glRotatef(-f2, 0.0F, 1.0F, 0.0F); GL46.glRotatef(-f2, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.0F, -0.3125F - f * 0.0625f * 0.5f, -0.4375F); GL46.glTranslatef(0.0F, -0.3125F - f * 0.0625f * 0.5f, -0.4375F);
} }
GlState.enableRescaleNormal(); GlState.enableRescaleNormal();
float f3 = 0.015625F * f; float f3 = 0.015625F * f;
GL11.glTranslatef(0.0F, 0.5F * f, 0.1F * f); GL46.glTranslatef(0.0F, 0.5F * f, 0.1F * f);
GL11.glScalef(f3, -f3, f3); GL46.glScalef(f3, -f3, f3);
GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3); GL46.glNormal3f(0.0F, 0.0F, -1.0F * f3);
GlState.depthMask(false); GlState.depthMask(false);
for (int j = 0; j < te.text.length; ++j) for (int j = 0; j < te.text.length; ++j)
@ -78,15 +78,15 @@ public class SignRenderer extends ElementRenderer<TileEntitySign>
if (te.text[j] != null && !te.text[j].isEmpty()) if (te.text[j] != null && !te.text[j].isEmpty())
{ {
String s = te.text[j].length() > 50 ? te.text[j].substring(0, 50) : te.text[j]; String s = te.text[j].length() > 50 ? te.text[j].substring(0, 50) : te.text[j];
GL11.glPushMatrix(); GL46.glPushMatrix();
GL11.glScalef(0.75f, 0.75f, 0.75f); GL46.glScalef(0.75f, 0.75f, 0.75f);
Drawing.drawTextCenteredN(s, 0, j * (18 - 3) - 30, 0xff000000); Drawing.drawTextCenteredN(s, 0, j * (18 - 3) - 30, 0xff000000);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }
GlState.depthMask(true); GlState.depthMask(true);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix(); GL46.glPopMatrix();
} }
} }

View file

@ -2,7 +2,7 @@ package client.renderer.tileentity;
import java.util.Map; import java.util.Map;
import org.lwjgl.opengl.GL13; import org.lwjgl.opengl.GL46;
import client.renderer.GlState; import client.renderer.GlState;
import common.collect.Maps; import common.collect.Maps;
@ -58,7 +58,7 @@ public class SpecialRenderer {
int light = this.world.getCombinedLight(tile.getPos(), 0); int light = this.world.getCombinedLight(tile.getPos(), 0);
int block = light % 65536; int block = light % 65536;
int sky = light / 65536; int sky = light / 65536;
GL13.glMultiTexCoord2f(GL13.GL_TEXTURE1, (float)block / 1.0F, (float)sky / 1.0F); GL46.glMultiTexCoord2f(GL46.GL_TEXTURE1, (float)block / 1.0F, (float)sky / 1.0F);
GlState.color(1.0F, 1.0F, 1.0F, 1.0F); GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
BlockPos pos = tile.getPos(); BlockPos pos = tile.getPos();
this.render(tile, (double)pos.getX() - entityX, (double)pos.getY() - entityY, (double)pos.getZ() - entityZ, partial); this.render(tile, (double)pos.getX() - entityX, (double)pos.getY() - entityY, (double)pos.getZ() - entityZ, partial);

View file

@ -12,11 +12,9 @@ import java.nio.charset.Charset;
public class FileUtils { public class FileUtils {
public static final Charset UTF_8 = Charset.forName("UTF-8"); public static final Charset UTF_8 = Charset.forName("UTF-8");
public static String read(File file) throws IOException { private static String read(InputStream in) throws IOException {
FileInputStream in = null;
String s; String s;
try { try {
in = new FileInputStream(file);
ByteArrayOutputStream output = new ByteArrayOutputStream(); ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[4096]; byte[] buffer = new byte[4096];
long count = 0L; long count = 0L;
@ -36,6 +34,14 @@ public class FileUtils {
} }
return s; return s;
} }
public static String read(File file) throws IOException {
return read(new FileInputStream(file));
}
public static String read(String resource) throws IOException {
return read(getResource(resource));
}
public static void write(File file, String data) throws IOException { public static void write(File file, String data) throws IOException {
FileOutputStream out = null; FileOutputStream out = null;

View file

@ -20,7 +20,7 @@ import static org.lwjgl.glfw.GLFW.glfwGetClipboardString;
import static org.lwjgl.glfw.GLFW.glfwGetKey; import static org.lwjgl.glfw.GLFW.glfwGetKey;
import static org.lwjgl.glfw.GLFW.glfwGetMonitorPos; import static org.lwjgl.glfw.GLFW.glfwGetMonitorPos;
import static org.lwjgl.glfw.GLFW.glfwGetPrimaryMonitor; import static org.lwjgl.glfw.GLFW.glfwGetPrimaryMonitor;
import static org.lwjgl.glfw.GLFW.glfwGetTimerFrequency; import static org.lwjgl.glfw.GLFW.glfwGetVersionString;
import static org.lwjgl.glfw.GLFW.glfwGetVideoMode; import static org.lwjgl.glfw.GLFW.glfwGetVideoMode;
import static org.lwjgl.glfw.GLFW.glfwGetVideoModes; import static org.lwjgl.glfw.GLFW.glfwGetVideoModes;
import static org.lwjgl.glfw.GLFW.glfwInit; import static org.lwjgl.glfw.GLFW.glfwInit;
@ -41,7 +41,6 @@ import static org.lwjgl.glfw.GLFW.glfwSetWindowIcon;
import static org.lwjgl.glfw.GLFW.glfwSetWindowMonitor; import static org.lwjgl.glfw.GLFW.glfwSetWindowMonitor;
import static org.lwjgl.glfw.GLFW.glfwSetWindowPos; import static org.lwjgl.glfw.GLFW.glfwSetWindowPos;
import static org.lwjgl.glfw.GLFW.glfwSetWindowPosCallback; import static org.lwjgl.glfw.GLFW.glfwSetWindowPosCallback;
import static org.lwjgl.glfw.GLFW.glfwSetWindowRefreshCallback;
import static org.lwjgl.glfw.GLFW.glfwSetWindowSize; import static org.lwjgl.glfw.GLFW.glfwSetWindowSize;
import static org.lwjgl.glfw.GLFW.glfwSetWindowSizeLimits; import static org.lwjgl.glfw.GLFW.glfwSetWindowSizeLimits;
import static org.lwjgl.glfw.GLFW.glfwSetWindowTitle; import static org.lwjgl.glfw.GLFW.glfwSetWindowTitle;
@ -51,13 +50,15 @@ import static org.lwjgl.glfw.GLFW.glfwSwapInterval;
import static org.lwjgl.glfw.GLFW.glfwTerminate; import static org.lwjgl.glfw.GLFW.glfwTerminate;
import static org.lwjgl.glfw.GLFW.glfwWindowHint; import static org.lwjgl.glfw.GLFW.glfwWindowHint;
import static org.lwjgl.system.MemoryUtil.NULL; import static org.lwjgl.system.MemoryUtil.NULL;
import static org.lwjgl.BufferUtils.createByteBuffer;
import static org.lwjgl.Version.getVersion;
import static org.lwjgl.system.APIUtil.apiClassTokens;
import static common.log.Log.SYSTEM;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.lwjgl.BufferUtils;
import org.lwjgl.Version;
import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFW;
import org.lwjgl.glfw.GLFWCharCallback; import org.lwjgl.glfw.GLFWCharCallback;
import org.lwjgl.glfw.GLFWCursorPosCallback; import org.lwjgl.glfw.GLFWCursorPosCallback;
@ -71,17 +72,17 @@ import org.lwjgl.glfw.GLFWVidMode;
import org.lwjgl.glfw.GLFWWindowCloseCallback; import org.lwjgl.glfw.GLFWWindowCloseCallback;
import org.lwjgl.glfw.GLFWWindowFocusCallback; import org.lwjgl.glfw.GLFWWindowFocusCallback;
import org.lwjgl.glfw.GLFWWindowPosCallback; import org.lwjgl.glfw.GLFWWindowPosCallback;
import org.lwjgl.glfw.GLFWWindowRefreshCallback;
import org.lwjgl.opengl.GL;
import org.lwjgl.system.APIUtil;
import common.log.Log;
public abstract class Window { public abstract class Window {
private static final List<WindowEvent> EVENTS = new ArrayList<WindowEvent>();
private static long window;
public static void setWindowed(int xpos, int ypos, int xsize, int ysize) { public static void setWindowed(int xpos, int ypos, int xsize, int ysize) {
if(window != NULL) if(window != NULL)
glfwSetWindowMonitor(window, NULL, xpos, ypos, xsize, ysize, GLFW_DONT_CARE); glfwSetWindowMonitor(window, NULL, xpos, ypos, xsize, ysize, GLFW_DONT_CARE);
} }
public static void setFullscreen(int width, int height, int refresh) { public static void setFullscreen(int width, int height, int refresh) {
if(window != NULL) { if(window != NULL) {
long monitor = glfwGetPrimaryMonitor(); long monitor = glfwGetPrimaryMonitor();
@ -89,47 +90,51 @@ public abstract class Window {
glfwSetWindowMonitor(window, monitor, 0, 0, width, height, refresh); glfwSetWindowMonitor(window, monitor, 0, 0, width, height, refresh);
} }
} }
public static boolean getKey(int code) { public static boolean getKey(int code) {
return window != NULL && glfwGetKey(window, code) == GLFW_PRESS; return window != NULL && glfwGetKey(window, code) == GLFW_PRESS;
} }
public static void setTitle(String title) { public static void setTitle(String title) {
if(window != NULL) if(window != NULL)
glfwSetWindowTitle(window, title); glfwSetWindowTitle(window, title);
} }
public static void setIcon(byte[] icon, int w, int h) { public static void setIcon(byte[] icon, int w, int h) {
if(window != NULL) { if(window != NULL) {
GLFWImage img = GLFWImage.create(); GLFWImage img = GLFWImage.create();
img.width(w); img.width(w);
img.height(h); img.height(h);
img.pixels(BufferUtils.createByteBuffer(icon.length).put(icon).rewind()); img.pixels(createByteBuffer(icon.length).put(icon).rewind());
GLFWImage.Buffer buf = GLFWImage.create(1).put(img).rewind(); GLFWImage.Buffer buf = GLFWImage.create(1).put(img).rewind();
glfwSetWindowIcon(window, buf); glfwSetWindowIcon(window, buf);
} }
} }
public static String getClipboard() { public static String getClipboard() {
return window == NULL ? null : glfwGetClipboardString(window); return window == NULL ? null : glfwGetClipboardString(window);
} }
public static void setClipboard(String text) { public static void setClipboard(String text) {
if(window != NULL) if(window != NULL)
glfwSetClipboardString(window, text); glfwSetClipboardString(window, text);
} }
public static void swapBuffers() { public static void swapBuffers() {
if(window != NULL) if(window != NULL)
glfwSwapBuffers(window); glfwSwapBuffers(window);
} }
public static void grabCursor(boolean grab) { public static void grabCursor(boolean grab) {
if(window != NULL) if(window != NULL)
glfwSetInputMode(window, GLFW_CURSOR, grab ? GLFW_CURSOR_DISABLED : GLFW_CURSOR_NORMAL); glfwSetInputMode(window, GLFW_CURSOR, grab ? GLFW_CURSOR_DISABLED : GLFW_CURSOR_NORMAL);
} }
public static void setVSync(boolean sync) { public static void setVSync(boolean sync) {
if(window != NULL) if(window != NULL)
glfwSwapInterval(sync ? 1 : 0); glfwSwapInterval(sync ? 1 : 0);
} }
private static final List<WindowEvent> EVENTS = new ArrayList<WindowEvent>();
private static long window;
public static boolean createWindow(String id, boolean gldebug) { public static boolean createWindow(String id, boolean gldebug) {
glfwDefaultWindowHints(); glfwDefaultWindowHints();
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
@ -137,73 +142,62 @@ public abstract class Window {
glfwWindowHint(GLFW_CONTEXT_DEBUG, gldebug ? GLFW_TRUE : GLFW_FALSE); glfwWindowHint(GLFW_CONTEXT_DEBUG, gldebug ? GLFW_TRUE : GLFW_FALSE);
window = glfwCreateWindow(100, 100, id, NULL, NULL); window = glfwCreateWindow(100, 100, id, NULL, NULL);
if(window == NULL) { if(window == NULL) {
Log.SYSTEM.error("Konnte kein Fenster für das Programm erstellen"); SYSTEM.error("Konnte kein Fenster für das Programm erstellen");
return false;
} }
else { glfwSetMouseButtonCallback(window, new GLFWMouseButtonCallback() {
glfwSetMouseButtonCallback(window, new GLFWMouseButtonCallback() { public void invoke(long window, int button, int action, int mods) {
public void invoke(long window, int button, int action, int mods) { if(action != GLFW_REPEAT && button >= 0 && button < Button.values().length)
if(action != GLFW_REPEAT && button >= 0 && button < Button.values().length) EVENTS.add(new WindowEvent(WindowAction.BUTTON, button, action == GLFW_PRESS ? 1 : 0));
EVENTS.add(new WindowEvent(WindowAction.BUTTON, button, action == GLFW_PRESS ? 1 : 0)); }
} });
}); glfwSetCharCallback(window, new GLFWCharCallback() {
glfwSetCharCallback(window, new GLFWCharCallback() { public void invoke(long window, int codepoint) {
public void invoke(long window, int codepoint) { EVENTS.add(new WindowEvent(WindowAction.CHARACTER, codepoint, 0));
EVENTS.add(new WindowEvent(WindowAction.CHARACTER, codepoint, 0)); }
} });
}); glfwSetCursorPosCallback(window, new GLFWCursorPosCallback() {
glfwSetCursorPosCallback(window, new GLFWCursorPosCallback() { public void invoke(long window, double xpos, double ypos) {
public void invoke(long window, double xpos, double ypos) { EVENTS.add(new WindowEvent(WindowAction.CURSOR, (int)xpos, (int)ypos));
EVENTS.add(new WindowEvent(WindowAction.CURSOR, (int)xpos, (int)ypos)); }
} });
}); glfwSetFramebufferSizeCallback(window, new GLFWFramebufferSizeCallback() {
glfwSetFramebufferSizeCallback(window, new GLFWFramebufferSizeCallback() { public void invoke(long window, int width, int height) {
public void invoke(long window, int width, int height) { EVENTS.add(new WindowEvent(WindowAction.RESIZE, width, height));
EVENTS.add(new WindowEvent(WindowAction.RESIZE, width, height)); }
} });
}); glfwSetKeyCallback(window, new GLFWKeyCallback() {
glfwSetKeyCallback(window, new GLFWKeyCallback() { public void invoke(long window, int key, int scancode, int action, int mods) {
public void invoke(long window, int key, int scancode, int action, int mods) { Keysym code = Keysym.getForCode(key);
Keysym code = Keysym.getForCode(key); if(code != null)
if(code != null) EVENTS.add(new WindowEvent(WindowAction.KEY, code.ordinal(),
EVENTS.add(new WindowEvent(WindowAction.KEY, code.ordinal(), (action == GLFW_PRESS ? KeyEvent.PRESS : (action == GLFW_RELEASE ? KeyEvent.RELEASE : KeyEvent.REPEAT)).ordinal()));
(action == GLFW_PRESS ? KeyEvent.PRESS : (action == GLFW_RELEASE ? KeyEvent.RELEASE : KeyEvent.REPEAT)).ordinal())); }
} });
}); glfwSetScrollCallback(window, new GLFWScrollCallback() {
glfwSetScrollCallback(window, new GLFWScrollCallback() { public void invoke(long window, double xoffset, double yoffset) {
public void invoke(long window, double xoffset, double yoffset) { EVENTS.add(new WindowEvent(WindowAction.SCROLL, (int)xoffset, (int)yoffset));
EVENTS.add(new WindowEvent(WindowAction.SCROLL, (int)xoffset, (int)yoffset)); }
} });
}); glfwSetWindowCloseCallback(window, new GLFWWindowCloseCallback() {
glfwSetWindowCloseCallback(window, new GLFWWindowCloseCallback() { public void invoke(long window) {
public void invoke(long window) { EVENTS.add(new WindowEvent(WindowAction.CLOSED, 0, 0));
EVENTS.add(new WindowEvent(WindowAction.CLOSED, 0, 0)); }
} });
}); glfwSetWindowFocusCallback(window, new GLFWWindowFocusCallback() {
glfwSetWindowFocusCallback(window, new GLFWWindowFocusCallback() { public void invoke(long window, boolean focused) {
public void invoke(long window, boolean focused) { EVENTS.add(new WindowEvent(WindowAction.FOCUS, focused ? 1 : 0, 0));
EVENTS.add(new WindowEvent(WindowAction.FOCUS, focused ? 1 : 0, 0)); }
} });
}); glfwSetWindowPosCallback(window, new GLFWWindowPosCallback() {
// glfwSetWindowSizeCallback(window, new GLFWWindowSizeCallback() { public void invoke(long window, int xpos, int ypos) {
// public void invoke(long window, int width, int height) { EVENTS.add(new WindowEvent(WindowAction.POSITION, xpos, ypos));
// EVENTS.add(new WindowEvent(WindowAction.RESIZE, width, height)); }
// } });
// }); glfwMakeContextCurrent(window);
glfwSetWindowPosCallback(window, new GLFWWindowPosCallback() { return true;
public void invoke(long window, int xpos, int ypos) {
EVENTS.add(new WindowEvent(WindowAction.POSITION, xpos, ypos));
}
});
glfwSetWindowRefreshCallback(window, new GLFWWindowRefreshCallback() {
public void invoke(long window) {
EVENTS.add(new WindowEvent(WindowAction.REDRAW, 0, 0));
}
});
glfwMakeContextCurrent(window);
GL.createCapabilities();
}
return window != NULL;
} }
public static void destroyWindow() { public static void destroyWindow() {
if(window != NULL) { if(window != NULL) {
glfwFreeCallbacks(window); glfwFreeCallbacks(window);
@ -211,6 +205,7 @@ public abstract class Window {
window = NULL; window = NULL;
} }
} }
public static void initWindow(int sx, int sy, int wx, int wy, int mx, int my) { public static void initWindow(int sx, int sy, int wx, int wy, int mx, int my) {
if(window == NULL) if(window == NULL)
return; return;
@ -237,12 +232,7 @@ public abstract class Window {
glfwSetWindowSize(window, xsize, ysize); glfwSetWindowSize(window, xsize, ysize);
glfwSetWindowSizeLimits(window, mx, my, GLFW_DONT_CARE, GLFW_DONT_CARE); glfwSetWindowSizeLimits(window, mx, my, GLFW_DONT_CARE, GLFW_DONT_CARE);
glfwSetWindowPos(window, xpos, ypos); glfwSetWindowPos(window, xpos, ypos);
// wcf_windowed(win, xpos, ypos, xsize, ysize);
// wcf_fullscreen does not move while hidden ...
// wcf_setpos(win, xpos, ypos);
glfwShowWindow(window); glfwShowWindow(window);
// wcf_show(win, 1);
// wcf_limits(win, 1, 1, -1, -1);
glfwSetWindowMonitor(window, NULL, xpos, ypos, xsize, ysize, GLFW_DONT_CARE); // set position twice to work around bugs in some tiling window managers glfwSetWindowMonitor(window, NULL, xpos, ypos, xsize, ysize, GLFW_DONT_CARE); // set position twice to work around bugs in some tiling window managers
} }
@ -252,6 +242,7 @@ public abstract class Window {
EVENTS.clear(); EVENTS.clear();
return events; return events;
} }
public static DisplayMode[] getDisplayModes() { public static DisplayMode[] getDisplayModes() {
long monitor = glfwGetPrimaryMonitor(); long monitor = glfwGetPrimaryMonitor();
GLFWVidMode.Buffer data = monitor == NULL ? null : glfwGetVideoModes(monitor); GLFWVidMode.Buffer data = monitor == NULL ? null : glfwGetVideoModes(monitor);
@ -264,6 +255,7 @@ public abstract class Window {
} }
return modes; return modes;
} }
public static DisplayMode getDisplayMode() { public static DisplayMode getDisplayMode() {
long monitor = glfwGetPrimaryMonitor(); long monitor = glfwGetPrimaryMonitor();
GLFWVidMode mode = monitor == NULL ? null : glfwGetVideoMode(monitor); GLFWVidMode mode = monitor == NULL ? null : glfwGetVideoMode(monitor);
@ -271,20 +263,21 @@ public abstract class Window {
return null; return null;
return new DisplayMode(mode.width(), mode.height(), mode.refreshRate()); return new DisplayMode(mode.width(), mode.height(), mode.refreshRate());
} }
public static void init() { public static void init() {
GLFWErrorCallback.create(new GLFWErrorCallback() { GLFWErrorCallback.create(new GLFWErrorCallback() {
private Map<Integer, String> codes = APIUtil.apiClassTokens((field, value) -> 0x10000 < value && value < 0x20000, null, GLFW.class); private Map<Integer, String> codes = apiClassTokens((field, value) -> 0x10000 < value && value < 0x20000, null, GLFW.class);
public void invoke(int error, long description) { public void invoke(int error, long description) {
Log.SYSTEM.error("LWJGL-Fehler %s: %s", this.codes.get(error), getDescription(description)); SYSTEM.error("GLFW-Fehler %s: %s", this.codes.get(error), getDescription(description));
} }
}).set(); }).set();
if(!glfwInit()) if(!glfwInit())
throw new IllegalStateException("Kann GLFW nicht initialisieren"); throw new IllegalStateException("Kann GLFW nicht initialisieren");
if(glfwGetTimerFrequency() < 1000000L) SYSTEM.info("LWJGL " + getVersion());
throw new IllegalStateException("Timer unterstützt keine Mikrosekunden-Präzision"); SYSTEM.info("GLFW " + glfwGetVersionString());
Log.SYSTEM.info("LWJGL " + Version.getVersion());
} }
public static void end() { public static void end() {
glfwTerminate(); glfwTerminate();
glfwSetErrorCallback(null).free(); glfwSetErrorCallback(null).free();

View file

@ -8,7 +8,6 @@ public enum WindowAction {
BUTTON, BUTTON,
KEY, KEY,
CHARACTER, CHARACTER,
REDRAW,
CLOSED, CLOSED,
FOCUS; FOCUS;
} }

View file

@ -0,0 +1,9 @@
out vec4 FragColor;
in vec2 tex_coord;
uniform sampler2D tex;
void main() {
FragColor = texture(tex, tex_coord);
}

View file

@ -0,0 +1,8 @@
layout (location = 0) in vec2 coords;
out vec2 tex_coord;
void main() {
tex_coord = coords;
gl_Position = vec4(coords * 2.0 - 1.0, 0.0, 1.0);
}

View file

@ -0,0 +1,38 @@
out vec4 FragColor;
in vec3 vertex;
in vec2 tex_coord;
uniform float time;
#define GLM_PI 3.14159265358979323846264338327950288
#define GLM_SQRT2 1.41421356237309504880168872420969808
#define vis_div 24.0
float v2rand(vec2 uv) {
return fract(sin(dot(uv, vec2(12.9898,78.233))) * 43758.5453123);
}
float avg(vec4 v) {
return ((v.r + v.g + v.b) / 3.0) * v.a;
}
float gauss(float v, float b, float c) {
return (1.0 / (c * sqrt(2.0 * GLM_PI))) * exp(-(pow(v - b, 2.0) / (2.0 * pow(c, 2.0))));
}
float dgauss(float v, float b, float c) {
return b + v * c;
}
float inside(vec2 vec, vec2 offs, float a, float b, float scale, float x1, float x2, float y1, float y2) {
vec2 cscaled = (mod(vec + offs + 1.0, 1.0)) * scale;
return (x2 < x1 ? (cscaled.x >= x1 || cscaled.x <= x2) : (cscaled.x >= x1 && cscaled.x <= x2)) || (y2 < y1 ? (cscaled.y >= y1 || cscaled.y <= y2) : (cscaled.y >= y1 && cscaled.y <= y2)) || (abs(cscaled.y - (cscaled.x - (x2 < x1 ? (x1 - x2) : (x2 - x1)) * GLM_SQRT2 * (x2 < x1 ? 0.0 : (x1 < scale / 2.0 ? x1 : (x2 - scale))))) < GLM_SQRT2) ? b : a;
}
void main() {
vec2 shift = vec2(v2rand(tex_coord + fract(time)) * 2.0 - 1.0, v2rand(tex_coord + 0.5 + fract(time)) * 2.0 - 1.0);
shift = vec2(dgauss(shift.x, 0.0, 1.0), dgauss(shift.y, 0.0, 1.0)) * 0.015;
vec3 cl = vec3(inside(tex_coord / vis_div, shift, 0.0, 1.0, 64.0, 1.0, 3.0, 1.0, 3.0), inside(tex_coord / vis_div, shift, 0.0, 1.0, 64.0, 63.0, 1.0, 63.0, 1.0), inside(tex_coord / vis_div, shift, 0.0, 1.0, 64.0, 61.0, 63.0, 61.0, 63.0));
FragColor = vec4(mix(vec3(0.0, 0.0, clamp(0.1 + 0.2 * (vertex.y + 64.0) / 128.0, 0.0, 1.0)), cl, clamp(cl.x + cl.y + cl.z, 0.0, 1.0)), 1.0);
}

View file

@ -0,0 +1,16 @@
layout (location = 0) in vec3 pos;
layout (location = 1) in vec3 norm;
layout (location = 2) in vec2 coord;
out vec3 vertex;
out vec2 tex_coord;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
void main() {
vertex = vec3(model * vec4(pos, 1.0));
tex_coord = coord;
gl_Position = projection * view * vec4(vertex, 1.0);
}

View file

@ -0,0 +1,8 @@
out vec4 FragColor;
uniform float fog;
uniform vec3 color;
void main() {
FragColor = vec4(color, fog);
}

View file

@ -0,0 +1,7 @@
layout (location = 0) in vec2 coords;
uniform vec2 size;
void main() {
gl_Position = vec4(coords * 2.0 / size, 0.0, 1.0);
}

View file

@ -0,0 +1,7 @@
out vec4 FragColor;
in float ypos;
void main() {
FragColor = vec4(clamp(-0.3 + 1.8 * (ypos + 64.0) / 128.0, 0.0, 1.0), clamp(-0.7 + 2.2 * (ypos + 64.0) / 128.0, 0.0, 1.0), clamp(0.1 + 2.0 * (ypos + 64.0) / 128.0, 0.0, 1.0), 1.0);
}

View file

@ -0,0 +1,15 @@
layout (location = 0) in vec3 pos;
layout (location = 1) in vec3 norm;
layout (location = 2) in vec2 coord;
out float ypos;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
void main() {
vec3 vertex = vec3(model * vec4(pos, 1.0));
ypos = vertex.y;
gl_Position = projection * view * vec4(vertex, 1.0);
}

View file

@ -0,0 +1,87 @@
out vec4 FragColor;
struct light_t {
vec4 position;
vec4 ambient; // constant
vec4 diffuse; // linear
vec4 specular; // quadratic
vec4 range;
};
in vec3 vertex;
in vec3 normal;
in vec2 tex_coord;
uniform vec3 cam_pos;
uniform sampler2D tex;
uniform vec3 specular;
uniform float shine;
uniform float max_vert_dist;
uniform float max_cam_dist;
uniform float light_factor;
uniform vec3 dir_direction;
uniform vec3 dir_ambient;
uniform vec3 dir_diffuse;
uniform vec3 dir_specular;
uniform int n_lights;
uniform light_block {
light_t lights[MAX_LIGHTS];
};
/*
vec4 pcf_sample(sampler2D stex, vec2 pos) {
vec4 avg = vec4(0.0);
vec2 texel = 1.0 / textureSize(stex, 0);
for(int x = -1; x <= 1; x++) {
for(int y = -1; y <= 1; y++) {
avg += texture(stex, pos + vec2(x, y) * texel);
}
}
return avg /= 9.0;
}
*/
vec3 calc_dir_light(vec3 norm, vec3 dir, vec3 rgb) {
vec3 ldir = normalize(-dir_direction);
float diff = max(dot(norm, ldir), 0.0);
vec3 rdir = reflect(-ldir, norm);
float spec = pow(max(dot(dir, rdir), 0.0), shine);
vec3 ambient = dir_ambient * rgb + clamp(vec3(0.0), 0.0, 1.0);
vec3 diffuse = dir_diffuse * diff * rgb;
vec3 specular = dir_specular * spec * specular * rgb;
return (ambient + diffuse + specular);
}
vec3 calc_point_light(light_t light, vec3 norm, vec3 dir, vec3 rgb) {
rgb = clamp(rgb + light_factor, 0.0, 1.0);
vec3 ldir = normalize(light.position.xyz - vertex);
float diff = max(dot(norm, ldir), 0.0);
vec3 rdir = reflect(-ldir, norm);
float spec = pow(max(dot(dir, rdir), 0.0), shine);
float distance = length((light.position.xyz - vertex) / light.range.xyz);
float attenuation = 1.0 / (light.ambient.w + light.diffuse.w * distance + light.specular.w * (distance * distance));
vec3 ambient = light.ambient.xyz * rgb;
vec3 diffuse = light.diffuse.xyz * diff * rgb;
vec3 specular = light.specular.xyz * spec * specular * rgb;
ambient *= attenuation;
diffuse *= attenuation;
specular *= attenuation;
return (ambient + diffuse + specular);
}
void main() {
vec3 norm = normalize(normal);
vec3 dir = normalize(cam_pos - vertex);
vec4 texel = texture(tex, tex_coord);
vec3 rgb = texel.rgb * texel.a;
vec3 result = calc_dir_light(norm, dir, rgb);
// int l = 0;
for(int z = 0; z < n_lights; z++) {
// if(lights[z].enabled) {
if(distance(vertex, lights[z].position.xyz) <= max_vert_dist && distance(cam_pos, lights[z].position.xyz) <= max_cam_dist)
result += calc_point_light(lights[z], norm, dir, rgb);
// l++;
// }
}
FragColor = vec4(result, 1.0);
}

View file

@ -0,0 +1,20 @@
layout (location = 0) in vec3 pos;
layout (location = 1) in vec3 norm;
layout (location = 2) in vec2 coord;
out vec3 vertex;
out vec3 normal;
out vec2 tex_coord;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
uniform sampler2D tex;
uniform float density;
void main() {
vertex = vec3(model * vec4(pos, 1.0));
normal = mat3(transpose(inverse(model))) * norm;
tex_coord = coord * density / textureSize(tex, 0);
gl_Position = projection * view * vec4(vertex, 1.0);
}

View file

@ -1056,11 +1056,6 @@ public class Block {
(double)pos.getX() + this.maxX, (double)pos.getY() + this.maxY, (double)pos.getZ() + this.maxZ); (double)pos.getX() + this.maxX, (double)pos.getY() + this.maxY, (double)pos.getZ() + this.maxZ);
} }
@Clientside
public boolean hasTransparency() {
return false;
}
@Clientside @Clientside
public boolean isXrayVisible() { public boolean isXrayVisible() {
return false; return false;

Some files were not shown because too many files have changed in this diff Show more