parent
2006e31a71
commit
82b57873c2
96 changed files with 3105 additions and 1659 deletions
|
@ -30,7 +30,7 @@ import javax.imageio.ImageIO;
|
|||
import javax.swing.JFileChooser;
|
||||
|
||||
import org.lwjgl.opengl.GL;
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.audio.AudioInterface;
|
||||
import client.audio.MidiBank;
|
||||
|
@ -428,8 +428,8 @@ public class Client implements IThreadListener {
|
|||
Client.this.renderer.checkBlockLight(pos);
|
||||
}
|
||||
|
||||
public int getWorldLight(BlockPos pos) {
|
||||
return Client.this.renderer.getWorldLight(pos);
|
||||
public int getCombinedLight(BlockPos pos) {
|
||||
return Client.this.renderer.getCombinedLight(pos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -889,21 +889,20 @@ public class Client implements IThreadListener {
|
|||
this.textureManager = new TextureManager();
|
||||
this.textureManager.onReload();
|
||||
this.soundManager = new SoundManager(this);
|
||||
Log.RENDER.debug("Maximale Anisotropie: %.1f", this.anisotropyMax = GL46C.glGetFloat(GL46C.GL_MAX_TEXTURE_MAX_ANISOTROPY));
|
||||
Log.RENDER.debug("Maximale Texturgröße: %d", GL46C.glGetInteger(GL46C.GL_MAX_TEXTURE_SIZE));
|
||||
// GlState.enableTexture2D();
|
||||
// GlState.shadeModel(GL46C.GL_SMOOTH);
|
||||
GL46C.glActiveTexture(GL46C.GL_TEXTURE0);
|
||||
GL46C.glClearDepth(1.0D);
|
||||
// GlState.enableDepth();
|
||||
GlState.depthFunc(GL46C.GL_LEQUAL);
|
||||
// GlState.enableAlpha();
|
||||
// GlState.alphaFunc(GL46C.GL_GREATER, 0.1F);
|
||||
GlState.cullFace(GL46C.GL_BACK);
|
||||
// GlState.enableCull();
|
||||
// GL46C.glMatrixMode(GL46C.GL_PROJECTION);
|
||||
// GL46C.glLoadIdentity();
|
||||
// GL46C.glMatrixMode(GL46C.GL_MODELVIEW);
|
||||
Log.RENDER.debug("Maximale Anisotropie: %.1f", this.anisotropyMax = GL46.glGetFloat(GL46.GL_MAX_TEXTURE_MAX_ANISOTROPY));
|
||||
Log.RENDER.debug("Maximale Texturgröße: %d", GL46.glGetInteger(GL46.GL_MAX_TEXTURE_SIZE));
|
||||
GlState.enableTexture2D();
|
||||
GlState.shadeModel(GL46.GL_SMOOTH);
|
||||
GL46.glClearDepth(1.0D);
|
||||
GlState.enableDepth();
|
||||
GlState.depthFunc(GL46.GL_LEQUAL);
|
||||
GlState.enableAlpha();
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
|
||||
GlState.cullFace(GL46.GL_BACK);
|
||||
GlState.enableCull();
|
||||
GL46.glMatrixMode(GL46.GL_PROJECTION);
|
||||
GL46.glLoadIdentity();
|
||||
GL46.glMatrixMode(GL46.GL_MODELVIEW);
|
||||
this.textureMap = new TextureMap();
|
||||
this.textureManager.loadTexture(TextureMap.BLOCKS, this.textureMap);
|
||||
this.updateTexture();
|
||||
|
@ -1132,13 +1131,13 @@ public class Client implements IThreadListener {
|
|||
}
|
||||
|
||||
public void render() {
|
||||
GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_SRC_ALPHA, GL46C.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.clearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
GL46C.glClear(GL46C.GL_COLOR_BUFFER_BIT | GL46C.GL_DEPTH_BUFFER_BIT);
|
||||
GL46.glClear(GL46.GL_COLOR_BUFFER_BIT | GL46.GL_DEPTH_BUFFER_BIT);
|
||||
if(this.wireframe) {
|
||||
GL46C.glLineWidth(1.0f);
|
||||
GL46C.glPolygonMode(GL46C.GL_FRONT_AND_BACK, GL46C.GL_LINE);
|
||||
GL46.glLineWidth(1.0f);
|
||||
GL46.glPolygonMode(GL46.GL_FRONT_AND_BACK, GL46.GL_LINE);
|
||||
}
|
||||
if(this.open == null) {
|
||||
if(this.player != null && this.viewEntity == this.player)
|
||||
|
@ -1151,18 +1150,18 @@ public class Client implements IThreadListener {
|
|||
this.soundManager.setListener(this.player, (float)this.tickFraction);
|
||||
if(this.player != null && (this.player.isEntityInsideOpaqueBlock() || this.viewEntity != this.player))
|
||||
this.thirdPersonView = 0;
|
||||
// GL46C.glPushMatrix();
|
||||
GL46C.glClear(GL46C.GL_COLOR_BUFFER_BIT | GL46C.GL_DEPTH_BUFFER_BIT);
|
||||
// GlState.enableTexture2D();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glClear(16640);
|
||||
GlState.enableTexture2D();
|
||||
if(this.world != null)
|
||||
this.renderer.renderWorld((float)this.tickFraction, System.nanoTime() - this.tickStart);
|
||||
// GL46C.glPopMatrix();
|
||||
//
|
||||
// GlState.disableTexture2D();
|
||||
GL46.glPopMatrix();
|
||||
|
||||
GlState.disableTexture2D();
|
||||
GlState.disableCull();
|
||||
GlState.enableBlend();
|
||||
if(this.wireframe)
|
||||
GL46C.glPolygonMode(GL46C.GL_FRONT_AND_BACK, GL46C.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) {
|
||||
|
@ -1180,23 +1179,6 @@ public class Client implements IThreadListener {
|
|||
Drawing.drawGradient(x + 2, y + 20 + 2, (int)(246.0f * fill), 6, color | 0xff000000, Util.mixColor(color | 0xff000000, 0xff000000));
|
||||
return y + 40;
|
||||
}
|
||||
|
||||
private boolean isVisionObscured() {
|
||||
if(this.player.isEntityInsideOpaqueBlock()) {
|
||||
State state = this.world.getState(new BlockPos(this.player));
|
||||
for(int i = 0; i < 8; ++i) {
|
||||
double d0 = this.player.posX + (double)(((float)((i >> 0) % 2) - 0.5F) * this.player.width * 0.8F);
|
||||
double d1 = this.player.posY + (double)(((float)((i >> 1) % 2) - 0.5F) * 0.1F);
|
||||
double d2 = this.player.posZ + (double)(((float)((i >> 2) % 2) - 0.5F) * this.player.width * 0.8F);
|
||||
BlockPos blockpos = new BlockPos(d0, d1 + (double)this.player.getEyeHeight(), d2);
|
||||
State bstate = this.world.getState(blockpos);
|
||||
if(bstate.getBlock().isVisuallyOpaque())
|
||||
state = bstate;
|
||||
}
|
||||
return state.getBlock() != Blocks.air;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void renderHud() {
|
||||
final int selected = this.world != null && this.player != null && this.viewEntity == this.player ? this.player.getSelectedIndex() : -1;
|
||||
|
@ -1207,13 +1189,11 @@ public class Client implements IThreadListener {
|
|||
final int by = this.fbY - 20 * scale;
|
||||
final int xoff = (this.fbX / scale - (width < 20 ? ((size - 2) * width + 40 + width / 2) : (size * 20 - 2))) / 2 + (width < 20 && selected == 0 ? 20 - width : 0) - 2;
|
||||
this.setupOverlay();
|
||||
if(this.world != null && this.player != null && this.viewEntity == this.player && this.isVisionObscured())
|
||||
Drawing.drawGradient(0, 0, this.fbX, this.fbY, 0xff2f2f2f, 0xff000000);
|
||||
if(this.world != null && !(this.open instanceof GuiConsole) && this.player != null && this.viewEntity == this.player) {
|
||||
if(this.open == null) {
|
||||
if(this.thirdPersonView == 0) {
|
||||
if(this.drawDebug) {
|
||||
// this.renderWorldDirections((float)this.tickFraction);
|
||||
this.renderWorldDirections((float)this.tickFraction);
|
||||
}
|
||||
else if(this.crosshairSize > 0) {
|
||||
final int color = this.pointed != null && this.pointed.type != ObjectType.MISS ? this.crosshairColorTarget : this.crosshairColorBase;
|
||||
|
@ -1222,8 +1202,8 @@ public class Client implements IThreadListener {
|
|||
Drawing.drawRect(this.fbX / 2 - this.crosshairSize, this.fbY / 2 - 1, this.crosshairSize * 2, 2, color);
|
||||
}
|
||||
else {
|
||||
// GlState.color(color);
|
||||
// Drawing.drawTexturedRect(this, "textures/crosshair.png", 32, 32, this.fbX / 2 - 16, this.fbY / 2 - 16, 0, 0, 32, 32);
|
||||
GlState.color(color);
|
||||
Drawing.drawTexturedRect(this, "textures/crosshair.png", 32, 32, this.fbX / 2 - 16, this.fbY / 2 - 16, 0, 0, 32, 32);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1377,61 +1357,61 @@ public class Client implements IThreadListener {
|
|||
}
|
||||
}
|
||||
|
||||
// GlState.bindTexture(0);
|
||||
// GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
// GlState.enableTexture2D();
|
||||
// if(this.world != null && this.open == null && this.player != null && this.viewEntity == this.player) {
|
||||
// GlState.enableRescaleNormal();
|
||||
// GlState.enableBlend();
|
||||
// GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
// ItemRenderer.enableGUIStandardItemLighting();
|
||||
// GL46C.glPushMatrix();
|
||||
// GL46C.glTranslatef(0.0f, (float)by, 0.0f);
|
||||
// if(this.scaleHotbar)
|
||||
// GL46C.glScalef(2.0f, 2.0f, 2.0f);
|
||||
//
|
||||
// int xPos = xoff;
|
||||
// for(int index = 0; index < size; ++index) {
|
||||
// ItemStack itemstack = this.player.getStackInSlot(index);
|
||||
// if(itemstack != null) {
|
||||
// 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);
|
||||
// GL46C.glEnable(GL46C.GL_SCISSOR_TEST);
|
||||
// }
|
||||
// GlState.enableDepth();
|
||||
// this.renderItem.renderItemAndEffectIntoGUI(itemstack, xPos, 0);
|
||||
// if(width < 20 && selected != index && selected != index + 1 && index != size - 1)
|
||||
// GL46C.glDisable(GL46C.GL_SCISSOR_TEST);
|
||||
// }
|
||||
// xPos += width >= 20 || selected == index || selected == index + 1 ? 20 : width;
|
||||
// }
|
||||
//
|
||||
// if(this.infoOverlay) {
|
||||
// Item item = null;
|
||||
// if((this.pointed != null && this.pointed.type == ObjectType.BLOCK && this.pointed.block != null) || this.pointedLiquid != null)
|
||||
// item = this.pointedLiquid != null ? (this.world.getState(this.pointedLiquid).getBlock() instanceof BlockLiquid liquid ? ItemBucket.getByFluid(liquid) : null) : this.world.getState(this.pointed.block).getBlock().getItem();
|
||||
// else if(this.pointed != null && this.pointed.type == ObjectType.ENTITY && this.pointed.entity != null)
|
||||
// item = this.pointed.entity.getItem();
|
||||
// if(item != null) {
|
||||
// GL46C.glPopMatrix();
|
||||
// GL46C.glPushMatrix();
|
||||
// GL46C.glTranslatef((float)(this.fbX / 2 - 180 + 4 + 1), (float)(this.hudMargin + 20 + 1), 0.0f);
|
||||
// GL46C.glScalef(2.0f, 2.0f, 2.0f);
|
||||
// GlState.enableDepth();
|
||||
// this.renderItem.renderItemAndEffectIntoGUI(new ItemStack(item), 0, 0);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// GL46C.glPopMatrix();
|
||||
// ItemRenderer.disableStandardItemLighting();
|
||||
// GlState.disableRescaleNormal();
|
||||
// GlState.disableBlend();
|
||||
// }
|
||||
//
|
||||
// GlState.disableTexture2D();
|
||||
// GlState.disableCull();
|
||||
// GlState.enableBlend();
|
||||
// GlState.disableDepth();
|
||||
GlState.bindTexture(0);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
GlState.enableTexture2D();
|
||||
if(this.world != null && this.open == null && this.player != null && this.viewEntity == this.player) {
|
||||
GlState.enableRescaleNormal();
|
||||
GlState.enableBlend();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
ItemRenderer.enableGUIStandardItemLighting();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0f, (float)by, 0.0f);
|
||||
if(this.scaleHotbar)
|
||||
GL46.glScalef(2.0f, 2.0f, 2.0f);
|
||||
|
||||
int xPos = xoff;
|
||||
for(int index = 0; index < size; ++index) {
|
||||
ItemStack itemstack = this.player.getStackInSlot(index);
|
||||
if(itemstack != null) {
|
||||
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);
|
||||
GL46.glEnable(GL46.GL_SCISSOR_TEST);
|
||||
}
|
||||
GlState.enableDepth();
|
||||
this.renderItem.renderItemAndEffectIntoGUI(itemstack, xPos, 0);
|
||||
if(width < 20 && selected != index && selected != index + 1 && index != size - 1)
|
||||
GL46.glDisable(GL46.GL_SCISSOR_TEST);
|
||||
}
|
||||
xPos += width >= 20 || selected == index || selected == index + 1 ? 20 : width;
|
||||
}
|
||||
|
||||
if(this.infoOverlay) {
|
||||
Item item = null;
|
||||
if((this.pointed != null && this.pointed.type == ObjectType.BLOCK && this.pointed.block != null) || this.pointedLiquid != null)
|
||||
item = this.pointedLiquid != null ? (this.world.getState(this.pointedLiquid).getBlock() instanceof BlockLiquid liquid ? ItemBucket.getByFluid(liquid) : null) : this.world.getState(this.pointed.block).getBlock().getItem();
|
||||
else if(this.pointed != null && this.pointed.type == ObjectType.ENTITY && this.pointed.entity != null)
|
||||
item = this.pointed.entity.getItem();
|
||||
if(item != null) {
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)(this.fbX / 2 - 180 + 4 + 1), (float)(this.hudMargin + 20 + 1), 0.0f);
|
||||
GL46.glScalef(2.0f, 2.0f, 2.0f);
|
||||
GlState.enableDepth();
|
||||
this.renderItem.renderItemAndEffectIntoGUI(new ItemStack(item), 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
GL46.glPopMatrix();
|
||||
ItemRenderer.disableStandardItemLighting();
|
||||
GlState.disableRescaleNormal();
|
||||
GlState.disableBlend();
|
||||
}
|
||||
|
||||
GlState.disableTexture2D();
|
||||
GlState.disableCull();
|
||||
GlState.enableBlend();
|
||||
GlState.disableDepth();
|
||||
if(this.world != null && this.open == null && this.player != null && this.viewEntity == this.player) {
|
||||
int xPos = xoff * scale;
|
||||
for(int index = 0; index < size; ++index) {
|
||||
|
@ -1491,8 +1471,8 @@ public class Client implements IThreadListener {
|
|||
"Tickrate: %s%.2f" + Color.RESET + " %s [" + Color.GREEN + "%.1f" + Color.RESET + "], %.3f ms, E %d ms" +
|
||||
"%s%s"
|
||||
,
|
||||
GL46C.glGetString(GL46C.GL_VERSION),
|
||||
GL46C.glGetString(GL46C.GL_RENDERER), GL46C.glGetString(GL46C.GL_VENDOR),
|
||||
GL46.glGetString(GL46.GL_VERSION),
|
||||
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.vsync ? Color.DARK_GRAY + "VSYNC" : (this.syncLimited ? Color.GREEN + "" + this.syncLimit : Color.RED + "UNL"),
|
||||
(float)PerfSection.getTotal(false) / 1000.0f, this.fbRawX, this.fbRawY,
|
||||
|
@ -2178,7 +2158,7 @@ public class Client implements IThreadListener {
|
|||
}
|
||||
|
||||
private void fbsize(int x, int y) {
|
||||
GL46C.glViewport(0, 0, x, y);
|
||||
GL46.glViewport(0, 0, x, y);
|
||||
this.fbRawX = x;
|
||||
this.fbRawY = y;
|
||||
this.rescale();
|
||||
|
@ -2360,19 +2340,23 @@ public class Client implements IThreadListener {
|
|||
}
|
||||
|
||||
public void setupOverlay() {
|
||||
// GlState.disableCull();
|
||||
// GlState.disableDepth();
|
||||
// GlState.enableBlend();
|
||||
// GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GL46C.glClear(GL46C.GL_DEPTH_BUFFER_BIT);
|
||||
// GL46C.glOrtho(0.0D, (double)this.fbRawX, (double)this.fbRawY, 0.0D, 1000.0D, 3000.0D);
|
||||
// GL46C.glTranslatef(0.0F, 0.0F, -2000.0F);
|
||||
// if(this.scale != 1)
|
||||
// GL46C.glScalef((float)this.scale, (float)this.scale, 1.0f);
|
||||
GlState.disableDepth();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
GlState.color(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
GL46.glClear(256);
|
||||
GL46.glMatrixMode(GL46.GL_PROJECTION);
|
||||
GL46.glLoadIdentity();
|
||||
GL46.glOrtho(0.0D, (double)this.fbRawX, (double)this.fbRawY, 0.0D, 1000.0D, 3000.0D);
|
||||
GL46.glMatrixMode(GL46.GL_MODELVIEW);
|
||||
GL46.glLoadIdentity();
|
||||
GL46.glTranslatef(0.0F, 0.0F, -2000.0F);
|
||||
if(this.scale != 1)
|
||||
GL46.glScalef((float)this.scale, (float)this.scale, 1.0f);
|
||||
}
|
||||
|
||||
public void scissor(int x, int y, int width, int height) {
|
||||
GL46C.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)
|
||||
|
@ -2416,9 +2400,9 @@ public class Client implements IThreadListener {
|
|||
Window.destroyWindow();
|
||||
Util.panic("Inkompatible OpenGL-Version", "OpenGL 4.6 oder höher ist erforderlich, um dieses Programm auszuführen.");
|
||||
}
|
||||
Log.SYSTEM.info("OpenGL %s", GL46C.glGetString(GL46C.GL_VERSION));
|
||||
Log.SYSTEM.info("GL_VENDOR: %s", GL46C.glGetString(GL46C.GL_VENDOR));
|
||||
Log.SYSTEM.info("GL_RENDERER: %s", GL46C.glGetString(GL46C.GL_RENDERER));
|
||||
Log.SYSTEM.info("OpenGL %s", GL46.glGetString(GL46.GL_VERSION));
|
||||
Log.SYSTEM.info("GL_VENDOR: %s", GL46.glGetString(GL46.GL_VENDOR));
|
||||
Log.SYSTEM.info("GL_RENDERER: %s", GL46.glGetString(GL46.GL_RENDERER));
|
||||
Log.SYSTEM.info("Starte ...");
|
||||
|
||||
this.init();
|
||||
|
@ -2427,8 +2411,8 @@ public class Client implements IThreadListener {
|
|||
System.gc();
|
||||
Font.loadFonts();
|
||||
Font.select(this.font);
|
||||
// GlState.enableBlend();
|
||||
// GlState.blendFunc(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GlState.enableBlend();
|
||||
GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
|
||||
this.initConsole();
|
||||
Shader.loadShaders();
|
||||
this.startSound(true);
|
||||
|
@ -2459,6 +2443,7 @@ public class Client implements IThreadListener {
|
|||
Bind.updateBinds();
|
||||
this.input();
|
||||
Bind.enableInput();
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
GlState.bindTexture(0);
|
||||
this.inputGui();
|
||||
if(this.open != null)
|
||||
|
@ -2475,7 +2460,7 @@ public class Client implements IThreadListener {
|
|||
this.finish();
|
||||
PerfSection.SWAP.enter();
|
||||
if(this.glFlush)
|
||||
GL46C.glFlush();
|
||||
GL46.glFlush();
|
||||
Window.swapBuffers();
|
||||
PerfSection.EVENTS.enter();
|
||||
Log.flushLog();
|
||||
|
@ -2570,7 +2555,7 @@ public class Client implements IThreadListener {
|
|||
this.saving = true;
|
||||
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());
|
||||
GL46C.glReadPixels(0, 0, this.fbRawX, this.fbRawY, GL46C.GL_RGB, GL46C.GL_UNSIGNED_BYTE, data);
|
||||
GL46.glReadPixels(0, 0, this.fbRawX, this.fbRawY, GL46.GL_RGB, GL46.GL_UNSIGNED_BYTE, data);
|
||||
new Thread(new Runnable() {
|
||||
public void run() {
|
||||
byte[] pixels = new byte[stride * Client.this.fbRawY];
|
||||
|
@ -3308,23 +3293,23 @@ public class Client implements IThreadListener {
|
|||
}
|
||||
}
|
||||
|
||||
// private void renderWorldDirections(float partialTicks) {
|
||||
// GlState.enableBlend();
|
||||
// GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ZERO);
|
||||
// GL46C.glLineWidth(1.0F);
|
||||
// GlState.disableTexture2D();
|
||||
// GlState.depthMask(false);
|
||||
// GL46C.glPushMatrix();
|
||||
// GL46C.glTranslatef((float)(this.fbX / 2), (float)(this.fbY / 2), 0.0F);
|
||||
// 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, 1D, 1D, 24D), 0, 0, 255, 255);
|
||||
// Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, -20D, 1D), 0, 255, 0, 255);
|
||||
// GL46C.glPopMatrix();
|
||||
// GlState.depthMask(true);
|
||||
// GlState.enableTexture2D();
|
||||
// GlState.disableBlend();
|
||||
// }
|
||||
private void renderWorldDirections(float partialTicks) {
|
||||
GlState.enableBlend();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
GL46.glLineWidth(1.0F);
|
||||
GlState.disableTexture2D();
|
||||
GlState.depthMask(false);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)(this.fbX / 2), (float)(this.fbY / 2), 0.0F);
|
||||
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, 1D, 1D, 24D), 0, 0, 255, 255);
|
||||
Renderer.drawOutlinedBoundingBox(new BoundingBox(0.0D, 0.0D, 0.0D, 1D, -20D, 1D), 0, 255, 0, 255);
|
||||
GL46.glPopMatrix();
|
||||
GlState.depthMask(true);
|
||||
GlState.enableTexture2D();
|
||||
GlState.disableBlend();
|
||||
}
|
||||
|
||||
private int blendColors(int color1, int color2, float value) {
|
||||
int i = color1 >> 24 & 255;
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.awt.image.BufferedImage;
|
|||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.texture.TextureUtil;
|
||||
|
@ -110,7 +110,7 @@ public enum Font implements Identifyable, Displayable {
|
|||
int[] data = new int[width * 16 * height * 16];
|
||||
img.getRGB(0, 0, width * 16, height * 16, data, 0, width * 16);
|
||||
calculate(data, font.sizes, width, height, 0);
|
||||
font.texture = GL46C.glGenTextures();
|
||||
font.texture = GL46.glGenTextures();
|
||||
TextureUtil.uploadImage(font.texture, img);
|
||||
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() {
|
||||
for(Font font : values()) {
|
||||
if(font.texture != 0) {
|
||||
GL46C.glDeleteTextures(font.texture);
|
||||
GL46.glDeleteTextures(font.texture);
|
||||
Log.RENDER.debug("Font-Textur mit ID #%d wurde gelöscht", font.texture);
|
||||
font.texture = 0;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package client.gui;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.gui.element.Dropdown;
|
||||
|
@ -229,12 +229,12 @@ public abstract class Gui {
|
|||
this.drawBackground();
|
||||
if(this.gm.fbX != 0 && this.gm.fbY != 0)
|
||||
this.draw();
|
||||
// GlState.bindTexture(0);
|
||||
// GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
// GlState.enableTexture2D();
|
||||
// GlState.disableDepth();
|
||||
GlState.bindTexture(0);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
GlState.enableTexture2D();
|
||||
GlState.disableDepth();
|
||||
this.drawPost();
|
||||
// GlState.disableDepth();
|
||||
GlState.disableDepth();
|
||||
this.drawOverlays();
|
||||
if(Bind.isWindowActive())
|
||||
this.drawOverlay();
|
||||
|
|
|
@ -22,12 +22,12 @@ public class GuiMenu extends Gui {
|
|||
private GuiMenu() {
|
||||
}
|
||||
|
||||
// public void drawMainBackground() {
|
||||
// if(this.gm.world != null)
|
||||
// super.drawMainBackground();
|
||||
// else
|
||||
// this.gm.renderer.renderStarField(this.gm.fbX, this.gm.fbY, 0x000000, 0xffffff, (float)this.ticks + this.gm.getTickFraction(), this.rand);
|
||||
// }
|
||||
public void drawMainBackground() {
|
||||
if(this.gm.world != null)
|
||||
super.drawMainBackground();
|
||||
else
|
||||
this.gm.renderer.renderStarField(this.gm.fbX, this.gm.fbY, 0x000000, 0xffffff, (float)this.ticks + this.gm.getTickFraction(), this.rand);
|
||||
}
|
||||
|
||||
private final Random rand = new Random();
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ import java.util.List;
|
|||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.Client.FileMode;
|
||||
|
@ -613,41 +613,41 @@ public class GuiChar extends GuiList<GuiChar.SkinEntry>
|
|||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GlState.enableDepth();
|
||||
GlState.enableColorMaterial();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)posX, (float)posY, 200.0F);
|
||||
GL46C.glScalef(-scale, scale, scale);
|
||||
GL46C.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)posX, (float)posY, 200.0F);
|
||||
GL46.glScalef(-scale, scale, scale);
|
||||
GL46.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
float f = ent.yawOffset;
|
||||
float f1 = ent.rotYaw;
|
||||
float f2 = ent.rotPitch;
|
||||
float f3 = ent.prevHeadYaw;
|
||||
float f4 = ent.headYaw;
|
||||
GL46C.glRotatef(135.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(135.0F, 0.0F, 1.0F, 0.0F);
|
||||
ItemRenderer.enableStandardItemLighting();
|
||||
GL46C.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glTranslatef(0.0F, ent.height / 2, 0.0F);
|
||||
GL46C.glRotatef(-pitch, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, ent.height / 2, 0.0F);
|
||||
GL46.glRotatef(-pitch, 1.0F, 0.0F, 0.0F);
|
||||
ent.yawOffset = yaw;
|
||||
ent.rotYaw = yaw;
|
||||
ent.rotPitch = 0.0f;
|
||||
ent.headYaw = ent.rotYaw;
|
||||
ent.prevHeadYaw = ent.rotYaw;
|
||||
GL46C.glTranslatef(0.0F, -(ent.height / 2), 0.0F);
|
||||
GL46.glTranslatef(0.0F, -(ent.height / 2), 0.0F);
|
||||
RenderManager rendermanager = Client.CLIENT.getRenderManager();
|
||||
rendermanager.setPlayerViewY(180.0F);
|
||||
rendermanager.renderEntity(ent, 0.0D, 0.0D, 0.0D, 1.0F);
|
||||
// GL46C.glTranslatef(0.0F, 0.0F, 0.0F);
|
||||
// GL46.glTranslatef(0.0F, 0.0F, 0.0F);
|
||||
ent.yawOffset = f;
|
||||
ent.rotYaw = f1;
|
||||
ent.rotPitch = f2;
|
||||
ent.prevHeadYaw = f3;
|
||||
ent.headYaw = f4;
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
ItemRenderer.disableStandardItemLighting();
|
||||
GlState.disableRescaleNormal();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE1);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE1);
|
||||
GlState.disableTexture2D();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
GlState.disableDepth();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import java.util.Map;
|
|||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.gui.Font;
|
||||
|
@ -332,10 +332,10 @@ public abstract class GuiContainer extends Gui
|
|||
}
|
||||
|
||||
if(this.gm.itemCheat) {
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.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.glPushMatrix();
|
||||
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)
|
||||
GL46C.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 j = (int)((double)(this.currentScroll * (float)i) + 0.5D);
|
||||
|
||||
|
@ -366,7 +366,7 @@ public abstract class GuiContainer extends Gui
|
|||
{
|
||||
this.drawTab(tabs);
|
||||
}
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -421,7 +421,7 @@ public abstract class GuiContainer extends Gui
|
|||
this.theSlot = null;
|
||||
int k = 240;
|
||||
int l = 240;
|
||||
GL46C.glMultiTexCoord2f(GL46C.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);
|
||||
|
||||
this.drawSlots(mouseX, mouseY);
|
||||
|
@ -487,7 +487,7 @@ public abstract class GuiContainer extends Gui
|
|||
|
||||
private void drawItemStack(ItemStack stack, int x, int y, String altText)
|
||||
{
|
||||
GL46C.glTranslatef(0.0F, 0.0F, 32.0F);
|
||||
GL46.glTranslatef(0.0F, 0.0F, 32.0F);
|
||||
this.itemRender.zLevel = 200.0F;
|
||||
this.itemRender.renderItemAndEffectIntoGUI(stack, x, y);
|
||||
this.drawnOverlays.add(new Overlay(stack, x, y, altText));
|
||||
|
@ -526,12 +526,12 @@ public abstract class GuiContainer extends Gui
|
|||
}
|
||||
|
||||
public void drawPost() {
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)((this.gm.fbX - this.xSize * this.container_scale) / 2), (float)((this.gm.fbY - this.ySize * this.container_scale) / 2), 0.0f);
|
||||
GL46.glPushMatrix();
|
||||
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)
|
||||
GL46C.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);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
ItemRenderer.disableStandardItemLighting();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.gui.container;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.gui.element.ActButton;
|
||||
import client.gui.element.ButtonCallback;
|
||||
|
@ -96,7 +96,7 @@ public class GuiMerchant extends GuiContainer implements ButtonCallback {
|
|||
ItemStack itemstack = merchantrecipe.first();
|
||||
ItemStack itemstack1 = merchantrecipe.second();
|
||||
ItemStack itemstack2 = merchantrecipe.result();
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
ItemRenderer.enableGUIStandardItemLighting();
|
||||
GlState.disableLighting();
|
||||
GlState.enableRescaleNormal();
|
||||
|
@ -123,7 +123,7 @@ public class GuiMerchant extends GuiContainer implements ButtonCallback {
|
|||
this.renderToolTip(itemstack2, mouseX, mouseY);
|
||||
}
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GlState.enableLighting();
|
||||
GlState.enableDepth();
|
||||
ItemRenderer.enableStandardItemLighting();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.gui.element;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.gui.Formatter;
|
||||
|
@ -222,7 +222,7 @@ public abstract class Element {
|
|||
int y2 = this.size_y - (this.margin_y1 + this.margin_y2);
|
||||
// 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);
|
||||
GL46C.glEnable(GL46C.GL_SCISSOR_TEST);
|
||||
GL46.glEnable(GL46.GL_SCISSOR_TEST);
|
||||
// }
|
||||
// if(this.type == ElemType.CUSTOM)
|
||||
// this.func(this, 1);
|
||||
|
@ -230,7 +230,7 @@ public abstract class Element {
|
|||
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);
|
||||
// if(elem.type == ElemType.FIELD) {
|
||||
GL46C.glDisable(GL46C.GL_SCISSOR_TEST);
|
||||
GL46.glDisable(GL46.GL_SCISSOR_TEST);
|
||||
// glScissor(0, 0, sys.fb_x, sys.fb_y);
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.gui.element;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.gui.Font;
|
||||
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 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);
|
||||
GL46C.glEnable(GL46C.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)));
|
||||
GL46C.glDisable(GL46C.GL_SCISSOR_TEST);
|
||||
GL46.glDisable(GL46.GL_SCISSOR_TEST);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -134,6 +134,7 @@ public abstract class RenderRegistry {
|
|||
map.put(EntityXp.class, new RenderXp(mgr));
|
||||
map.put(EntityTnt.class, new RenderTntPrimed(mgr));
|
||||
map.put(EntityFalling.class, new RenderFallingBlock(mgr));
|
||||
map.put(EntityTntCart.class, new RenderTntMinecart(mgr));
|
||||
map.put(EntityCart.class, new RenderMinecart(mgr));
|
||||
map.put(EntityBoat.class, new RenderBoat(mgr));
|
||||
map.put(EntityHook.class, new RenderFish(mgr));
|
||||
|
|
63
client/src/main/java/client/renderer/DefaultVertexFormats.java
Executable file
63
client/src/main/java/client/renderer/DefaultVertexFormats.java
Executable file
|
@ -0,0 +1,63 @@
|
|||
package client.renderer;
|
||||
|
||||
public class DefaultVertexFormats
|
||||
{
|
||||
public static final VertexFormat BLOCK = new VertexFormat();
|
||||
public static final VertexFormat ITEM = new VertexFormat();
|
||||
public static final VertexFormat OLDMODEL_POSITION_TEX_NORMAL = new VertexFormat();
|
||||
public static final VertexFormat PARTICLE_POSITION_TEX_COLOR_LMAP = new VertexFormat();
|
||||
public static final VertexFormat POSITION = new VertexFormat();
|
||||
public static final VertexFormat POSITION_COLOR = new VertexFormat();
|
||||
public static final VertexFormat POSITION_TEX = new VertexFormat();
|
||||
public static final VertexFormat POSITION_NORMAL = new VertexFormat();
|
||||
public static final VertexFormat POSITION_TEX_COLOR = new VertexFormat();
|
||||
public static final VertexFormat POSITION_TEX_NORMAL = new VertexFormat();
|
||||
public static final VertexFormat POSITION_TEX_COLOR_NORMAL = new VertexFormat();
|
||||
public static final VertexFormatElement POSITION_3F = new VertexFormatElement(0, VertexFormatElement.EnumType.FLOAT, VertexFormatElement.EnumUsage.POSITION, 3);
|
||||
public static final VertexFormatElement COLOR_4UB = new VertexFormatElement(0, VertexFormatElement.EnumType.UBYTE, VertexFormatElement.EnumUsage.COLOR, 4);
|
||||
public static final VertexFormatElement TEX_2F = new VertexFormatElement(0, VertexFormatElement.EnumType.FLOAT, VertexFormatElement.EnumUsage.UV, 2);
|
||||
public static final VertexFormatElement TEX_2S = new VertexFormatElement(1, VertexFormatElement.EnumType.SHORT, VertexFormatElement.EnumUsage.UV, 2);
|
||||
public static final VertexFormatElement NORMAL_3B = new VertexFormatElement(0, VertexFormatElement.EnumType.BYTE, VertexFormatElement.EnumUsage.NORMAL, 3);
|
||||
public static final VertexFormatElement PADDING_1B = new VertexFormatElement(0, VertexFormatElement.EnumType.BYTE, VertexFormatElement.EnumUsage.PADDING, 1);
|
||||
|
||||
static
|
||||
{
|
||||
BLOCK.addElement(POSITION_3F);
|
||||
BLOCK.addElement(COLOR_4UB);
|
||||
BLOCK.addElement(TEX_2F);
|
||||
BLOCK.addElement(TEX_2S);
|
||||
ITEM.addElement(POSITION_3F);
|
||||
ITEM.addElement(COLOR_4UB);
|
||||
ITEM.addElement(TEX_2F);
|
||||
ITEM.addElement(NORMAL_3B);
|
||||
ITEM.addElement(PADDING_1B);
|
||||
OLDMODEL_POSITION_TEX_NORMAL.addElement(POSITION_3F);
|
||||
OLDMODEL_POSITION_TEX_NORMAL.addElement(TEX_2F);
|
||||
OLDMODEL_POSITION_TEX_NORMAL.addElement(NORMAL_3B);
|
||||
OLDMODEL_POSITION_TEX_NORMAL.addElement(PADDING_1B);
|
||||
PARTICLE_POSITION_TEX_COLOR_LMAP.addElement(POSITION_3F);
|
||||
PARTICLE_POSITION_TEX_COLOR_LMAP.addElement(TEX_2F);
|
||||
PARTICLE_POSITION_TEX_COLOR_LMAP.addElement(COLOR_4UB);
|
||||
PARTICLE_POSITION_TEX_COLOR_LMAP.addElement(TEX_2S);
|
||||
POSITION.addElement(POSITION_3F);
|
||||
POSITION_COLOR.addElement(POSITION_3F);
|
||||
POSITION_COLOR.addElement(COLOR_4UB);
|
||||
POSITION_TEX.addElement(POSITION_3F);
|
||||
POSITION_TEX.addElement(TEX_2F);
|
||||
POSITION_NORMAL.addElement(POSITION_3F);
|
||||
POSITION_NORMAL.addElement(NORMAL_3B);
|
||||
POSITION_NORMAL.addElement(PADDING_1B);
|
||||
POSITION_TEX_COLOR.addElement(POSITION_3F);
|
||||
POSITION_TEX_COLOR.addElement(TEX_2F);
|
||||
POSITION_TEX_COLOR.addElement(COLOR_4UB);
|
||||
POSITION_TEX_NORMAL.addElement(POSITION_3F);
|
||||
POSITION_TEX_NORMAL.addElement(TEX_2F);
|
||||
POSITION_TEX_NORMAL.addElement(NORMAL_3B);
|
||||
POSITION_TEX_NORMAL.addElement(PADDING_1B);
|
||||
POSITION_TEX_COLOR_NORMAL.addElement(POSITION_3F);
|
||||
POSITION_TEX_COLOR_NORMAL.addElement(TEX_2F);
|
||||
POSITION_TEX_COLOR_NORMAL.addElement(COLOR_4UB);
|
||||
POSITION_TEX_COLOR_NORMAL.addElement(NORMAL_3B);
|
||||
POSITION_TEX_COLOR_NORMAL.addElement(PADDING_1B);
|
||||
}
|
||||
}
|
|
@ -1,9 +1,10 @@
|
|||
package client.renderer;
|
||||
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.gui.Font;
|
||||
import client.gui.FontChar;
|
||||
import client.renderer.Shader.ShaderContext;
|
||||
import common.log.Log;
|
||||
import common.util.Color;
|
||||
import common.util.Util;
|
||||
|
@ -29,10 +30,15 @@ public abstract class Drawing {
|
|||
}
|
||||
|
||||
public static void txt_draw(int x, int y, int x1, int y1, int x2, int y2, int color, String str) {
|
||||
ShaderContext context = Shader.UI_TEXTURE.use();
|
||||
GlState.enableTexture2D();
|
||||
GlState.enableBlend();
|
||||
GlState.disableAlpha();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
GlState.shadeModel(GL46.GL_SMOOTH);
|
||||
GlState.color(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
Font.bindTexture();
|
||||
RenderBuffer rb = RenderBuffer.getBuffer();
|
||||
rb.begin();
|
||||
RenderBuffer rb = Tessellator.getBuffer();
|
||||
rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR);
|
||||
int h = Font.HEIGHT;
|
||||
int tx, ty, u, v;
|
||||
FontChar glyph;
|
||||
|
@ -69,11 +75,14 @@ public abstract class Drawing {
|
|||
if(x < x1 || y < y1 || x > x2 || y > y2) {
|
||||
break;
|
||||
}
|
||||
putGlyph(rb, Font.WIDTH * 16, Font.HEIGHT * 16, x, y, (ch & 0x0f) * Font.WIDTH + glyph.s, ((ch & 0xf0) >> 4) * Font.HEIGHT, glyph.u, h, ncolor);
|
||||
putGlyph(rb, Font.WIDTH * 16, Font.HEIGHT * 16, x, y, (ch & 0x0f) * Font.WIDTH + glyph.s, ((ch & 0xf0) >> 4) * Font.HEIGHT, glyph.u, h, ncolor, 0.0);
|
||||
x += u;
|
||||
}
|
||||
rb.draw();
|
||||
context.finish();
|
||||
Tessellator.draw();
|
||||
GlState.shadeModel(GL46.GL_FLAT);
|
||||
GlState.disableBlend();
|
||||
GlState.enableAlpha();
|
||||
GlState.enableTexture2D();
|
||||
}
|
||||
|
||||
public static void txt_overlay(int start, int end, int x, int y, int x1, int y1, int x2, int y2, int back, String str) {
|
||||
|
@ -83,6 +92,13 @@ public abstract class Drawing {
|
|||
char ch;
|
||||
int pos = 0;
|
||||
int lpos = 0;
|
||||
// ShaderContext shd = Shader.TEXT.use();
|
||||
// shd.setVec2("font_size", (float)font.xglyph, (float)font.yglyph);
|
||||
// shd.setInt("flags", 0);
|
||||
// shd.setColor("color", 0x00000000);
|
||||
// shd.setColor("back", back);
|
||||
// shd.setInt("ch_index", Log.CHR_SPC & 0xff);
|
||||
// GlState.bindTexture(font.textures[Log.CHR_SPC >> 8]);
|
||||
while(true) {
|
||||
pos = lpos;
|
||||
if(lpos >= str.length())
|
||||
|
@ -113,10 +129,15 @@ public abstract class Drawing {
|
|||
break;
|
||||
}
|
||||
if(pos >= start && pos < end) {
|
||||
// shd.setVec2("offset", (float)x, (float)y);
|
||||
// shd.setVec2("size", (float)u, (float)v);
|
||||
// shd.setVec4("glyph", (float)glyph.s, 0.0f, (float)glyph.u, (float)h);
|
||||
// shd.draw();
|
||||
drawRect(x, y, u, v, back);
|
||||
}
|
||||
x += u;
|
||||
}
|
||||
// shd.discard();
|
||||
}
|
||||
|
||||
public static Vec2i txt_size(int x, int y, int x1, int y1, int x2, int y2, String str) {
|
||||
|
@ -257,23 +278,26 @@ public abstract class Drawing {
|
|||
}
|
||||
|
||||
|
||||
private static void putGlyph(RenderBuffer rb, int tw, int th, int x, int y, int textureX, int textureY, int width, int height, int color)
|
||||
private static void putGlyph(RenderBuffer rb, int tw, int th, int x, int y, int textureX, int textureY, int width, int height, int color, double depth)
|
||||
{
|
||||
float xs = 1.0f / (float)tw;
|
||||
float ys = 1.0f / (float)th;
|
||||
rb.put2d(x + 0, y + height, (float)(textureX + 0) * xs, (float)(textureY + height) * ys, color);
|
||||
rb.put2d(x + width, y + height, (float)(textureX + width) * xs, (float)(textureY + height) * ys, color);
|
||||
rb.put2d(x + width, y + height, (float)(textureX + width) * xs, (float)(textureY + height) * ys, color);
|
||||
rb.put2d(x + width, y + 0, (float)(textureX + width) * xs, (float)(textureY + 0) * ys, color);
|
||||
rb.put2d(x + width, y + 0, (float)(textureX + width) * xs, (float)(textureY + 0) * ys, color);
|
||||
rb.put2d(x + 0, y + 0, (float)(textureX + 0) * xs, (float)(textureY + 0) * ys, color);
|
||||
rb.pos((double)(x + 0), (double)(y + height), depth).tex((double)((float)(textureX + 0) * xs), (double)((float)(textureY + height) * ys)).color(color).endVertex();
|
||||
rb.pos((double)(x + width), (double)(y + height), depth).tex((double)((float)(textureX + width) * xs), (double)((float)(textureY + height) * ys)).color(color).endVertex();
|
||||
rb.pos((double)(x + width), (double)(y + 0), depth).tex((double)((float)(textureX + width) * xs), (double)((float)(textureY + 0) * ys)).color(color).endVertex();
|
||||
rb.pos((double)(x + 0), (double)(y + 0), depth).tex((double)((float)(textureX + 0) * xs), (double)((float)(textureY + 0) * ys)).color(color).endVertex();
|
||||
}
|
||||
|
||||
private static void drawText(String str, int x, int y, int color, boolean shadow) {
|
||||
ShaderContext context = Shader.UI_TEXTURE.use();
|
||||
public static void drawText(String str, int x, int y, int color, boolean shadow) {
|
||||
GlState.enableTexture2D();
|
||||
GlState.enableBlend();
|
||||
GlState.disableAlpha();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
GlState.shadeModel(GL46.GL_SMOOTH);
|
||||
GlState.color(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
Font.bindTexture();
|
||||
RenderBuffer rb = RenderBuffer.getBuffer();
|
||||
rb.begin();
|
||||
RenderBuffer rb = Tessellator.getBuffer();
|
||||
rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR);
|
||||
int ox = x;
|
||||
int ncolor = color;
|
||||
FontChar glyph;
|
||||
|
@ -305,7 +329,7 @@ public abstract class Drawing {
|
|||
continue;
|
||||
else if(glyph.u == 0)
|
||||
glyph = Font.SIZES[Log.CHR_UNK];
|
||||
putGlyph(rb, Font.WIDTH * 16, Font.HEIGHT * 16, x + 1, y + 1, (ch & 0x0f) * Font.WIDTH + glyph.s, ((ch & 0xf0) >> 4) * Font.HEIGHT, glyph.u, Font.HEIGHT, bcolor);
|
||||
putGlyph(rb, Font.WIDTH * 16, Font.HEIGHT * 16, x + 1, y + 1, (ch & 0x0f) * Font.WIDTH + glyph.s, ((ch & 0xf0) >> 4) * Font.HEIGHT, glyph.u, Font.HEIGHT, bcolor, -0.01);
|
||||
x += glyph.u + 3 - glyph.s;
|
||||
}
|
||||
x = ox;
|
||||
|
@ -333,11 +357,14 @@ public abstract class Drawing {
|
|||
continue;
|
||||
else if(glyph.u == 0)
|
||||
glyph = Font.SIZES[Log.CHR_UNK];
|
||||
putGlyph(rb, Font.WIDTH * 16, Font.HEIGHT * 16, x, y, (ch & 0x0f) * Font.WIDTH + glyph.s, ((ch & 0xf0) >> 4) * Font.HEIGHT, glyph.u, Font.HEIGHT, ncolor);
|
||||
putGlyph(rb, Font.WIDTH * 16, Font.HEIGHT * 16, x, y, (ch & 0x0f) * Font.WIDTH + glyph.s, ((ch & 0xf0) >> 4) * Font.HEIGHT, glyph.u, Font.HEIGHT, ncolor, -0.02);
|
||||
x += glyph.u + 3 - glyph.s;
|
||||
}
|
||||
rb.draw();
|
||||
context.finish();
|
||||
Tessellator.draw();
|
||||
GlState.shadeModel(GL46.GL_FLAT);
|
||||
GlState.disableBlend();
|
||||
GlState.enableAlpha();
|
||||
GlState.enableTexture2D();
|
||||
}
|
||||
|
||||
public static Vec2i getSize(String str) {
|
||||
|
@ -373,17 +400,22 @@ public abstract class Drawing {
|
|||
|
||||
public static void drawGradient(int x, int y, int w, int h, int top, int bottom)
|
||||
{
|
||||
ShaderContext context = Shader.UI_COLOR.use();
|
||||
RenderBuffer rb = RenderBuffer.getBuffer();
|
||||
rb.begin();
|
||||
rb.put2d(x + w, y, top);
|
||||
rb.put2d(x, y, top);
|
||||
rb.put2d(x, y, top);
|
||||
rb.put2d(x, y + h, bottom);
|
||||
rb.put2d(x, y + h, bottom);
|
||||
rb.put2d(x + w, y + h, bottom);
|
||||
rb.draw();
|
||||
context.finish();
|
||||
GlState.disableTexture2D();
|
||||
GlState.enableBlend();
|
||||
GlState.disableAlpha();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
GlState.shadeModel(GL46.GL_SMOOTH);
|
||||
RenderBuffer buf = Tessellator.getBuffer();
|
||||
buf.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_COLOR);
|
||||
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 + h), 0.0).color(bottom).endVertex();
|
||||
buf.pos((double)(x + w), (double)(y + h), 0.0).color(bottom).endVertex();
|
||||
Tessellator.draw();
|
||||
GlState.shadeModel(GL46.GL_FLAT);
|
||||
GlState.disableBlend();
|
||||
GlState.enableAlpha();
|
||||
GlState.enableTexture2D();
|
||||
}
|
||||
|
||||
// public static void draw4Gradient(int x, int y, int w, int h, int topleft, int topright, int btmleft, int btmright)
|
||||
|
@ -391,16 +423,16 @@ public abstract class Drawing {
|
|||
// GlState.disableTexture2D();
|
||||
// GlState.enableBlend();
|
||||
// GlState.disableAlpha();
|
||||
// GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ZERO);
|
||||
// GlState.shadeModel(GL46C.GL_SMOOTH);
|
||||
// GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
// GlState.shadeModel(GL46.GL_SMOOTH);
|
||||
// RenderBuffer buf = Tessellator.getBuffer();
|
||||
// buf.begin(GL46C.GL_QUADS, 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, (double)y, 0.0).color(topleft).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();
|
||||
// Tessellator.draw();
|
||||
// GlState.shadeModel(GL46C.GL_FLAT);
|
||||
// GlState.shadeModel(GL46.GL_FLAT);
|
||||
// GlState.disableBlend();
|
||||
// GlState.enableAlpha();
|
||||
// GlState.enableTexture2D();
|
||||
|
@ -408,18 +440,24 @@ public abstract class Drawing {
|
|||
|
||||
public static void drawRect(int x, int y, int w, int h, int color)
|
||||
{
|
||||
ShaderContext context = Shader.UI_COLOR.use();
|
||||
RenderBuffer rb = RenderBuffer.getBuffer();
|
||||
rb.begin();
|
||||
rb.setColor(color);
|
||||
rb.put2d(x, y + h);
|
||||
rb.put2d(x + w, y + h);
|
||||
rb.put2d(x + w, y + h);
|
||||
rb.put2d(x + w, y);
|
||||
rb.put2d(x + w, y);
|
||||
rb.put2d(x, y);
|
||||
rb.draw();
|
||||
context.finish();
|
||||
RenderBuffer rb = Tessellator.getBuffer();
|
||||
GlState.enableBlend();
|
||||
GlState.disableAlpha();
|
||||
GlState.disableTexture2D();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
GlState.shadeModel(GL46.GL_SMOOTH);
|
||||
GlState.color(color);
|
||||
rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION);
|
||||
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, 0.0D).endVertex();
|
||||
rb.pos((double)x, (double)y, 0.0D).endVertex();
|
||||
Tessellator.draw();
|
||||
GlState.shadeModel(GL46.GL_FLAT);
|
||||
GlState.enableTexture2D();
|
||||
GlState.disableBlend();
|
||||
GlState.enableAlpha();
|
||||
GlState.color(1.0f, 1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
public static void drawRectBorder(int x, int y, int w, int h, int color, int border, int topleft, int btmright) {
|
||||
|
@ -505,6 +543,11 @@ public abstract class Drawing {
|
|||
drawText(str, x, y, color, true);
|
||||
}
|
||||
|
||||
public static void drawTextCenteredN(String str, int x, int y, int color) {
|
||||
Vec2i size = getSize(str);
|
||||
drawText(str, x - size.xpos / 2, y, color, false);
|
||||
}
|
||||
|
||||
public static void drawTextCentered(String str, int x, int y, int color) {
|
||||
Vec2i size = getSize(str);
|
||||
drawText(str, x - size.xpos / 2, y, color);
|
||||
|
@ -525,146 +568,45 @@ public abstract class Drawing {
|
|||
}
|
||||
|
||||
public static void drawScaled(Client gm, String texture, int x, int y, int width, int height, int color) {
|
||||
ShaderContext context = Shader.UI_TEXTURE.use();
|
||||
GlState.enableTexture2D();
|
||||
GlState.disableLighting();
|
||||
GlState.disableFog();
|
||||
RenderBuffer buf = Tessellator.getBuffer();
|
||||
gm.getTextureManager().bindTexture(texture);
|
||||
RenderBuffer rb = RenderBuffer.getBuffer();
|
||||
rb.begin();
|
||||
rb.setColor(color);
|
||||
GlState.color(color);
|
||||
double scale = 32.0;
|
||||
rb.put2d(x, y + height, 0.0, (double)height / scale);
|
||||
rb.put2d(x + width, y + height, (double)width / scale, (double)height / scale);
|
||||
rb.put2d(x + width, y + height, (double)width / scale, (double)height / scale);
|
||||
rb.put2d(x + width, y, (double)width / scale, 0.0);
|
||||
rb.put2d(x + width, y, (double)width / scale, 0.0);
|
||||
rb.put2d(x, y, 0.0, 0.0);
|
||||
rb.draw();
|
||||
context.finish();
|
||||
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)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)y, 0.0D).tex(0.0D, 0.0).endVertex();
|
||||
Tessellator.draw();
|
||||
GlState.disableTexture2D();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
public static void drawTexturedRect(Client gm, String texture, int texWidth, int texHeight, int x, int y, int u, int v, int width, int height) {
|
||||
ShaderContext context = Shader.UI_TEXTURE.use();
|
||||
|
||||
public static void drawTexturedRect(Client gm, String texture, int texWidth, int texHeight, int x, int y, int u, int v, int width, int height)
|
||||
{
|
||||
GlState.enableTexture2D();
|
||||
// GlState.disableFog();
|
||||
RenderBuffer buf = Tessellator.getBuffer();
|
||||
gm.getTextureManager().bindTexture(texture);
|
||||
RenderBuffer rb = RenderBuffer.getBuffer();
|
||||
rb.begin();
|
||||
float xs = 1.0f / (float)texWidth; // 0.00390625F;
|
||||
float ys = 1.0f / (float)texHeight; // 0.00390625F;
|
||||
rb.put2d(x + 0, y + height, (float)(u + 0) * xs, (float)(v + height) * ys);
|
||||
rb.put2d(x + width, y + height, (float)(u + width) * xs, (float)(v + height) * ys);
|
||||
rb.put2d(x + width, y + height, (float)(u + width) * xs, (float)(v + height) * ys);
|
||||
rb.put2d(x + width, y + 0, (float)(u + width) * xs, (float)(v + 0) * ys);
|
||||
rb.put2d(x + width, y + 0, (float)(u + width) * xs, (float)(v + 0) * ys);
|
||||
rb.put2d(x + 0, y + 0, (float)(u + 0) * xs, (float)(v + 0) * ys);
|
||||
rb.draw();
|
||||
context.finish();
|
||||
}
|
||||
|
||||
|
||||
private static void putGlyph3d(RenderBuffer rb, int tw, int th, int x, int y, int textureX, int textureY, int width, int height, int color, double depth) {
|
||||
float xs = 1.0f / (float)tw;
|
||||
float ys = 1.0f / (float)th;
|
||||
rb.put(x + 0, y + height, depth, (float)(textureX + 0) * xs, (float)(textureY + height) * ys, color);
|
||||
rb.put(x + width, y + height, depth, (float)(textureX + width) * xs, (float)(textureY + height) * ys, color);
|
||||
rb.put(x + width, y + height, depth, (float)(textureX + width) * xs, (float)(textureY + height) * ys, color);
|
||||
rb.put(x + width, y + 0, depth, (float)(textureX + width) * xs, (float)(textureY + 0) * ys, color);
|
||||
rb.put(x + width, y + 0, depth, (float)(textureX + width) * xs, (float)(textureY + 0) * ys, color);
|
||||
rb.put(x + 0, y + 0, depth, (float)(textureX + 0) * xs, (float)(textureY + 0) * ys, color);
|
||||
}
|
||||
|
||||
private static void drawText3d(String str, int x, int y, int color, boolean shadow) {
|
||||
ShaderContext context = Shader.UI_TEXTURE.use();
|
||||
Font.bindTexture();
|
||||
RenderBuffer rb = RenderBuffer.getBuffer();
|
||||
rb.begin();
|
||||
int ox = x;
|
||||
int ncolor = color;
|
||||
FontChar glyph;
|
||||
char ch;
|
||||
if(shadow) {
|
||||
int oy = y;
|
||||
int scolor = Util.mixColor(color, color & 0xff000000);
|
||||
scolor = Util.mixColor(scolor, scolor & 0xff000000);
|
||||
int bcolor = scolor;
|
||||
for(int z = 0; z < str.length(); z++) {
|
||||
ch = str.charAt(z);
|
||||
if(ch == Log.CHR_NLN) {
|
||||
x = ox;
|
||||
y += Font.HEIGHT;
|
||||
continue;
|
||||
}
|
||||
else if((ch >= Log.CHR_COLORS1 && ch <= Log.CHR_COLORE1) || (ch >= Log.CHR_COLORS2 && ch <= Log.CHR_COLORE2)) {
|
||||
bcolor = Color.getShadow(ch) | (scolor & 0xff000000);
|
||||
continue;
|
||||
}
|
||||
else if(ch == Log.CHR_CRESET) {
|
||||
bcolor = scolor;
|
||||
continue;
|
||||
}
|
||||
if(ch >= 256)
|
||||
ch = Log.CHR_UNK;
|
||||
glyph = Font.SIZES[ch];
|
||||
if(glyph.u == 0 && glyph.v != 0)
|
||||
continue;
|
||||
else if(glyph.u == 0)
|
||||
glyph = Font.SIZES[Log.CHR_UNK];
|
||||
putGlyph3d(rb, Font.WIDTH * 16, Font.HEIGHT * 16, x + 1, y + 1, (ch & 0x0f) * Font.WIDTH + glyph.s, ((ch & 0xf0) >> 4) * Font.HEIGHT, glyph.u, Font.HEIGHT, bcolor, -0.01);
|
||||
x += glyph.u + 3 - glyph.s;
|
||||
}
|
||||
x = ox;
|
||||
y = oy;
|
||||
}
|
||||
for(int z = 0; z < str.length(); z++) {
|
||||
ch = str.charAt(z);
|
||||
if(ch == Log.CHR_NLN) {
|
||||
x = ox;
|
||||
y += Font.HEIGHT;
|
||||
continue;
|
||||
}
|
||||
else if((ch >= Log.CHR_COLORS1 && ch <= Log.CHR_COLORE1) || (ch >= Log.CHR_COLORS2 && ch <= Log.CHR_COLORE2)) {
|
||||
ncolor = Color.getColor(ch) | (color & 0xff000000);
|
||||
continue;
|
||||
}
|
||||
else if(ch == Log.CHR_CRESET) {
|
||||
ncolor = color;
|
||||
continue;
|
||||
}
|
||||
if(ch >= 256)
|
||||
ch = Log.CHR_UNK;
|
||||
glyph = Font.SIZES[ch];
|
||||
if(glyph.u == 0 && glyph.v != 0)
|
||||
continue;
|
||||
else if(glyph.u == 0)
|
||||
glyph = Font.SIZES[Log.CHR_UNK];
|
||||
putGlyph3d(rb, Font.WIDTH * 16, Font.HEIGHT * 16, x, y, (ch & 0x0f) * Font.WIDTH + glyph.s, ((ch & 0xf0) >> 4) * Font.HEIGHT, glyph.u, Font.HEIGHT, ncolor, -0.02);
|
||||
x += glyph.u + 3 - glyph.s;
|
||||
}
|
||||
rb.draw();
|
||||
context.finish();
|
||||
}
|
||||
|
||||
private static void drawRect3d(int x, int y, int w, int h, int color) {
|
||||
ShaderContext context = Shader.UI_COLOR.use();
|
||||
RenderBuffer rb = RenderBuffer.getBuffer();
|
||||
rb.begin();
|
||||
rb.setColor(color);
|
||||
rb.put2d(x, y + h);
|
||||
rb.put2d(x + w, y + h);
|
||||
rb.put2d(x + w, y + h);
|
||||
rb.put2d(x + w, y);
|
||||
rb.put2d(x + w, y);
|
||||
rb.put2d(x, y);
|
||||
rb.draw();
|
||||
context.finish();
|
||||
}
|
||||
|
||||
public static void drawTextCentered3d(String str, int x, int y, int color) {
|
||||
Vec2i size = getSize(str);
|
||||
drawText3d(str, x - size.xpos / 2, y, color, false);
|
||||
}
|
||||
|
||||
public static void drawTextboxCentered3d(String str, int x, int y, int back) {
|
||||
x -= getBoxWidth(str) / 2;
|
||||
Vec2i size = getSize(str);
|
||||
drawRect3d(x, y, size.xpos + 4, size.ypos + 2, back);
|
||||
drawText3d(str, x + 2, y + 1, 0xffffffff, true);
|
||||
}
|
||||
// GlState.color(color);
|
||||
float xs = 1.0f / (float)texWidth; // 0.00390625F;
|
||||
float ys = 1.0f / (float)texHeight; // 0.00390625F;
|
||||
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 + 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 + 0), (double)(y + 0), 0.0).tex((double)((float)(u + 0) * xs), (double)((float)(v + 0) * ys)).endVertex();
|
||||
// double scale = 32.0;
|
||||
// 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)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)y, 0.0D).tex(0.0D, 0.0).endVertex();
|
||||
Tessellator.draw();
|
||||
// GlState.disableTexture2D();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package client.renderer;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.texture.Sprite;
|
||||
|
@ -770,6 +770,10 @@ public class EffectRenderer {
|
|||
}
|
||||
|
||||
private class Textured implements Effect {
|
||||
private static final VertexFormat VERTEX_FORMAT = (new VertexFormat()).addElement(DefaultVertexFormats.POSITION_3F)
|
||||
.addElement(DefaultVertexFormats.TEX_2F).addElement(DefaultVertexFormats.COLOR_4UB).addElement(DefaultVertexFormats.TEX_2S)
|
||||
.addElement(DefaultVertexFormats.NORMAL_3B).addElement(DefaultVertexFormats.PADDING_1B);
|
||||
|
||||
private final String texture;
|
||||
private final int texWidth;
|
||||
private final int texHeight;
|
||||
|
@ -811,7 +815,7 @@ public class EffectRenderer {
|
|||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GlState.disableLighting();
|
||||
ItemRenderer.disableStandardItemLighting();
|
||||
rb.begin(GL46C.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))
|
||||
.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();
|
||||
|
@ -998,8 +1002,8 @@ public class EffectRenderer {
|
|||
this.interpPosY = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double)partial;
|
||||
this.interpPosZ = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)partial;
|
||||
GlState.enableBlend();
|
||||
GlState.blendFunc(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GlState.alphaFunc(GL46C.GL_GREATER, 0.003921569F);
|
||||
GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.003921569F);
|
||||
|
||||
for(int i = 0; i < 2; ++i) {
|
||||
if(!this.layers[i].isEmpty()) {
|
||||
|
@ -1017,7 +1021,7 @@ public class EffectRenderer {
|
|||
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
worldrenderer.begin(GL46C.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) {
|
||||
this.layers[i].get(k).render(worldrenderer, partial, f, f4, f1, f2, f3);
|
||||
|
@ -1029,7 +1033,7 @@ public class EffectRenderer {
|
|||
|
||||
GlState.depthMask(true);
|
||||
GlState.disableBlend();
|
||||
GlState.alphaFunc(GL46C.GL_GREATER, 0.1F);
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
|
||||
}
|
||||
|
||||
public void renderTextured(Entity entity, float partial) {
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.nio.ByteBuffer;
|
|||
import java.nio.ByteOrder;
|
||||
import java.nio.FloatBuffer;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.util.BoundingBox;
|
||||
import common.util.ExtMath;
|
||||
|
@ -44,8 +44,8 @@ public class Frustum {
|
|||
public void init() {
|
||||
this.projection.clear();
|
||||
this.modelview.clear();
|
||||
GL46C.glGetFloatv(2983, this.projection);
|
||||
GL46C.glGetFloatv(2982, this.modelview);
|
||||
GL46.glGetFloatv(2983, this.projection);
|
||||
GL46.glGetFloatv(2982, this.modelview);
|
||||
float[] proj = this.projectionMat;
|
||||
float[] view = this.modelviewMat;
|
||||
this.projection.flip().limit(16);
|
||||
|
|
|
@ -1,21 +1,84 @@
|
|||
package client.renderer;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
public class GlState
|
||||
{
|
||||
private static GlState.AlphaState alphaState = new GlState.AlphaState();
|
||||
private static GlState.BooleanState lightingState = new GlState.BooleanState(GL46.GL_LIGHTING);
|
||||
private static GlState.BooleanState[] lightState = new GlState.BooleanState[2];
|
||||
private static GlState.ColorMaterialState colorMaterialState = new GlState.ColorMaterialState();
|
||||
private static GlState.BlendState blendState = new GlState.BlendState();
|
||||
private static GlState.DepthState depthState = new GlState.DepthState();
|
||||
private static GlState.FogState fogState = new GlState.FogState();
|
||||
private static GlState.CullState cullState = new GlState.CullState();
|
||||
private static GlState.ClearState clearState = new GlState.ClearState();
|
||||
private static GlState.TextureState textureState = new GlState.TextureState();
|
||||
private static GlState.PolygonOffsetState polygonOffsetState = new GlState.PolygonOffsetState();
|
||||
private static GlState.Color clearState = new GlState.Color();
|
||||
private static GlState.BooleanState normalizeState = new GlState.BooleanState(GL46.GL_NORMALIZE);
|
||||
private static int activeTextureUnit = 0;
|
||||
private static GlState.TextureState[] textureState = new GlState.TextureState[2];
|
||||
private static int activeShadeModel = GL46.GL_SMOOTH;
|
||||
private static GlState.BooleanState rescaleNormalState = new GlState.BooleanState(GL46.GL_RESCALE_NORMAL);
|
||||
private static GlState.ColorMask colorMaskState = new GlState.ColorMask();
|
||||
private static GlState.Color colorState = new GlState.Color();
|
||||
|
||||
public static void bindTexture(int texture)
|
||||
public static void disableAlpha()
|
||||
{
|
||||
if (texture != textureState.textureName)
|
||||
alphaState.alphaTest.setDisabled();
|
||||
}
|
||||
|
||||
public static void enableAlpha()
|
||||
{
|
||||
alphaState.alphaTest.setEnabled();
|
||||
}
|
||||
|
||||
public static void alphaFunc(int func, float ref)
|
||||
{
|
||||
if (func != alphaState.func || ref != alphaState.ref)
|
||||
{
|
||||
textureState.textureName = texture;
|
||||
GL46C.glBindTexture(GL46C.GL_TEXTURE_2D, texture);
|
||||
alphaState.func = func;
|
||||
alphaState.ref = ref;
|
||||
GL46.glAlphaFunc(func, ref);
|
||||
}
|
||||
}
|
||||
|
||||
public static void enableLighting()
|
||||
{
|
||||
lightingState.setEnabled();
|
||||
}
|
||||
|
||||
public static void disableLighting()
|
||||
{
|
||||
lightingState.setDisabled();
|
||||
}
|
||||
|
||||
public static void enableLight(int light)
|
||||
{
|
||||
lightState[light].setEnabled();
|
||||
}
|
||||
|
||||
public static void disableLight(int light)
|
||||
{
|
||||
lightState[light].setDisabled();
|
||||
}
|
||||
|
||||
public static void enableColorMaterial()
|
||||
{
|
||||
colorMaterialState.colorMaterial.setEnabled();
|
||||
}
|
||||
|
||||
public static void disableColorMaterial()
|
||||
{
|
||||
colorMaterialState.colorMaterial.setDisabled();
|
||||
}
|
||||
|
||||
public static void colorMaterial(int face, int mode)
|
||||
{
|
||||
if (face != colorMaterialState.face || mode != colorMaterialState.mode)
|
||||
{
|
||||
colorMaterialState.face = face;
|
||||
colorMaterialState.mode = mode;
|
||||
GL46.glColorMaterial(face, mode);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -29,6 +92,24 @@ public class GlState
|
|||
depthState.depthTest.setEnabled();
|
||||
}
|
||||
|
||||
public static void depthFunc(int depthFunc)
|
||||
{
|
||||
if (depthFunc != depthState.depthFunc)
|
||||
{
|
||||
depthState.depthFunc = depthFunc;
|
||||
GL46.glDepthFunc(depthFunc);
|
||||
}
|
||||
}
|
||||
|
||||
public static void depthMask(boolean flagIn)
|
||||
{
|
||||
if (flagIn != depthState.maskEnabled)
|
||||
{
|
||||
depthState.maskEnabled = flagIn;
|
||||
GL46.glDepthMask(flagIn);
|
||||
}
|
||||
}
|
||||
|
||||
public static void disableBlend()
|
||||
{
|
||||
blendState.blend.setDisabled();
|
||||
|
@ -39,6 +120,88 @@ public class GlState
|
|||
blendState.blend.setEnabled();
|
||||
}
|
||||
|
||||
public static void blendFunc(int srcFactor, int dstFactor)
|
||||
{
|
||||
if (srcFactor != blendState.srcFactor || dstFactor != blendState.dstFactor)
|
||||
{
|
||||
blendState.srcFactor = srcFactor;
|
||||
blendState.dstFactor = dstFactor;
|
||||
GL46.glBlendFunc(srcFactor, dstFactor);
|
||||
}
|
||||
}
|
||||
|
||||
public static void tryBlendFuncSeparate(int srcFactor, int dstFactor, int srcFactorAlpha, int dstFactorAlpha)
|
||||
{
|
||||
if (srcFactor != blendState.srcFactor || dstFactor != blendState.dstFactor || srcFactorAlpha != blendState.srcFactorAlpha || dstFactorAlpha != blendState.dstFactorAlpha)
|
||||
{
|
||||
blendState.srcFactor = srcFactor;
|
||||
blendState.dstFactor = dstFactor;
|
||||
blendState.srcFactorAlpha = srcFactorAlpha;
|
||||
blendState.dstFactorAlpha = dstFactorAlpha;
|
||||
GL46.glBlendFuncSeparate(srcFactor, dstFactor, srcFactorAlpha, dstFactorAlpha);
|
||||
}
|
||||
}
|
||||
|
||||
public static void enableFog()
|
||||
{
|
||||
if(fogState.enabled)
|
||||
fogState.fog.setEnabled();
|
||||
}
|
||||
|
||||
public static void disableFog()
|
||||
{
|
||||
// if(fogState.enabled)
|
||||
fogState.fog.setDisabled();
|
||||
}
|
||||
|
||||
public static void setFogEnabled(boolean param)
|
||||
{
|
||||
if (param != fogState.enabled)
|
||||
{
|
||||
fogState.enabled = param;
|
||||
}
|
||||
if(param)
|
||||
enableFog();
|
||||
else
|
||||
disableFog();
|
||||
}
|
||||
|
||||
public static void setFog(int param)
|
||||
{
|
||||
if (param != fogState.mode)
|
||||
{
|
||||
fogState.mode = param;
|
||||
GL46.glFogi(GL46.GL_FOG_MODE, param);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setFogDensity(float param)
|
||||
{
|
||||
if (param != fogState.density)
|
||||
{
|
||||
fogState.density = param;
|
||||
GL46.glFogf(GL46.GL_FOG_DENSITY, param);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setFogStart(float param)
|
||||
{
|
||||
if (param != fogState.start)
|
||||
{
|
||||
fogState.start = param;
|
||||
GL46.glFogf(GL46.GL_FOG_START, param);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setFogEnd(float param)
|
||||
{
|
||||
if (param != fogState.end)
|
||||
{
|
||||
fogState.end = param;
|
||||
GL46.glFogf(GL46.GL_FOG_END, param);
|
||||
}
|
||||
}
|
||||
|
||||
public static void enableCull()
|
||||
{
|
||||
cullState.cullFace.setEnabled();
|
||||
|
@ -49,18 +212,6 @@ public class GlState
|
|||
cullState.cullFace.setDisabled();
|
||||
}
|
||||
|
||||
public static void tryBlendFuncSeparate(int srcFactor, int dstFactor, int srcFactorAlpha, int dstFactorAlpha)
|
||||
{
|
||||
if (srcFactor != blendState.srcFactor || dstFactor != blendState.dstFactor || srcFactorAlpha != blendState.srcFactorAlpha || dstFactorAlpha != blendState.dstFactorAlpha)
|
||||
{
|
||||
blendState.srcFactor = srcFactor;
|
||||
blendState.dstFactor = dstFactor;
|
||||
blendState.srcFactorAlpha = srcFactorAlpha;
|
||||
blendState.dstFactorAlpha = dstFactorAlpha;
|
||||
GL46C.glBlendFuncSeparate(srcFactor, dstFactor, srcFactorAlpha, dstFactorAlpha);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isCullEnabled()
|
||||
{
|
||||
return cullState.cullFace.currentState;
|
||||
|
@ -71,35 +222,109 @@ public class GlState
|
|||
if (mode != cullState.mode)
|
||||
{
|
||||
cullState.mode = mode;
|
||||
GL46C.glCullFace(mode);
|
||||
GL46.glCullFace(mode);
|
||||
}
|
||||
}
|
||||
|
||||
public static void depthFunc(int depthFunc)
|
||||
public static void enablePolygonOffset()
|
||||
{
|
||||
if (depthFunc != depthState.depthFunc)
|
||||
polygonOffsetState.polygonOffsetFill.setEnabled();
|
||||
}
|
||||
|
||||
public static void disablePolygonOffset()
|
||||
{
|
||||
polygonOffsetState.polygonOffsetFill.setDisabled();
|
||||
}
|
||||
|
||||
public static void doPolygonOffset(float factor, float units)
|
||||
{
|
||||
if (factor != polygonOffsetState.factor || units != polygonOffsetState.units)
|
||||
{
|
||||
depthState.depthFunc = depthFunc;
|
||||
GL46C.glDepthFunc(depthFunc);
|
||||
polygonOffsetState.factor = factor;
|
||||
polygonOffsetState.units = units;
|
||||
GL46.glPolygonOffset(factor, units);
|
||||
}
|
||||
}
|
||||
|
||||
public static void setActiveTexture(int texture)
|
||||
{
|
||||
if (activeTextureUnit != texture - GL46.GL_TEXTURE0)
|
||||
{
|
||||
activeTextureUnit = texture - GL46.GL_TEXTURE0;
|
||||
GL46.glActiveTexture(texture);
|
||||
}
|
||||
}
|
||||
|
||||
public static void depthMask(boolean flagIn)
|
||||
public static void enableTexture2D()
|
||||
{
|
||||
if (flagIn != depthState.maskEnabled)
|
||||
{
|
||||
depthState.maskEnabled = flagIn;
|
||||
GL46C.glDepthMask(flagIn);
|
||||
}
|
||||
textureState[activeTextureUnit].texture2DState.setEnabled();
|
||||
}
|
||||
|
||||
public static void disableTexture2D()
|
||||
{
|
||||
textureState[activeTextureUnit].texture2DState.setDisabled();
|
||||
}
|
||||
|
||||
public static void deleteTexture(int texture)
|
||||
{
|
||||
GL46C.glDeleteTextures(texture);
|
||||
GL46.glDeleteTextures(texture);
|
||||
|
||||
if (textureState.textureName == texture)
|
||||
for (GlState.TextureState glstatemanager$texturestate : textureState)
|
||||
{
|
||||
textureState.textureName = -1;
|
||||
if (glstatemanager$texturestate.textureName == texture)
|
||||
{
|
||||
glstatemanager$texturestate.textureName = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void bindTexture(int texture)
|
||||
{
|
||||
if (texture != textureState[activeTextureUnit].textureName)
|
||||
{
|
||||
textureState[activeTextureUnit].textureName = texture;
|
||||
GL46.glBindTexture(GL46.GL_TEXTURE_2D, texture);
|
||||
}
|
||||
}
|
||||
|
||||
public static void enableNormalize()
|
||||
{
|
||||
normalizeState.setEnabled();
|
||||
}
|
||||
|
||||
public static void disableNormalize()
|
||||
{
|
||||
normalizeState.setDisabled();
|
||||
}
|
||||
|
||||
public static void shadeModel(int mode)
|
||||
{
|
||||
if (mode != activeShadeModel)
|
||||
{
|
||||
activeShadeModel = mode;
|
||||
GL46.glShadeModel(mode);
|
||||
}
|
||||
}
|
||||
|
||||
public static void enableRescaleNormal()
|
||||
{
|
||||
rescaleNormalState.setEnabled();
|
||||
}
|
||||
|
||||
public static void disableRescaleNormal()
|
||||
{
|
||||
rescaleNormalState.setDisabled();
|
||||
}
|
||||
|
||||
public static void colorMask(boolean red, boolean green, boolean blue, boolean alpha)
|
||||
{
|
||||
if (red != colorMaskState.red || green != colorMaskState.green || blue != colorMaskState.blue || alpha != colorMaskState.alpha)
|
||||
{
|
||||
colorMaskState.red = red;
|
||||
colorMaskState.green = green;
|
||||
colorMaskState.blue = blue;
|
||||
colorMaskState.alpha = alpha;
|
||||
GL46.glColorMask(red, green, blue, alpha);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -111,7 +336,59 @@ public class GlState
|
|||
clearState.green = green;
|
||||
clearState.blue = blue;
|
||||
clearState.alpha = alpha;
|
||||
GL46C.glClearColor(red, green, blue, alpha);
|
||||
GL46.glClearColor(red, green, blue, alpha);
|
||||
}
|
||||
}
|
||||
|
||||
public static void color(float colorRed, float colorGreen, float colorBlue, float colorAlpha)
|
||||
{
|
||||
if (colorRed != colorState.red || colorGreen != colorState.green || colorBlue != colorState.blue || colorAlpha != colorState.alpha)
|
||||
{
|
||||
colorState.red = colorRed;
|
||||
colorState.green = colorGreen;
|
||||
colorState.blue = colorBlue;
|
||||
colorState.alpha = colorAlpha;
|
||||
GL46.glColor4f(colorRed, colorGreen, colorBlue, colorAlpha);
|
||||
}
|
||||
}
|
||||
|
||||
public static void color(int c) {
|
||||
float a = (float)(c >> 24 & 255) / 255.0F;
|
||||
float r = (float)(c >> 16 & 255) / 255.0F;
|
||||
float g = (float)(c >> 8 & 255) / 255.0F;
|
||||
float b = (float)(c & 255) / 255.0F;
|
||||
color(r, g, b, a);
|
||||
}
|
||||
|
||||
public static void resetColor()
|
||||
{
|
||||
colorState.red = colorState.green = colorState.blue = colorState.alpha = -1.0F;
|
||||
}
|
||||
|
||||
static
|
||||
{
|
||||
for (int i = 0; i < lightState.length; ++i)
|
||||
{
|
||||
lightState[i] = new GlState.BooleanState(GL46.GL_LIGHT0 + i);
|
||||
}
|
||||
|
||||
for (int j = 0; j < textureState.length; ++j)
|
||||
{
|
||||
textureState[j] = new GlState.TextureState();
|
||||
}
|
||||
}
|
||||
|
||||
static class AlphaState
|
||||
{
|
||||
public GlState.BooleanState alphaTest;
|
||||
public int func;
|
||||
public float ref;
|
||||
|
||||
private AlphaState()
|
||||
{
|
||||
this.alphaTest = new GlState.BooleanState(GL46.GL_ALPHA_TEST);
|
||||
this.func = GL46.GL_ALWAYS;
|
||||
this.ref = -1.0F;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -125,11 +402,11 @@ public class GlState
|
|||
|
||||
private BlendState()
|
||||
{
|
||||
this.blend = new GlState.BooleanState(GL46C.GL_BLEND);
|
||||
this.srcFactor = GL46C.GL_ONE;
|
||||
this.dstFactor = GL46C.GL_ZERO;
|
||||
this.srcFactorAlpha = GL46C.GL_ONE;
|
||||
this.dstFactorAlpha = GL46C.GL_ZERO;
|
||||
this.blend = new GlState.BooleanState(GL46.GL_BLEND);
|
||||
this.srcFactor = GL46.GL_ONE;
|
||||
this.dstFactor = GL46.GL_ZERO;
|
||||
this.srcFactorAlpha = GL46.GL_ONE;
|
||||
this.dstFactorAlpha = GL46.GL_ZERO;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -161,27 +438,57 @@ public class GlState
|
|||
|
||||
if (state)
|
||||
{
|
||||
GL46C.glEnable(this.capability);
|
||||
GL46.glEnable(this.capability);
|
||||
}
|
||||
else
|
||||
{
|
||||
GL46C.glDisable(this.capability);
|
||||
GL46.glDisable(this.capability);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static class ClearState
|
||||
static class Color
|
||||
{
|
||||
public float red = 1.0F;
|
||||
public float green = 1.0F;
|
||||
public float blue = 1.0F;
|
||||
public float alpha = 1.0F;
|
||||
|
||||
public ClearState()
|
||||
public Color()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
static class ColorMask
|
||||
{
|
||||
public boolean red;
|
||||
public boolean green;
|
||||
public boolean blue;
|
||||
public boolean alpha;
|
||||
|
||||
private ColorMask()
|
||||
{
|
||||
this.red = true;
|
||||
this.green = true;
|
||||
this.blue = true;
|
||||
this.alpha = true;
|
||||
}
|
||||
}
|
||||
|
||||
static class ColorMaterialState
|
||||
{
|
||||
public GlState.BooleanState colorMaterial;
|
||||
public int face;
|
||||
public int mode;
|
||||
|
||||
private ColorMaterialState()
|
||||
{
|
||||
this.colorMaterial = new GlState.BooleanState(GL46.GL_COLOR_MATERIAL);
|
||||
this.face = GL46.GL_FRONT_AND_BACK;
|
||||
this.mode = GL46.GL_AMBIENT_AND_DIFFUSE;
|
||||
}
|
||||
}
|
||||
|
||||
static class CullState
|
||||
{
|
||||
|
@ -190,8 +497,8 @@ public class GlState
|
|||
|
||||
private CullState()
|
||||
{
|
||||
this.cullFace = new GlState.BooleanState(GL46C.GL_CULL_FACE);
|
||||
this.mode = GL46C.GL_BACK;
|
||||
this.cullFace = new GlState.BooleanState(GL46.GL_CULL_FACE);
|
||||
this.mode = GL46.GL_BACK;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -203,18 +510,56 @@ public class GlState
|
|||
|
||||
private DepthState()
|
||||
{
|
||||
this.depthTest = new GlState.BooleanState(GL46C.GL_DEPTH_TEST);
|
||||
this.depthTest = new GlState.BooleanState(GL46.GL_DEPTH_TEST);
|
||||
this.maskEnabled = true;
|
||||
this.depthFunc = GL46C.GL_LESS;
|
||||
this.depthFunc = GL46.GL_LESS;
|
||||
}
|
||||
}
|
||||
|
||||
static class FogState
|
||||
{
|
||||
public GlState.BooleanState fog;
|
||||
public boolean enabled;
|
||||
public int mode;
|
||||
public float density;
|
||||
public float start;
|
||||
public float end;
|
||||
|
||||
private FogState()
|
||||
{
|
||||
this.fog = new GlState.BooleanState(GL46.GL_FOG);
|
||||
this.enabled = true;
|
||||
this.mode = GL46.GL_EXP;
|
||||
this.density = 1.0F;
|
||||
this.start = 0.0F;
|
||||
this.end = 1.0F;
|
||||
}
|
||||
}
|
||||
|
||||
static class PolygonOffsetState
|
||||
{
|
||||
public GlState.BooleanState polygonOffsetFill;
|
||||
public GlState.BooleanState polygonOffsetLine;
|
||||
public float factor;
|
||||
public float units;
|
||||
|
||||
private PolygonOffsetState()
|
||||
{
|
||||
this.polygonOffsetFill = new GlState.BooleanState(GL46.GL_POLYGON_OFFSET_FILL);
|
||||
this.polygonOffsetLine = new GlState.BooleanState(GL46.GL_POLYGON_OFFSET_LINE);
|
||||
this.factor = 0.0F;
|
||||
this.units = 0.0F;
|
||||
}
|
||||
}
|
||||
|
||||
static class TextureState
|
||||
{
|
||||
public GlState.BooleanState texture2DState;
|
||||
public int textureName;
|
||||
|
||||
private TextureState()
|
||||
{
|
||||
this.texture2DState = new GlState.BooleanState(GL46.GL_TEXTURE_2D);
|
||||
this.textureName = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.nio.ByteBuffer;
|
|||
import java.nio.ByteOrder;
|
||||
import java.nio.FloatBuffer;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.entity.RenderItem;
|
||||
|
@ -28,6 +28,10 @@ import common.world.State;
|
|||
|
||||
public class ItemRenderer
|
||||
{
|
||||
private static final FloatBuffer BUFFER = ByteBuffer.allocateDirect(16 << 2).order(ByteOrder.nativeOrder()).asFloatBuffer();
|
||||
private static final Vec3 LIGHT0_POS = (new Vec3(0.20000000298023224D, 1.0D, -0.699999988079071D)).normalize();
|
||||
private static final Vec3 LIGHT1_POS = (new Vec3(-0.20000000298023224D, 1.0D, 0.699999988079071D)).normalize();
|
||||
|
||||
private final Client gm;
|
||||
private final RenderManager renderManager;
|
||||
private final RenderItem itemRenderer;
|
||||
|
@ -36,14 +40,54 @@ public class ItemRenderer
|
|||
private float equippedProgress;
|
||||
private float prevEquippedProgress;
|
||||
|
||||
// public static void enableGUIStandardItemLighting()
|
||||
// {
|
||||
// GL46C.glPushMatrix();
|
||||
// GL46C.glRotatef(-30.0F, 0.0F, 1.0F, 0.0F);
|
||||
// GL46C.glRotatef(165.0F, 1.0F, 0.0F, 0.0F);
|
||||
// enableStandardItemLighting();
|
||||
// GL46C.glPopMatrix();
|
||||
// }
|
||||
private static FloatBuffer setColorBuffer(float r, float g, float b, float a)
|
||||
{
|
||||
BUFFER.clear();
|
||||
BUFFER.put(r).put(g).put(b).put(a);
|
||||
BUFFER.flip();
|
||||
return BUFFER;
|
||||
}
|
||||
|
||||
public static void enableGUIStandardItemLighting()
|
||||
{
|
||||
GL46.glPushMatrix();
|
||||
GL46.glRotatef(-30.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(165.0F, 1.0F, 0.0F, 0.0F);
|
||||
enableStandardItemLighting();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
public static void enableStandardItemLighting()
|
||||
{
|
||||
GlState.enableLighting();
|
||||
GlState.enableLight(0);
|
||||
GlState.enableLight(1);
|
||||
GlState.enableColorMaterial();
|
||||
GlState.colorMaterial(GL46.GL_FRONT_AND_BACK, GL46.GL_AMBIENT_AND_DIFFUSE);
|
||||
float f = 0.4F;
|
||||
float f1 = 0.6F;
|
||||
float f2 = 0.0F;
|
||||
GL46.glLightfv(GL46.GL_LIGHT0, GL46.GL_POSITION, setColorBuffer(
|
||||
(float)LIGHT0_POS.xCoord, (float)LIGHT0_POS.yCoord, (float)LIGHT0_POS.zCoord, 0.0f));
|
||||
GL46.glLightfv(GL46.GL_LIGHT0, GL46.GL_DIFFUSE, setColorBuffer(f1, f1, f1, 1.0F));
|
||||
GL46.glLightfv(GL46.GL_LIGHT0, GL46.GL_AMBIENT, setColorBuffer(0.0F, 0.0F, 0.0F, 1.0F));
|
||||
GL46.glLightfv(GL46.GL_LIGHT0, GL46.GL_SPECULAR, setColorBuffer(f2, f2, f2, 1.0F));
|
||||
GL46.glLightfv(GL46.GL_LIGHT1, GL46.GL_POSITION, setColorBuffer(
|
||||
(float)LIGHT1_POS.xCoord, (float)LIGHT1_POS.yCoord, (float)LIGHT1_POS.zCoord, 0.0f));
|
||||
GL46.glLightfv(GL46.GL_LIGHT1, GL46.GL_DIFFUSE, setColorBuffer(f1, f1, f1, 1.0F));
|
||||
GL46.glLightfv(GL46.GL_LIGHT1, GL46.GL_AMBIENT, setColorBuffer(0.0F, 0.0F, 0.0F, 1.0F));
|
||||
GL46.glLightfv(GL46.GL_LIGHT1, GL46.GL_SPECULAR, setColorBuffer(f2, f2, f2, 1.0F));
|
||||
GlState.shadeModel(GL46.GL_FLAT);
|
||||
GL46.glLightModelfv(GL46.GL_LIGHT_MODEL_AMBIENT, setColorBuffer(f, f, f, 1.0F));
|
||||
}
|
||||
|
||||
public static void disableStandardItemLighting()
|
||||
{
|
||||
GlState.disableLighting();
|
||||
GlState.disableLight(0);
|
||||
GlState.disableLight(1);
|
||||
GlState.disableColorMaterial();
|
||||
}
|
||||
|
||||
public ItemRenderer(Client gmIn)
|
||||
{
|
||||
|
@ -58,26 +102,26 @@ public class ItemRenderer
|
|||
{
|
||||
Item item = heldStack.getItem();
|
||||
Block block = item.getBlock();
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
|
||||
if (this.itemRenderer.shouldRenderItemIn3D(heldStack))
|
||||
{
|
||||
GL46C.glScalef(2.0F, 2.0F, 2.0F);
|
||||
GL46.glScalef(2.0F, 2.0F, 2.0F);
|
||||
}
|
||||
|
||||
this.itemRenderer.renderItemForEntity(heldStack, entityIn, third);
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
private void rotateArroundXAndY(float angle, float angleY)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glRotatef(angle, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(angleY, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glRotatef(angle, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(angleY, 0.0F, 1.0F, 0.0F);
|
||||
ItemRenderer.enableStandardItemLighting();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
private void setLightMapFromPlayer(EntityNPC clientPlayer)
|
||||
|
@ -85,15 +129,15 @@ public class ItemRenderer
|
|||
int i = this.gm.world.getCombinedLight(new BlockPos(clientPlayer.posX, clientPlayer.posY + (double)clientPlayer.getEyeHeight(), clientPlayer.posZ));
|
||||
float f = (float)(i & 65535);
|
||||
float f1 = (float)(i >> 16);
|
||||
GL46C.glMultiTexCoord2f(GL46C.GL_TEXTURE1, f, f1);
|
||||
GL46.glMultiTexCoord2f(GL46.GL_TEXTURE1, f, f1);
|
||||
}
|
||||
|
||||
private void rotateWithPlayerRotations(EntityNPC entityplayerspIn, float partialTicks)
|
||||
{
|
||||
float f = entityplayerspIn.prevRenderArmPitch + (entityplayerspIn.renderArmPitch - entityplayerspIn.prevRenderArmPitch) * partialTicks;
|
||||
float f1 = entityplayerspIn.prevRenderArmYaw + (entityplayerspIn.renderArmYaw - entityplayerspIn.prevRenderArmYaw) * partialTicks;
|
||||
GL46C.glRotatef((entityplayerspIn.rotPitch - f) * 0.1F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef((entityplayerspIn.rotYaw - f1) * 0.1F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef((entityplayerspIn.rotPitch - f) * 0.1F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef((entityplayerspIn.rotYaw - f1) * 0.1F, 0.0F, 1.0F, 0.0F);
|
||||
}
|
||||
|
||||
private float getMapAngleFromPitch(float pitch)
|
||||
|
@ -170,7 +214,7 @@ public class ItemRenderer
|
|||
//// Tessellator tessellator = Tessellator.getInstance();
|
||||
// RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
// SKC.glNormal3f(0.0F, 0.0F, -1.0F);
|
||||
// worldrenderer.begin(GL46C.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(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();
|
||||
|
@ -189,21 +233,21 @@ public class ItemRenderer
|
|||
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 f2 = -0.4F * ExtMath.sin(swingProgress * (float)Math.PI);
|
||||
GL46C.glTranslatef(f, f1, f2);
|
||||
GL46C.glTranslatef(0.64000005F, -0.6F, -0.71999997F);
|
||||
GL46C.glTranslatef(0.0F, equipProgress * -0.6F, 0.0F);
|
||||
GL46C.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(f, f1, f2);
|
||||
GL46.glTranslatef(0.64000005F, -0.6F, -0.71999997F);
|
||||
GL46.glTranslatef(0.0F, equipProgress * -0.6F, 0.0F);
|
||||
GL46.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
|
||||
float f3 = ExtMath.sin(swingProgress * swingProgress * (float)Math.PI);
|
||||
float f4 = ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI);
|
||||
GL46C.glRotatef(f4 * 70.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(f3 * -20.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glRotatef(f4 * 70.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(f3 * -20.0F, 0.0F, 0.0F, 1.0F);
|
||||
this.gm.getTextureManager().bindTexture(EntityTexManager.getSkin(clientPlayer));
|
||||
GL46C.glTranslatef(-1.0F, 3.6F, 3.5F);
|
||||
GL46C.glRotatef(120.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glRotatef(200.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glScalef(1.0F, 1.0F, 1.0F);
|
||||
GL46C.glTranslatef(5.6F, 0.0F, 0.0F);
|
||||
GL46.glTranslatef(-1.0F, 3.6F, 3.5F);
|
||||
GL46.glRotatef(120.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glRotatef(200.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glScalef(1.0F, 1.0F, 1.0F);
|
||||
GL46.glTranslatef(5.6F, 0.0F, 0.0F);
|
||||
RenderNpc render = this.renderManager.getRenderObject(this.gm.player.getModel());
|
||||
GlState.disableCull();
|
||||
render.renderPlayerArm(this.gm.player);
|
||||
|
@ -215,7 +259,7 @@ public class ItemRenderer
|
|||
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 f2 = -0.2F * ExtMath.sin(swingProgress * (float)Math.PI);
|
||||
GL46C.glTranslatef(f, f1, f2);
|
||||
GL46.glTranslatef(f, f1, f2);
|
||||
}
|
||||
|
||||
private void performDrinking(EntityNPC clientPlayer, float partialTicks)
|
||||
|
@ -229,33 +273,33 @@ public class ItemRenderer
|
|||
f2 = 0.0F;
|
||||
}
|
||||
|
||||
GL46C.glTranslatef(0.0F, f2, 0.0F);
|
||||
GL46.glTranslatef(0.0F, f2, 0.0F);
|
||||
float f3 = 1.0F - (float)Math.pow((double)f1, 27.0D);
|
||||
GL46C.glTranslatef(f3 * 0.6F, f3 * -0.5F, f3 * 0.0F);
|
||||
GL46C.glRotatef(f3 * 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(f3 * 10.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(f3 * 30.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glTranslatef(f3 * 0.6F, f3 * -0.5F, f3 * 0.0F);
|
||||
GL46.glRotatef(f3 * 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(f3 * 10.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(f3 * 30.0F, 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
|
||||
private void transformFirstPersonItem(float equipProgress, float swingProgress)
|
||||
{
|
||||
GL46C.glTranslatef(0.56F, -0.52F, -0.71999997F);
|
||||
GL46C.glTranslatef(0.0F, equipProgress * -0.6F, 0.0F);
|
||||
GL46C.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(0.56F, -0.52F, -0.71999997F);
|
||||
GL46.glTranslatef(0.0F, equipProgress * -0.6F, 0.0F);
|
||||
GL46.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
|
||||
float f = ExtMath.sin(swingProgress * swingProgress * (float)Math.PI);
|
||||
float f1 = ExtMath.sin(ExtMath.sqrtf(swingProgress) * (float)Math.PI);
|
||||
GL46C.glRotatef(f * -20.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(f1 * -20.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glRotatef(f1 * -80.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glScalef(0.4F, 0.4F, 0.4F);
|
||||
GL46.glRotatef(f * -20.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(f1 * -20.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glRotatef(f1 * -80.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glScalef(0.4F, 0.4F, 0.4F);
|
||||
}
|
||||
|
||||
private void doBowTransformations(float partialTicks, EntityNPC clientPlayer)
|
||||
{
|
||||
GL46C.glRotatef(-18.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glRotatef(-12.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-8.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glTranslatef(-0.9F, 0.2F, 0.0F);
|
||||
GL46.glRotatef(-18.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glRotatef(-12.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-8.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glTranslatef(-0.9F, 0.2F, 0.0F);
|
||||
float f = (float)this.itemToRender.getMaxItemUseDuration() - ((float)clientPlayer.getItemInUseCount() - partialTicks + 1.0F);
|
||||
float f1 = f / 20.0F;
|
||||
f1 = (f1 * f1 + f1 * 2.0F) / 3.0F;
|
||||
|
@ -270,19 +314,19 @@ public class ItemRenderer
|
|||
float f2 = ExtMath.sin((f - 0.1F) * 1.3F);
|
||||
float f3 = f1 - 0.1F;
|
||||
float f4 = f2 * f3;
|
||||
GL46C.glTranslatef(f4 * 0.0F, f4 * 0.01F, f4 * 0.0F);
|
||||
GL46.glTranslatef(f4 * 0.0F, f4 * 0.01F, f4 * 0.0F);
|
||||
}
|
||||
|
||||
GL46C.glTranslatef(f1 * 0.0F, f1 * 0.0F, f1 * 0.1F);
|
||||
GL46C.glScalef(1.0F, 1.0F, 1.0F + f1 * 0.2F);
|
||||
GL46.glTranslatef(f1 * 0.0F, f1 * 0.0F, f1 * 0.1F);
|
||||
GL46.glScalef(1.0F, 1.0F, 1.0F + f1 * 0.2F);
|
||||
}
|
||||
|
||||
private void doBlockTransformations()
|
||||
{
|
||||
GL46C.glTranslatef(-0.5F, 0.2F, 0.0F);
|
||||
GL46C.glRotatef(30.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-80.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(60.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(-0.5F, 0.2F, 0.0F);
|
||||
GL46.glRotatef(30.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-80.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(60.0F, 0.0F, 1.0F, 0.0F);
|
||||
}
|
||||
|
||||
public void renderItemInFirstPerson(float partialTicks)
|
||||
|
@ -296,7 +340,7 @@ public class ItemRenderer
|
|||
this.setLightMapFromPlayer(clientplayer);
|
||||
this.rotateWithPlayerRotations(clientplayer, partialTicks);
|
||||
GlState.enableRescaleNormal();
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
|
||||
if (this.itemToRender != null && (this.itemToRender.getItem().getWieldType() != null || (clientplayer.getItemInUseCount() > 0 && this.itemToRender.getItemUseAction() != ItemAction.NONE)))
|
||||
{
|
||||
|
@ -339,11 +383,114 @@ public class ItemRenderer
|
|||
this.renderPlayerArm(clientplayer, f, f1);
|
||||
}
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GlState.disableRescaleNormal();
|
||||
ItemRenderer.disableStandardItemLighting();
|
||||
}
|
||||
|
||||
public void renderOverlays(float partialTicks)
|
||||
{
|
||||
GlState.disableAlpha();
|
||||
|
||||
if (this.gm.player.isEntityInsideOpaqueBlock())
|
||||
{
|
||||
State iblockstate = this.gm.world.getState(new BlockPos(this.gm.player));
|
||||
EntityNPC entityplayer = this.gm.player;
|
||||
|
||||
for (int i = 0; i < 8; ++i)
|
||||
{
|
||||
double d0 = entityplayer.posX + (double)(((float)((i >> 0) % 2) - 0.5F) * entityplayer.width * 0.8F);
|
||||
double d1 = entityplayer.posY + (double)(((float)((i >> 1) % 2) - 0.5F) * 0.1F);
|
||||
double d2 = entityplayer.posZ + (double)(((float)((i >> 2) % 2) - 0.5F) * entityplayer.width * 0.8F);
|
||||
BlockPos blockpos = new BlockPos(d0, d1 + (double)entityplayer.getEyeHeight(), d2);
|
||||
State iblockstate1 = this.gm.world.getState(blockpos);
|
||||
|
||||
if (iblockstate1.getBlock().isVisuallyOpaque())
|
||||
{
|
||||
iblockstate = iblockstate1;
|
||||
}
|
||||
}
|
||||
|
||||
if (iblockstate.getBlock() != Blocks.air)
|
||||
{
|
||||
this.renderBlockInside(partialTicks, this.gm.renderer.getModelManager().getTexture(iblockstate));
|
||||
}
|
||||
}
|
||||
|
||||
if(this.gm.player.isBurning()) {
|
||||
this.renderFireOverlay(partialTicks);
|
||||
}
|
||||
|
||||
GlState.enableAlpha();
|
||||
}
|
||||
|
||||
private void renderBlockInside(float partialTicks, Sprite atlas)
|
||||
{
|
||||
this.gm.getTextureManager().bindTexture(TextureMap.BLOCKS);
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
float f = 0.1F;
|
||||
GlState.color(0.1F, 0.1F, 0.1F, 0.5F);
|
||||
GL46.glPushMatrix();
|
||||
float f1 = -1.0F;
|
||||
float f2 = 1.0F;
|
||||
float f3 = -1.0F;
|
||||
float f4 = 1.0F;
|
||||
float f5 = -0.5F;
|
||||
float f6 = atlas.getMinU();
|
||||
float f7 = atlas.getMaxU();
|
||||
float f8 = atlas.getMinV();
|
||||
float f9 = atlas.getMaxV();
|
||||
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)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)f7, (double)f8).endVertex();
|
||||
Tessellator.draw();
|
||||
GL46.glPopMatrix();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
private void renderFireOverlay(float partialTicks)
|
||||
{
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 0.9F);
|
||||
GlState.depthFunc(GL46.GL_ALWAYS);
|
||||
GlState.depthMask(false);
|
||||
GlState.enableBlend();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
float f = 1.0F;
|
||||
|
||||
for (int i = 0; i < 2; ++i)
|
||||
{
|
||||
GL46.glPushMatrix();
|
||||
Sprite textureatlassprite = this.gm.getTextureMapBlocks().getAtlasSprite("blocks/fire_layer_1");
|
||||
this.gm.getTextureManager().bindTexture(TextureMap.BLOCKS);
|
||||
float f1 = textureatlassprite.getMinU();
|
||||
float f2 = textureatlassprite.getMaxU();
|
||||
float f3 = textureatlassprite.getMinV();
|
||||
float f4 = textureatlassprite.getMaxV();
|
||||
float f5 = (0.0F - f) / 2.0F;
|
||||
float f6 = f5 + f;
|
||||
float f7 = 0.0F - f / 2.0F;
|
||||
float f8 = f7 + f;
|
||||
float f9 = -0.5F;
|
||||
GL46.glTranslatef((float)(-(i * 2 - 1)) * 0.24F, -0.3F, 0.0F);
|
||||
GL46.glRotatef((float)(i * 2 - 1) * 10.0F, 0.0F, 1.0F, 0.0F);
|
||||
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)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)f5, (double)f8, (double)f9).tex((double)f2, (double)f3).endVertex();
|
||||
Tessellator.draw();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GlState.disableBlend();
|
||||
GlState.depthMask(true);
|
||||
GlState.depthFunc(GL46.GL_LEQUAL);
|
||||
}
|
||||
|
||||
public void update()
|
||||
{
|
||||
this.prevEquippedProgress = this.equippedProgress;
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.nio.ByteOrder;
|
|||
import java.nio.FloatBuffer;
|
||||
import java.nio.IntBuffer;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.block.Block;
|
||||
import common.block.liquid.BlockLiquid;
|
||||
|
@ -32,9 +32,9 @@ public class MatrixState {
|
|||
private static float rotationXY;
|
||||
|
||||
public static void update(EntityNPC player, boolean flip) {
|
||||
GL46C.glGetFloatv(GL46C.GL_MODELVIEW_MATRIX, MODELVIEW);
|
||||
GL46C.glGetFloatv(GL46C.GL_PROJECTION_MATRIX, PROJECTION);
|
||||
GL46C.glGetIntegerv(GL46C.GL_VIEWPORT, VIEWPORT);
|
||||
GL46.glGetFloatv(GL46.GL_MODELVIEW_MATRIX, MODELVIEW);
|
||||
GL46.glGetFloatv(GL46.GL_PROJECTION_MATRIX, PROJECTION);
|
||||
GL46.glGetIntegerv(GL46.GL_VIEWPORT, VIEWPORT);
|
||||
float x = (float)((VIEWPORT.get(0) + VIEWPORT.get(2)) / 2);
|
||||
float y = (float)((VIEWPORT.get(1) + VIEWPORT.get(3)) / 2);
|
||||
Project.gluUnProject(x, y, 0.0F, MODELVIEW, PROJECTION, VIEWPORT, OBJECTCOORDS);
|
||||
|
|
|
@ -36,7 +36,7 @@ import java.nio.ByteOrder;
|
|||
import java.nio.FloatBuffer;
|
||||
import java.nio.IntBuffer;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
// 11-jan-2004 Erik Duijs
|
||||
public class Project {
|
||||
|
@ -201,7 +201,7 @@ public class Project {
|
|||
matrix.put(3 * 4 + 2, -2 * zNear * zFar / deltaZ);
|
||||
matrix.put(3 * 4 + 3, 0);
|
||||
|
||||
GL46C.glMultMatrixf(matrix);
|
||||
GL46.glMultMatrixf(matrix);
|
||||
}
|
||||
|
||||
public static void gluLookAt(
|
||||
|
@ -248,8 +248,8 @@ public class Project {
|
|||
matrix.put(1 * 4 + 2, -forward[1]);
|
||||
matrix.put(2 * 4 + 2, -forward[2]);
|
||||
|
||||
GL46C.glMultMatrixf(matrix);
|
||||
GL46C.glTranslatef(-eyex, -eyey, -eyez);
|
||||
GL46.glMultMatrixf(matrix);
|
||||
GL46.glTranslatef(-eyex, -eyey, -eyez);
|
||||
}
|
||||
|
||||
public static boolean gluProject(
|
||||
|
|
|
@ -69,7 +69,7 @@ public class RegionRenderCache implements IWorldAccess
|
|||
return this.chunks[i][j].getTileEntity(pos, TileEntity.CreateMode.QUEUED);
|
||||
}
|
||||
|
||||
public int getWorldLight(BlockPos pos)
|
||||
public int getCombinedLight(BlockPos pos)
|
||||
{
|
||||
int i = this.getPositionIndex(pos);
|
||||
int j = this.combinedLights[i];
|
||||
|
|
11
client/src/main/java/client/renderer/RegionRenderCacheBuilder.java
Executable file
11
client/src/main/java/client/renderer/RegionRenderCacheBuilder.java
Executable file
|
@ -0,0 +1,11 @@
|
|||
package client.renderer;
|
||||
|
||||
public class RegionRenderCacheBuilder
|
||||
{
|
||||
private final RenderBuffer buffer = new RenderBuffer(4194304);
|
||||
|
||||
public RenderBuffer getWorldRenderer()
|
||||
{
|
||||
return this.buffer;
|
||||
}
|
||||
}
|
|
@ -2,222 +2,456 @@ package client.renderer;
|
|||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.FloatBuffer;
|
||||
import java.nio.IntBuffer;
|
||||
import java.nio.ShortBuffer;
|
||||
import common.log.Log;
|
||||
import common.util.ExtMath;
|
||||
|
||||
public class RenderBuffer {
|
||||
private static final int[] QUAD_TO_TRI = {0, 1, 1, 2, 2, 3};
|
||||
private static final RenderBuffer BUFFER = new RenderBuffer(2097152);
|
||||
|
||||
private static VertexBuffer vbo;
|
||||
public class RenderBuffer
|
||||
{
|
||||
private ByteBuffer byteBuffer;
|
||||
private IntBuffer rawIntBuffer;
|
||||
private ShortBuffer rawShortBuffer;
|
||||
private FloatBuffer rawFloatBuffer;
|
||||
private int vertexCount;
|
||||
private VertexFormatElement vertexFormatElement;
|
||||
private int vertexFormatIndex;
|
||||
private int drawMode;
|
||||
private double xOffset;
|
||||
private double yOffset;
|
||||
private double zOffset;
|
||||
private VertexFormat vertexFormat;
|
||||
private boolean isDrawing;
|
||||
|
||||
private ByteBuffer buffer;
|
||||
private boolean drawing;
|
||||
private int count;
|
||||
|
||||
private double xOffset;
|
||||
private double yOffset;
|
||||
private double zOffset;
|
||||
public RenderBuffer(int bufferSizeIn)
|
||||
{
|
||||
this.byteBuffer = ByteBuffer.allocateDirect(bufferSizeIn * 4).order(ByteOrder.nativeOrder());
|
||||
this.rawIntBuffer = this.byteBuffer.asIntBuffer();
|
||||
this.rawShortBuffer = this.byteBuffer.asShortBuffer();
|
||||
this.rawFloatBuffer = this.byteBuffer.asFloatBuffer();
|
||||
}
|
||||
|
||||
private float normalX = 0.0f;
|
||||
private float normalY = 0.0f;
|
||||
private float normalZ = 0.0f;
|
||||
private float shine = 1.0f;
|
||||
private int red = 255;
|
||||
private int green = 255;
|
||||
private int blue = 255;
|
||||
private int alpha = 255;
|
||||
private void growBuffer(int p_181670_1_)
|
||||
{
|
||||
if (p_181670_1_ > this.rawIntBuffer.remaining())
|
||||
{
|
||||
int i = this.byteBuffer.capacity();
|
||||
int j = i % 2097152;
|
||||
int k = j + (((this.rawIntBuffer.position() + p_181670_1_) * 4 - j) / 2097152 + 1) * 2097152;
|
||||
Log.RENDER.warn("Musste Puffer vergrößern: Alte Größe " + i + " Bytes, neue Größe " + k + " Bytes.");
|
||||
int l = this.rawIntBuffer.position();
|
||||
ByteBuffer bytebuffer = ByteBuffer.allocateDirect(k).order(ByteOrder.nativeOrder());
|
||||
this.byteBuffer.position(0);
|
||||
bytebuffer.put(this.byteBuffer);
|
||||
bytebuffer.rewind();
|
||||
this.byteBuffer = bytebuffer;
|
||||
this.rawFloatBuffer = this.byteBuffer.asFloatBuffer().asReadOnlyBuffer();
|
||||
this.rawIntBuffer = this.byteBuffer.asIntBuffer();
|
||||
this.rawIntBuffer.position(l);
|
||||
this.rawShortBuffer = this.byteBuffer.asShortBuffer();
|
||||
this.rawShortBuffer.position(l << 1);
|
||||
}
|
||||
}
|
||||
|
||||
public static RenderBuffer getBuffer() {
|
||||
return BUFFER;
|
||||
}
|
||||
private int getBufferSize()
|
||||
{
|
||||
return this.vertexCount * this.vertexFormat.getIntegerSize();
|
||||
}
|
||||
|
||||
public RenderBuffer(int size) {
|
||||
this.buffer = ByteBuffer.allocateDirect(size * 4).order(ByteOrder.nativeOrder());
|
||||
}
|
||||
private static float getDistanceSq(FloatBuffer p_181665_0_, float p_181665_1_, float p_181665_2_, float p_181665_3_, int p_181665_4_, int p_181665_5_)
|
||||
{
|
||||
float f = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 0 + 0);
|
||||
float f1 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 0 + 1);
|
||||
float f2 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 0 + 2);
|
||||
float f3 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 1 + 0);
|
||||
float f4 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 1 + 1);
|
||||
float f5 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 1 + 2);
|
||||
float f6 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 2 + 0);
|
||||
float f7 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 2 + 1);
|
||||
float f8 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 2 + 2);
|
||||
float f9 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 3 + 0);
|
||||
float f10 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 3 + 1);
|
||||
float f11 = p_181665_0_.get(p_181665_5_ + p_181665_4_ * 3 + 2);
|
||||
float f12 = (f + f3 + f6 + f9) * 0.25F - p_181665_1_;
|
||||
float f13 = (f1 + f4 + f7 + f10) * 0.25F - p_181665_2_;
|
||||
float f14 = (f2 + f5 + f8 + f11) * 0.25F - p_181665_3_;
|
||||
return f12 * f12 + f13 * f13 + f14 * f14;
|
||||
}
|
||||
|
||||
public void begin() {
|
||||
if(this.drawing)
|
||||
throw new IllegalStateException("Puffer bereits in Verwendung");
|
||||
this.drawing = true;
|
||||
this.count = 0;
|
||||
this.buffer.limit(this.buffer.capacity());
|
||||
}
|
||||
public void reset()
|
||||
{
|
||||
this.vertexCount = 0;
|
||||
this.vertexFormatElement = null;
|
||||
this.vertexFormatIndex = 0;
|
||||
}
|
||||
|
||||
public void begin(double x, double y, double z) {
|
||||
this.begin();
|
||||
this.xOffset = x;
|
||||
this.yOffset = y;
|
||||
this.zOffset = z;
|
||||
}
|
||||
public void begin(int glMode, VertexFormat format)
|
||||
{
|
||||
if (this.isDrawing)
|
||||
{
|
||||
throw new IllegalStateException("Already building!");
|
||||
}
|
||||
else
|
||||
{
|
||||
this.isDrawing = true;
|
||||
this.reset();
|
||||
this.drawMode = glMode;
|
||||
this.vertexFormat = format;
|
||||
this.vertexFormatElement = format.getElement(this.vertexFormatIndex);
|
||||
this.byteBuffer.limit(this.byteBuffer.capacity());
|
||||
}
|
||||
}
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, float nx, float ny, float nz, float shine, double u, double v, int red, int green, int blue, int alpha) {
|
||||
this.buffer.putFloat((float)(x + this.xOffset));
|
||||
this.buffer.putFloat((float)(y + this.yOffset));
|
||||
this.buffer.putFloat((float)(z + this.zOffset));
|
||||
this.buffer.put((byte)((int)(nx * 127.0f) & 255));
|
||||
this.buffer.put((byte)((int)(ny * 127.0f) & 255));
|
||||
this.buffer.put((byte)((int)(nz * 127.0f) & 255));
|
||||
this.buffer.put((byte)((int)((shine / 32.0f) * 127.0f) & 255));
|
||||
this.buffer.putFloat((float)u);
|
||||
this.buffer.putFloat((float)v);
|
||||
this.buffer.put((byte)red);
|
||||
this.buffer.put((byte)green);
|
||||
this.buffer.put((byte)blue);
|
||||
this.buffer.put((byte)alpha);
|
||||
++this.count;
|
||||
if(this.buffer.remaining() < 28) {
|
||||
int cap = this.buffer.capacity();
|
||||
int rest = cap % 2097152;
|
||||
int extend = rest + (((this.buffer.position() + 28) - rest) / 2097152 + 1) * 2097152;
|
||||
Log.RENDER.warn("Musste Puffer vergrößern: Alte Größe " + cap + " Bytes, neue Größe " + extend + " Bytes.");
|
||||
ByteBuffer buffer = ByteBuffer.allocateDirect(extend).order(ByteOrder.nativeOrder());
|
||||
this.buffer.position(0);
|
||||
buffer.put(this.buffer);
|
||||
this.buffer = buffer;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
public RenderBuffer tex(double u, double v)
|
||||
{
|
||||
int i = this.vertexCount * this.vertexFormat.getNextOffset() + this.vertexFormat.getOffset(this.vertexFormatIndex);
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, float nx, float ny, float nz, float shine, double u, double v, float red, float green, float blue, float alpha) {
|
||||
return this.put(x, y, z, nx, ny, nz, shine, u, v, (int)(red * 255.0F), (int)(green * 255.0F), (int)(blue * 255.0F), (int)(alpha * 255.0F));
|
||||
}
|
||||
switch (this.vertexFormatElement.type())
|
||||
{
|
||||
case FLOAT:
|
||||
this.byteBuffer.putFloat(i, (float)u);
|
||||
this.byteBuffer.putFloat(i + 4, (float)v);
|
||||
break;
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, float nx, float ny, float nz, float shine, double u, double v, int color) {
|
||||
return this.put(x, y, z, nx, ny, nz, shine, u, v, color >> 16 & 255, color >> 8 & 255, color & 255, color >> 24 & 255);
|
||||
}
|
||||
|
||||
|
||||
public RenderBuffer setColor(int red, int green, int blue, int alpha) {
|
||||
this.red = red;
|
||||
this.green = green;
|
||||
this.blue = blue;
|
||||
this.alpha = alpha;
|
||||
return this;
|
||||
}
|
||||
|
||||
public RenderBuffer setColor(float red, float green, float blue, float alpha) {
|
||||
return this.setColor((int)(red * 255.0F), (int)(green * 255.0F), (int)(blue * 255.0F), (int)(alpha * 255.0F));
|
||||
}
|
||||
|
||||
public RenderBuffer setColor(int color) {
|
||||
return this.setColor(color >> 16 & 255, color >> 8 & 255, color & 255, color >> 24 & 255);
|
||||
}
|
||||
|
||||
public RenderBuffer setNormal(float x, float y, float z, float shine) {
|
||||
this.normalX = x;
|
||||
this.normalY = y;
|
||||
this.normalZ = z;
|
||||
this.shine = shine;
|
||||
return this;
|
||||
}
|
||||
|
||||
case UINT:
|
||||
case INT:
|
||||
this.byteBuffer.putInt(i, (int)u);
|
||||
this.byteBuffer.putInt(i + 4, (int)v);
|
||||
break;
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, double u, double v, int red, int green, int blue, int alpha) {
|
||||
return this.put(x, y, z, this.normalX, this.normalY, this.normalZ, this.shine, u, v, red, green, blue, alpha);
|
||||
}
|
||||
case USHORT:
|
||||
case SHORT:
|
||||
this.byteBuffer.putShort(i, (short)((int)v));
|
||||
this.byteBuffer.putShort(i + 2, (short)((int)u));
|
||||
break;
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, double u, double v, float red, float green, float blue, float alpha) {
|
||||
return this.put(x, y, z, this.normalX, this.normalY, this.normalZ, this.shine, u, v, (int)(red * 255.0F), (int)(green * 255.0F), (int)(blue * 255.0F), (int)(alpha * 255.0F));
|
||||
}
|
||||
case UBYTE:
|
||||
case BYTE:
|
||||
this.byteBuffer.put(i, (byte)((int)v));
|
||||
this.byteBuffer.put(i + 1, (byte)((int)u));
|
||||
}
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, double u, double v, int color) {
|
||||
return this.put(x, y, z, this.normalX, this.normalY, this.normalZ, this.shine, u, v, color >> 16 & 255, color >> 8 & 255, color & 255, color >> 24 & 255);
|
||||
}
|
||||
|
||||
this.nextVertexFormatIndex();
|
||||
return this;
|
||||
}
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, int red, int green, int blue, int alpha) {
|
||||
return this.put(x, y, z, this.normalX, this.normalY, this.normalZ, this.shine, 0.0, 0.0, red, green, blue, alpha);
|
||||
}
|
||||
public RenderBuffer lightmap(int p_181671_1_, int p_181671_2_)
|
||||
{
|
||||
int i = this.vertexCount * this.vertexFormat.getNextOffset() + this.vertexFormat.getOffset(this.vertexFormatIndex);
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, float red, float green, float blue, float alpha) {
|
||||
return this.put(x, y, z, this.normalX, this.normalY, this.normalZ, this.shine, 0.0, 0.0, (int)(red * 255.0F), (int)(green * 255.0F), (int)(blue * 255.0F), (int)(alpha * 255.0F));
|
||||
}
|
||||
switch (this.vertexFormatElement.type())
|
||||
{
|
||||
case FLOAT:
|
||||
this.byteBuffer.putFloat(i, (float)p_181671_1_);
|
||||
this.byteBuffer.putFloat(i + 4, (float)p_181671_2_);
|
||||
break;
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, int color) {
|
||||
return this.put(x, y, z, this.normalX, this.normalY, this.normalZ, this.shine, 0.0, 0.0, color >> 16 & 255, color >> 8 & 255, color & 255, color >> 24 & 255);
|
||||
}
|
||||
case UINT:
|
||||
case INT:
|
||||
this.byteBuffer.putInt(i, p_181671_1_);
|
||||
this.byteBuffer.putInt(i + 4, p_181671_2_);
|
||||
break;
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, double u, double v) {
|
||||
return this.put(x, y, z, this.normalX, this.normalY, this.normalZ, this.shine, u, v, this.red, this.green, this.blue, this.alpha);
|
||||
}
|
||||
case USHORT:
|
||||
case SHORT:
|
||||
this.byteBuffer.putShort(i, (short)p_181671_2_);
|
||||
this.byteBuffer.putShort(i + 2, (short)p_181671_1_);
|
||||
break;
|
||||
|
||||
public RenderBuffer put(double x, double y, double z) {
|
||||
return this.put(x, y, z, this.normalX, this.normalY, this.normalZ, this.shine, 0.0, 0.0, this.red, this.green, this.blue, this.alpha);
|
||||
}
|
||||
|
||||
case UBYTE:
|
||||
case BYTE:
|
||||
this.byteBuffer.put(i, (byte)p_181671_2_);
|
||||
this.byteBuffer.put(i + 1, (byte)p_181671_1_);
|
||||
}
|
||||
|
||||
public RenderBuffer put2d(double x, double y, double u, double v, int red, int green, int blue, int alpha) {
|
||||
return this.put(x, y, 0.0, 0.0f, 0.0f, 0.0f, 0.0f, u, v, red, green, blue, alpha);
|
||||
}
|
||||
this.nextVertexFormatIndex();
|
||||
return this;
|
||||
}
|
||||
|
||||
public RenderBuffer put2d(double x, double y, double u, double v, float red, float green, float blue, float alpha) {
|
||||
return this.put(x, y, 0.0, 0.0f, 0.0f, 0.0f, 0.0f, u, v, (int)(red * 255.0F), (int)(green * 255.0F), (int)(blue * 255.0F), (int)(alpha * 255.0F));
|
||||
}
|
||||
public void putBrightness4(int p_178962_1_, int p_178962_2_, int p_178962_3_, int p_178962_4_)
|
||||
{
|
||||
int i = (this.vertexCount - 4) * this.vertexFormat.getIntegerSize() + this.vertexFormat.getUvOffsetById(1) / 4;
|
||||
int j = this.vertexFormat.getNextOffset() >> 2;
|
||||
this.rawIntBuffer.put(i, p_178962_1_);
|
||||
this.rawIntBuffer.put(i + j, p_178962_2_);
|
||||
this.rawIntBuffer.put(i + j * 2, p_178962_3_);
|
||||
this.rawIntBuffer.put(i + j * 3, p_178962_4_);
|
||||
}
|
||||
|
||||
public RenderBuffer put2d(double x, double y, double u, double v, int color) {
|
||||
return this.put(x, y, 0.0, 0.0f, 0.0f, 0.0f, 0.0f, u, v, color >> 16 & 255, color >> 8 & 255, color & 255, color >> 24 & 255);
|
||||
}
|
||||
|
||||
public void putPosition(double x, double y, double z)
|
||||
{
|
||||
int i = this.vertexFormat.getIntegerSize();
|
||||
int j = (this.vertexCount - 4) * i;
|
||||
|
||||
public RenderBuffer put2d(double x, double y, int red, int green, int blue, int alpha) {
|
||||
return this.put(x, y, 0.0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0, 0.0, red, green, blue, alpha);
|
||||
}
|
||||
for (int k = 0; k < 4; ++k)
|
||||
{
|
||||
int l = j + k * i;
|
||||
int i1 = l + 1;
|
||||
int j1 = i1 + 1;
|
||||
this.rawIntBuffer.put(l, Float.floatToRawIntBits((float)(x + this.xOffset) + Float.intBitsToFloat(this.rawIntBuffer.get(l))));
|
||||
this.rawIntBuffer.put(i1, Float.floatToRawIntBits((float)(y + this.yOffset) + Float.intBitsToFloat(this.rawIntBuffer.get(i1))));
|
||||
this.rawIntBuffer.put(j1, Float.floatToRawIntBits((float)(z + this.zOffset) + Float.intBitsToFloat(this.rawIntBuffer.get(j1))));
|
||||
}
|
||||
}
|
||||
|
||||
public RenderBuffer put2d(double x, double y, float red, float green, float blue, float alpha) {
|
||||
return this.put(x, y, 0.0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0, 0.0, (int)(red * 255.0F), (int)(green * 255.0F), (int)(blue * 255.0F), (int)(alpha * 255.0F));
|
||||
}
|
||||
private int getColorIndex(int p_78909_1_)
|
||||
{
|
||||
return ((this.vertexCount - p_78909_1_) * this.vertexFormat.getNextOffset() + this.vertexFormat.getColorOffset()) / 4;
|
||||
}
|
||||
|
||||
public RenderBuffer put2d(double x, double y, int color) {
|
||||
return this.put(x, y, 0.0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0, 0.0, color >> 16 & 255, color >> 8 & 255, color & 255, color >> 24 & 255);
|
||||
}
|
||||
private void putColor(int argb, int p_178988_2_)
|
||||
{
|
||||
int i = this.getColorIndex(p_178988_2_);
|
||||
int j = argb >> 16 & 255;
|
||||
int k = argb >> 8 & 255;
|
||||
int l = argb & 255;
|
||||
int i1 = argb >> 24 & 255;
|
||||
this.putColorRGBA(i, j, k, l, i1);
|
||||
}
|
||||
|
||||
public RenderBuffer put2d(double x, double y, double u, double v) {
|
||||
return this.put(x, y, 0.0, 0.0f, 0.0f, 0.0f, 0.0f, u, v, this.red, this.green, this.blue, this.alpha);
|
||||
}
|
||||
public void putColorRGB_F(float red, float green, float blue, int p_178994_4_)
|
||||
{
|
||||
int i = this.getColorIndex(p_178994_4_);
|
||||
int j = ExtMath.clampi((int)(red * 255.0F), 0, 255);
|
||||
int k = ExtMath.clampi((int)(green * 255.0F), 0, 255);
|
||||
int l = ExtMath.clampi((int)(blue * 255.0F), 0, 255);
|
||||
this.putColorRGBA(i, j, k, l, 255);
|
||||
}
|
||||
|
||||
public RenderBuffer put2d(double x, double y) {
|
||||
return this.put(x, y, 0.0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0, 0.0, this.red, this.green, this.blue, this.alpha);
|
||||
}
|
||||
|
||||
|
||||
public RenderBuffer put(double x, double y, double z, int[] data, int color) {
|
||||
for(int n = 0; n < 6; n++) {
|
||||
int idx = QUAD_TO_TRI[n] * 7;
|
||||
this.put(x + (double)Float.intBitsToFloat(data[idx + 0]), y + (double)Float.intBitsToFloat(data[idx + 1]), z + (double)Float.intBitsToFloat(data[idx + 2]),
|
||||
(float)((byte)(data[idx + 3] & 0xff)) / 127.0f, (float)((byte)(data[idx + 3] & 0xff)) / 127.0f, (float)((byte)(data[idx + 3] & 0xff)) / 127.0f,
|
||||
((float)((byte)(data[idx + 3] & 0xff)) / 127.0f) * 32.0f,
|
||||
(double)Float.intBitsToFloat(data[idx + 4]), (double)Float.intBitsToFloat(data[idx + 5]),
|
||||
color >> 16 & 255, color >> 8 & 255, color & 255, color >> 24 & 255);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
private void putColorRGBA(int index, int red, int p_178972_3_, int p_178972_4_, int p_178972_5_)
|
||||
{
|
||||
if (ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN)
|
||||
{
|
||||
this.rawIntBuffer.put(index, p_178972_5_ << 24 | p_178972_4_ << 16 | p_178972_3_ << 8 | red);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.rawIntBuffer.put(index, red << 24 | p_178972_3_ << 16 | p_178972_4_ << 8 | p_178972_5_);
|
||||
}
|
||||
}
|
||||
|
||||
public ByteBuffer getByteBuffer() {
|
||||
if(!this.drawing)
|
||||
throw new IllegalStateException("Puffer nicht in Verwendung");
|
||||
this.buffer.position(0);
|
||||
this.buffer.limit(this.count * 28);
|
||||
this.drawing = false;
|
||||
this.count = 0;
|
||||
this.xOffset = 0.0;
|
||||
this.yOffset = 0.0;
|
||||
this.zOffset = 0.0;
|
||||
this.normalX = 0.0f;
|
||||
this.normalY = 0.0f;
|
||||
this.normalZ = 0.0f;
|
||||
this.shine = 1.0f;
|
||||
this.red = 255;
|
||||
this.green = 255;
|
||||
this.blue = 255;
|
||||
this.alpha = 255;
|
||||
return this.buffer;
|
||||
}
|
||||
public RenderBuffer color(float red, float green, float blue, float alpha)
|
||||
{
|
||||
return this.color((int)(red * 255.0F), (int)(green * 255.0F), (int)(blue * 255.0F), (int)(alpha * 255.0F));
|
||||
}
|
||||
|
||||
public void draw() {
|
||||
if(vbo == null)
|
||||
vbo = new VertexBuffer();
|
||||
vbo.bufferData(this, true);
|
||||
vbo.draw();
|
||||
}
|
||||
public RenderBuffer color(int color)
|
||||
{
|
||||
return this.color(color >> 16 & 255, color >> 8 & 255, color & 255, color >> 24 & 255);
|
||||
}
|
||||
|
||||
public RenderBuffer color(int red, int green, int blue, int alpha)
|
||||
{
|
||||
int i = this.vertexCount * this.vertexFormat.getNextOffset() + this.vertexFormat.getOffset(this.vertexFormatIndex);
|
||||
|
||||
switch (this.vertexFormatElement.type())
|
||||
{
|
||||
case FLOAT:
|
||||
this.byteBuffer.putFloat(i, (float)red / 255.0F);
|
||||
this.byteBuffer.putFloat(i + 4, (float)green / 255.0F);
|
||||
this.byteBuffer.putFloat(i + 8, (float)blue / 255.0F);
|
||||
this.byteBuffer.putFloat(i + 12, (float)alpha / 255.0F);
|
||||
break;
|
||||
|
||||
case UINT:
|
||||
case INT:
|
||||
this.byteBuffer.putFloat(i, (float)red);
|
||||
this.byteBuffer.putFloat(i + 4, (float)green);
|
||||
this.byteBuffer.putFloat(i + 8, (float)blue);
|
||||
this.byteBuffer.putFloat(i + 12, (float)alpha);
|
||||
break;
|
||||
|
||||
case USHORT:
|
||||
case SHORT:
|
||||
this.byteBuffer.putShort(i, (short)red);
|
||||
this.byteBuffer.putShort(i + 2, (short)green);
|
||||
this.byteBuffer.putShort(i + 4, (short)blue);
|
||||
this.byteBuffer.putShort(i + 6, (short)alpha);
|
||||
break;
|
||||
|
||||
case UBYTE:
|
||||
case BYTE:
|
||||
if (ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN)
|
||||
{
|
||||
this.byteBuffer.put(i, (byte)red);
|
||||
this.byteBuffer.put(i + 1, (byte)green);
|
||||
this.byteBuffer.put(i + 2, (byte)blue);
|
||||
this.byteBuffer.put(i + 3, (byte)alpha);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.byteBuffer.put(i, (byte)alpha);
|
||||
this.byteBuffer.put(i + 1, (byte)blue);
|
||||
this.byteBuffer.put(i + 2, (byte)green);
|
||||
this.byteBuffer.put(i + 3, (byte)red);
|
||||
}
|
||||
}
|
||||
|
||||
this.nextVertexFormatIndex();
|
||||
return this;
|
||||
}
|
||||
|
||||
public void addVertexData(int[] vertexData)
|
||||
{
|
||||
this.growBuffer(vertexData.length);
|
||||
this.rawIntBuffer.position(this.getBufferSize());
|
||||
this.rawIntBuffer.put(vertexData);
|
||||
this.vertexCount += vertexData.length / this.vertexFormat.getIntegerSize();
|
||||
}
|
||||
|
||||
public void endVertex()
|
||||
{
|
||||
++this.vertexCount;
|
||||
this.growBuffer(this.vertexFormat.getIntegerSize());
|
||||
}
|
||||
|
||||
public RenderBuffer pos(double x, double y, double z)
|
||||
{
|
||||
int i = this.vertexCount * this.vertexFormat.getNextOffset() + this.vertexFormat.getOffset(this.vertexFormatIndex);
|
||||
|
||||
switch (this.vertexFormatElement.type())
|
||||
{
|
||||
case FLOAT:
|
||||
this.byteBuffer.putFloat(i, (float)(x + this.xOffset));
|
||||
this.byteBuffer.putFloat(i + 4, (float)(y + this.yOffset));
|
||||
this.byteBuffer.putFloat(i + 8, (float)(z + this.zOffset));
|
||||
break;
|
||||
|
||||
case UINT:
|
||||
case INT:
|
||||
this.byteBuffer.putInt(i, Float.floatToRawIntBits((float)(x + this.xOffset)));
|
||||
this.byteBuffer.putInt(i + 4, Float.floatToRawIntBits((float)(y + this.yOffset)));
|
||||
this.byteBuffer.putInt(i + 8, Float.floatToRawIntBits((float)(z + this.zOffset)));
|
||||
break;
|
||||
|
||||
case USHORT:
|
||||
case SHORT:
|
||||
this.byteBuffer.putShort(i, (short)((int)(x + this.xOffset)));
|
||||
this.byteBuffer.putShort(i + 2, (short)((int)(y + this.yOffset)));
|
||||
this.byteBuffer.putShort(i + 4, (short)((int)(z + this.zOffset)));
|
||||
break;
|
||||
|
||||
case UBYTE:
|
||||
case BYTE:
|
||||
this.byteBuffer.put(i, (byte)((int)(x + this.xOffset)));
|
||||
this.byteBuffer.put(i + 1, (byte)((int)(y + this.yOffset)));
|
||||
this.byteBuffer.put(i + 2, (byte)((int)(z + this.zOffset)));
|
||||
}
|
||||
|
||||
this.nextVertexFormatIndex();
|
||||
return this;
|
||||
}
|
||||
|
||||
public void putNormal(float x, float y, float z)
|
||||
{
|
||||
int i = (byte)((int)(x * 127.0F)) & 255;
|
||||
int j = (byte)((int)(y * 127.0F)) & 255;
|
||||
int k = (byte)((int)(z * 127.0F)) & 255;
|
||||
int l = i | j << 8 | k << 16;
|
||||
int i1 = this.vertexFormat.getNextOffset() >> 2;
|
||||
int j1 = (this.vertexCount - 4) * i1 + this.vertexFormat.getNormalOffset() / 4;
|
||||
this.rawIntBuffer.put(j1, l);
|
||||
this.rawIntBuffer.put(j1 + i1, l);
|
||||
this.rawIntBuffer.put(j1 + i1 * 2, l);
|
||||
this.rawIntBuffer.put(j1 + i1 * 3, l);
|
||||
}
|
||||
|
||||
private void nextVertexFormatIndex()
|
||||
{
|
||||
++this.vertexFormatIndex;
|
||||
this.vertexFormatIndex %= this.vertexFormat.getElementCount();
|
||||
this.vertexFormatElement = this.vertexFormat.getElement(this.vertexFormatIndex);
|
||||
|
||||
if (this.vertexFormatElement.usage() == VertexFormatElement.EnumUsage.PADDING)
|
||||
{
|
||||
this.nextVertexFormatIndex();
|
||||
}
|
||||
}
|
||||
|
||||
public RenderBuffer normal(float p_181663_1_, float p_181663_2_, float p_181663_3_)
|
||||
{
|
||||
int i = this.vertexCount * this.vertexFormat.getNextOffset() + this.vertexFormat.getOffset(this.vertexFormatIndex);
|
||||
|
||||
switch (this.vertexFormatElement.type())
|
||||
{
|
||||
case FLOAT:
|
||||
this.byteBuffer.putFloat(i, p_181663_1_);
|
||||
this.byteBuffer.putFloat(i + 4, p_181663_2_);
|
||||
this.byteBuffer.putFloat(i + 8, p_181663_3_);
|
||||
break;
|
||||
|
||||
case UINT:
|
||||
case INT:
|
||||
this.byteBuffer.putInt(i, (int)p_181663_1_);
|
||||
this.byteBuffer.putInt(i + 4, (int)p_181663_2_);
|
||||
this.byteBuffer.putInt(i + 8, (int)p_181663_3_);
|
||||
break;
|
||||
|
||||
case USHORT:
|
||||
case SHORT:
|
||||
this.byteBuffer.putShort(i, (short)((int)p_181663_1_ * 32767 & 65535));
|
||||
this.byteBuffer.putShort(i + 2, (short)((int)p_181663_2_ * 32767 & 65535));
|
||||
this.byteBuffer.putShort(i + 4, (short)((int)p_181663_3_ * 32767 & 65535));
|
||||
break;
|
||||
|
||||
case UBYTE:
|
||||
case BYTE:
|
||||
this.byteBuffer.put(i, (byte)((int)p_181663_1_ * 127 & 255));
|
||||
this.byteBuffer.put(i + 1, (byte)((int)p_181663_2_ * 127 & 255));
|
||||
this.byteBuffer.put(i + 2, (byte)((int)p_181663_3_ * 127 & 255));
|
||||
}
|
||||
|
||||
this.nextVertexFormatIndex();
|
||||
return this;
|
||||
}
|
||||
|
||||
public void setTranslation(double x, double y, double z)
|
||||
{
|
||||
this.xOffset = x;
|
||||
this.yOffset = y;
|
||||
this.zOffset = z;
|
||||
}
|
||||
|
||||
public void finishDrawing()
|
||||
{
|
||||
if (!this.isDrawing)
|
||||
{
|
||||
throw new IllegalStateException("Not building!");
|
||||
}
|
||||
else
|
||||
{
|
||||
this.isDrawing = false;
|
||||
this.byteBuffer.position(0);
|
||||
this.byteBuffer.limit(this.getBufferSize() * 4);
|
||||
}
|
||||
}
|
||||
|
||||
public ByteBuffer getByteBuffer()
|
||||
{
|
||||
return this.byteBuffer;
|
||||
}
|
||||
|
||||
public VertexFormat getVertexFormat()
|
||||
{
|
||||
return this.vertexFormat;
|
||||
}
|
||||
|
||||
public int getVertexCount()
|
||||
{
|
||||
return this.vertexCount;
|
||||
}
|
||||
|
||||
public int getDrawMode()
|
||||
{
|
||||
return this.drawMode;
|
||||
}
|
||||
|
||||
public void putColor4(int argb)
|
||||
{
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
this.putColor(argb, i + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -9,7 +9,7 @@ import java.util.Map.Entry;
|
|||
import java.util.function.Consumer;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.util.FileUtils;
|
||||
|
@ -23,74 +23,43 @@ import common.util.Vector3f;
|
|||
import common.util.Vector4f;
|
||||
|
||||
public enum Shader {
|
||||
UI_COLOR("ui_color", "ui_color", null, context -> {
|
||||
GlState.disableCull();
|
||||
GlState.disableDepth();
|
||||
GlState.enableBlend();
|
||||
// GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ZERO);
|
||||
GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
context.vec("screen_size", Client.CLIENT.fbX, Client.CLIENT.fbY);
|
||||
}),
|
||||
|
||||
UI_TEXTURE("ui_texture", "ui_texture", context -> context.integer("tex", 0), context -> {
|
||||
GlState.disableCull();
|
||||
GlState.disableDepth();
|
||||
GlState.enableBlend();
|
||||
// GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ZERO);
|
||||
GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
context.vec("screen_size", Client.CLIENT.fbX, Client.CLIENT.fbY);
|
||||
}),
|
||||
|
||||
WORLD("world", "world", context -> {context.integer("tex", 0); /* GL46C.glUniformBlockBinding(context.getProgram(), GL46C.glGetUniformBlockIndex(context.getProgram(), "light_block"), 0); */}, context -> {
|
||||
Client gm = Client.CLIENT;
|
||||
|
||||
context.vec("clip_near", gm.renderer.getNearPlane());
|
||||
context.vec("clip_far", gm.renderer.getFarPlane());
|
||||
context.vec("screen", (float)gm.fbRawX, (float)gm.fbRawY);
|
||||
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);
|
||||
context.matrix("view", MatrixState.getModelView());
|
||||
context.matrix("projection", MatrixState.getProjection());
|
||||
context.vec("time", (float)Util.ftime());
|
||||
|
||||
float angle = -90.0f + gm.renderer.getCelestialAngle(gm.getTickFraction());
|
||||
float angle = -90.0f + Client.CLIENT.renderer.getCelestialAngle(Client.CLIENT.getTickFraction());
|
||||
|
||||
float sunX = !gm.world.dimension.hasDaylight() ? 0.0f : ExtMath.cos(angle / 180.0f * (float)Math.PI);
|
||||
float sunY = !gm.world.dimension.hasDaylight() ? -1.0f : ExtMath.sin(angle / 180.0f * (float)Math.PI);
|
||||
float sunX = !Client.CLIENT.world.dimension.hasDaylight() ? 0.0f : ExtMath.cos(angle / 180.0f * (float)Math.PI);
|
||||
float sunY = !Client.CLIENT.world.dimension.hasDaylight() ? -1.0f : ExtMath.sin(angle / 180.0f * (float)Math.PI);
|
||||
context.vec("sun_direction", sunX, sunY, 0.0f);
|
||||
|
||||
float moonX = !gm.world.dimension.hasDaylight() ? 0.0f : ExtMath.cos((180.0f + angle) / 180.0f * (float)Math.PI);
|
||||
float moonY = !gm.world.dimension.hasDaylight() ? -1.0f : ExtMath.sin((180.0f + angle) / 180.0f * (float)Math.PI);
|
||||
float moonX = !Client.CLIENT.world.dimension.hasDaylight() ? 0.0f : ExtMath.cos((180.0f + angle) / 180.0f * (float)Math.PI);
|
||||
float moonY = !Client.CLIENT.world.dimension.hasDaylight() ? -1.0f : ExtMath.sin((180.0f + angle) / 180.0f * (float)Math.PI);
|
||||
context.vec("moon_direction", moonX, moonY, 0.0f);
|
||||
|
||||
float sunRed = gm.renderer.getSunColorRed();
|
||||
float sunGreen = gm.renderer.getSunColorGreen();
|
||||
float sunBlue = gm.renderer.getSunColorBlue();
|
||||
float sunRed = Client.CLIENT.renderer.getSunColorRed();
|
||||
float sunGreen = Client.CLIENT.renderer.getSunColorGreen();
|
||||
float sunBlue = Client.CLIENT.renderer.getSunColorBlue();
|
||||
context.vec("sun_ambient", sunRed, sunGreen, sunBlue);
|
||||
|
||||
float moonRed = gm.renderer.getMoonColorRed();
|
||||
float moonGreen = gm.renderer.getMoonColorGreen();
|
||||
float moonBlue = gm.renderer.getMoonColorBlue();
|
||||
float moonRed = Client.CLIENT.renderer.getMoonColorRed();
|
||||
float moonGreen = Client.CLIENT.renderer.getMoonColorGreen();
|
||||
float moonBlue = Client.CLIENT.renderer.getMoonColorBlue();
|
||||
context.vec("moon_ambient", moonRed, moonGreen, moonBlue);
|
||||
|
||||
context.vec("light_factor", gm.lightBlend);
|
||||
context.vec("max_vert_dist", gm.lightDistVert);
|
||||
context.vec("max_cam_dist", gm.lightDistCam);
|
||||
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);
|
||||
|
||||
context.color3("specular", gm.specularColors && !gm.setGamma && !gm.xrayActive ? 0xffffff : 0x000000);
|
||||
context.bool("shade", gm.flatShading || gm.setGamma || gm.xrayActive);
|
||||
|
||||
boolean moon = false;
|
||||
for(int color : gm.world.dimension.getMoonColors()) {
|
||||
if((color & 0xff000000) == 0) {
|
||||
moon = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
context.bool("sky_light", gm.world.dimension.hasSkyLight() && !gm.setGamma && !gm.xrayActive);
|
||||
context.bool("moon_light", moon);
|
||||
context.color3("specular", Client.CLIENT.specularColors && !Client.CLIENT.setGamma && !Client.CLIENT.xrayActive ? 0xffffff : 0x000000);
|
||||
context.bool("shade", Client.CLIENT.flatShading || Client.CLIENT.setGamma || Client.CLIENT.xrayActive);
|
||||
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
// glBindBufferBase(GL_UNIFORM_BUFFER, 0, world->light_buf);
|
||||
}, "MAX_LIGHTS", (Supplier<Integer>)() -> Client.CLIENT.lightMaximum),
|
||||
|
||||
|
@ -100,8 +69,8 @@ public enum Shader {
|
|||
});
|
||||
|
||||
// BLIT("blit", "blit", context -> context.integer("tex", 0), context -> {
|
||||
// GL46C.glBindVertexArray(QUAD);
|
||||
// GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
// GL46.glBindVertexArray(QUAD);
|
||||
// GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
// });
|
||||
|
||||
public class ShaderContext {
|
||||
|
@ -116,63 +85,63 @@ public enum Shader {
|
|||
}
|
||||
|
||||
public ShaderContext bool(String name, boolean x) {
|
||||
GL46C.glUniform1i(GL46C.glGetUniformLocation(this.program, name), x ? 1 : 0);
|
||||
GL46.glUniform1i(GL46.glGetUniformLocation(this.program, name), x ? 1 : 0);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext integer(String name, int x) {
|
||||
GL46C.glUniform1i(GL46C.glGetUniformLocation(this.program, name), x);
|
||||
GL46.glUniform1i(GL46.glGetUniformLocation(this.program, name), x);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext vec(String name, float x) {
|
||||
GL46C.glUniform1f(GL46C.glGetUniformLocation(this.program, name), x);
|
||||
GL46.glUniform1f(GL46.glGetUniformLocation(this.program, name), x);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext vec(String name, float x, float y) {
|
||||
GL46C.glUniform2f(GL46C.glGetUniformLocation(this.program, name), x, y);
|
||||
GL46.glUniform2f(GL46.glGetUniformLocation(this.program, name), x, y);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext vec(String name, float x, float y, float z) {
|
||||
GL46C.glUniform3f(GL46C.glGetUniformLocation(this.program, name), x, y, 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) {
|
||||
GL46C.glUniform4f(GL46C.glGetUniformLocation(this.program, name), x, y, z, w);
|
||||
GL46.glUniform4f(GL46.glGetUniformLocation(this.program, name), x, y, z, w);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext vec(String name, Vec3 vec) {
|
||||
GL46C.glUniform3f(GL46C.glGetUniformLocation(this.program, name), (float)vec.xCoord, (float)vec.yCoord, (float)vec.zCoord);
|
||||
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) {
|
||||
GL46C.glUniform3f(GL46C.glGetUniformLocation(this.program, name), vec.x, vec.y, vec.z);
|
||||
GL46.glUniform3f(GL46.glGetUniformLocation(this.program, name), vec.x, vec.y, vec.z);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext vec(String name, Vector4f vec) {
|
||||
GL46C.glUniform4f(GL46C.glGetUniformLocation(this.program, name), vec.x, vec.y, vec.z, vec.w);
|
||||
GL46.glUniform4f(GL46.glGetUniformLocation(this.program, name), vec.x, vec.y, vec.z, vec.w);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext matrix(String name, FloatBuffer mat) {
|
||||
GL46C.glUniformMatrix4fv(GL46C.glGetUniformLocation(this.program, name), false, mat);
|
||||
GL46.glUniformMatrix4fv(GL46.glGetUniformLocation(this.program, name), false, mat);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext matrix(String name, Matrix4f mat) {
|
||||
mat.store(BUFFER);
|
||||
GL46C.glUniformMatrix4fv(GL46C.glGetUniformLocation(this.program, name), false, BUFFER);
|
||||
GL46.glUniformMatrix4fv(GL46.glGetUniformLocation(this.program, name), false, BUFFER);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShaderContext color(String name, int color) {
|
||||
GL46C.glUniform4f(GL46C.glGetUniformLocation(this.program, name),
|
||||
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
|
||||
);
|
||||
|
@ -180,7 +149,7 @@ public enum Shader {
|
|||
}
|
||||
|
||||
public ShaderContext color3(String name, int color) {
|
||||
GL46C.glUniform3f(GL46C.glGetUniformLocation(this.program, name),
|
||||
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
|
||||
);
|
||||
|
@ -190,7 +159,7 @@ public enum Shader {
|
|||
public void finish() {
|
||||
if(context != this)
|
||||
throw new IllegalStateException("Der Shader-Kontext wird nicht mehr verwendet");
|
||||
GL46C.glUseProgram(0);
|
||||
GL46.glUseProgram(0);
|
||||
context = null;
|
||||
}
|
||||
}
|
||||
|
@ -249,44 +218,44 @@ public enum Shader {
|
|||
|
||||
private boolean compile(String vcode, String fcode) {
|
||||
String include = this.buildInclude();
|
||||
int vs = GL46C.glCreateShader(GL46C.GL_VERTEX_SHADER);
|
||||
GL46C.glShaderSource(vs, "#version 460 core\n" + include + vcode);
|
||||
GL46C.glCompileShader(vs);
|
||||
int ok = GL46C.glGetShaderi(vs, GL46C.GL_COMPILE_STATUS);
|
||||
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(GL46C.glGetShaderInfoLog(vs));
|
||||
Log.RENDER.error(GL46.glGetShaderInfoLog(vs));
|
||||
Log.RENDER.error("Fehler beim Kompilieren des Vertex-Shaders '%s'", this.vertex);
|
||||
GL46C.glDeleteShader(vs);
|
||||
GL46.glDeleteShader(vs);
|
||||
return false;
|
||||
}
|
||||
int fs = GL46C.glCreateShader(GL46C.GL_FRAGMENT_SHADER);
|
||||
GL46C.glShaderSource(fs, "#version 460 core\n" + include + fcode);
|
||||
GL46C.glCompileShader(fs);
|
||||
ok = GL46C.glGetShaderi(fs, GL46C.GL_COMPILE_STATUS);
|
||||
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(GL46C.glGetShaderInfoLog(fs));
|
||||
Log.RENDER.error(GL46.glGetShaderInfoLog(fs));
|
||||
Log.RENDER.error("Fehler beim Kompilieren des Fragment-Shaders '%s'", this.fragment);
|
||||
GL46C.glDeleteShader(vs);
|
||||
GL46C.glDeleteShader(fs);
|
||||
GL46.glDeleteShader(vs);
|
||||
GL46.glDeleteShader(fs);
|
||||
return false;
|
||||
}
|
||||
int pr = GL46C.glCreateProgram();
|
||||
GL46C.glAttachShader(pr, vs);
|
||||
GL46C.glAttachShader(pr, fs);
|
||||
GL46C.glLinkProgram(pr);
|
||||
ok = GL46C.glGetProgrami(pr, GL46C.GL_LINK_STATUS);
|
||||
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(GL46C.glGetProgramInfoLog(pr));
|
||||
Log.RENDER.error(GL46.glGetProgramInfoLog(pr));
|
||||
Log.RENDER.error("Fehler beim Verbinden des Shader-Programms '%s' / '%s'", this.vertex, this.fragment);
|
||||
GL46C.glDeleteShader(vs);
|
||||
GL46C.glDeleteShader(fs);
|
||||
GL46C.glDeleteProgram(pr);
|
||||
GL46.glDeleteShader(vs);
|
||||
GL46.glDeleteShader(fs);
|
||||
GL46.glDeleteProgram(pr);
|
||||
return false;
|
||||
}
|
||||
GL46C.glDeleteShader(vs);
|
||||
GL46C.glDeleteShader(fs);
|
||||
GL46.glDeleteShader(vs);
|
||||
GL46.glDeleteShader(fs);
|
||||
if(this.program != 0) {
|
||||
GL46C.glDeleteProgram(this.program);
|
||||
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 {
|
||||
|
@ -294,7 +263,7 @@ public enum Shader {
|
|||
}
|
||||
this.program = pr;
|
||||
if(this.init != null) {
|
||||
GL46C.glUseProgram(this.program);
|
||||
GL46.glUseProgram(this.program);
|
||||
context = new ShaderContext(this.program);
|
||||
this.init.accept(context);
|
||||
context.finish();
|
||||
|
@ -325,7 +294,7 @@ public enum Shader {
|
|||
private boolean unload() {
|
||||
if(this.program == 0)
|
||||
return false;
|
||||
GL46C.glDeleteProgram(this.program);
|
||||
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;
|
||||
|
@ -334,7 +303,7 @@ public enum Shader {
|
|||
public ShaderContext use() {
|
||||
if(context != null)
|
||||
throw new IllegalStateException("Ein Shader wird bereits verwendet");
|
||||
GL46C.glUseProgram(this.program);
|
||||
GL46.glUseProgram(this.program);
|
||||
context = new ShaderContext(this.program);
|
||||
if(this.draw != null)
|
||||
this.draw.accept(context);
|
||||
|
|
93
client/src/main/java/client/renderer/Tessellator.java
Executable file
93
client/src/main/java/client/renderer/Tessellator.java
Executable file
|
@ -0,0 +1,93 @@
|
|||
package client.renderer;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
public abstract class Tessellator
|
||||
{
|
||||
private static final RenderBuffer BUFFER = new RenderBuffer(2097152);
|
||||
|
||||
public static RenderBuffer getBuffer()
|
||||
{
|
||||
return BUFFER;
|
||||
}
|
||||
|
||||
public static void draw()
|
||||
{
|
||||
BUFFER.finishDrawing();
|
||||
if (BUFFER.getVertexCount() > 0)
|
||||
{
|
||||
VertexFormat vertexformat = BUFFER.getVertexFormat();
|
||||
int i = vertexformat.getNextOffset();
|
||||
ByteBuffer bytebuffer = BUFFER.getByteBuffer();
|
||||
List<VertexFormatElement> list = vertexformat.getElements();
|
||||
|
||||
for (int j = 0; j < list.size(); ++j)
|
||||
{
|
||||
VertexFormatElement vertexformatelement = (VertexFormatElement)list.get(j);
|
||||
VertexFormatElement.EnumUsage vertexformatelement$enumusage = vertexformatelement.usage();
|
||||
int k = vertexformatelement.type().getGlConstant();
|
||||
int l = vertexformatelement.index();
|
||||
bytebuffer.position(vertexformat.getOffset(j));
|
||||
|
||||
switch (vertexformatelement$enumusage)
|
||||
{
|
||||
case POSITION:
|
||||
GL46.glVertexPointer(vertexformatelement.count(), k, i, bytebuffer);
|
||||
GL46.glEnableClientState(GL46.GL_VERTEX_ARRAY);
|
||||
break;
|
||||
|
||||
case UV:
|
||||
GL46.glClientActiveTexture(GL46.GL_TEXTURE0 + l);
|
||||
GL46.glTexCoordPointer(vertexformatelement.count(), k, i, bytebuffer);
|
||||
GL46.glEnableClientState(GL46.GL_TEXTURE_COORD_ARRAY);
|
||||
GL46.glClientActiveTexture(GL46.GL_TEXTURE0);
|
||||
break;
|
||||
|
||||
case COLOR:
|
||||
GL46.glColorPointer(vertexformatelement.count(), k, i, bytebuffer);
|
||||
GL46.glEnableClientState(GL46.GL_COLOR_ARRAY);
|
||||
break;
|
||||
|
||||
case NORMAL:
|
||||
GL46.glNormalPointer(k, i, bytebuffer);
|
||||
GL46.glEnableClientState(GL46.GL_NORMAL_ARRAY);
|
||||
}
|
||||
}
|
||||
|
||||
GL46.glDrawArrays(BUFFER.getDrawMode(), 0, BUFFER.getVertexCount());
|
||||
int i1 = 0;
|
||||
|
||||
for (int j1 = list.size(); i1 < j1; ++i1)
|
||||
{
|
||||
VertexFormatElement vertexformatelement1 = (VertexFormatElement)list.get(i1);
|
||||
VertexFormatElement.EnumUsage vertexformatelement$enumusage1 = vertexformatelement1.usage();
|
||||
int k1 = vertexformatelement1.index();
|
||||
|
||||
switch (vertexformatelement$enumusage1)
|
||||
{
|
||||
case POSITION:
|
||||
GL46.glDisableClientState(GL46.GL_VERTEX_ARRAY);
|
||||
break;
|
||||
|
||||
case UV:
|
||||
GL46.glClientActiveTexture(GL46.GL_TEXTURE0 + k1);
|
||||
GL46.glDisableClientState(GL46.GL_TEXTURE_COORD_ARRAY);
|
||||
GL46.glClientActiveTexture(GL46.GL_TEXTURE0);
|
||||
break;
|
||||
|
||||
case COLOR:
|
||||
GL46.glDisableClientState(GL46.GL_COLOR_ARRAY);
|
||||
GlState.resetColor();
|
||||
break;
|
||||
|
||||
case NORMAL:
|
||||
GL46.glDisableClientState(GL46.GL_NORMAL_ARRAY);
|
||||
}
|
||||
}
|
||||
}
|
||||
BUFFER.reset();
|
||||
}
|
||||
}
|
|
@ -2,52 +2,40 @@ package client.renderer;
|
|||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
public class VertexBuffer {
|
||||
private int id;
|
||||
private final VertexFormat format;
|
||||
private int count;
|
||||
|
||||
public VertexBuffer() {
|
||||
this.id = GL46C.glGenBuffers();
|
||||
public VertexBuffer(VertexFormat format) {
|
||||
this.format = format;
|
||||
this.id = GL46.glGenBuffers();
|
||||
}
|
||||
|
||||
public void bufferData(RenderBuffer buffer, boolean dynamic) {
|
||||
ByteBuffer buf = buffer.getByteBuffer();
|
||||
GL46C.glBindBuffer(GL46C.GL_ARRAY_BUFFER, this.id);
|
||||
GL46C.glBufferData(GL46C.GL_ARRAY_BUFFER, buf, dynamic ? GL46C.GL_DYNAMIC_DRAW : GL46C.GL_STATIC_DRAW);
|
||||
GL46C.glBindBuffer(GL46C.GL_ARRAY_BUFFER, 0);
|
||||
this.count = buf.limit() / 28;
|
||||
public void bindBuffer() {
|
||||
GL46.glBindBuffer(GL46.GL_ARRAY_BUFFER, this.id);
|
||||
}
|
||||
|
||||
public void draw() {
|
||||
if(this.count == 0)
|
||||
return;
|
||||
|
||||
GL46C.glBindBuffer(GL46C.GL_ARRAY_BUFFER, this.id);
|
||||
|
||||
GL46C.glVertexAttribPointer(0, 3, GL46C.GL_FLOAT, false, 28, 0L);
|
||||
GL46C.glEnableVertexAttribArray(0);
|
||||
GL46C.glVertexAttribPointer(1, 4, GL46C.GL_BYTE, true, 28, 12L);
|
||||
GL46C.glEnableVertexAttribArray(1);
|
||||
GL46C.glVertexAttribPointer(2, 2, GL46C.GL_FLOAT, false, 28, 16L);
|
||||
GL46C.glEnableVertexAttribArray(2);
|
||||
GL46C.glVertexAttribPointer(3, 4, GL46C.GL_UNSIGNED_BYTE, true, 28, 24L);
|
||||
GL46C.glEnableVertexAttribArray(3);
|
||||
|
||||
GL46C.glDrawArrays(GL46C.GL_TRIANGLES, 0, this.count);
|
||||
|
||||
GL46C.glDisableVertexAttribArray(0);
|
||||
GL46C.glDisableVertexAttribArray(1);
|
||||
GL46C.glDisableVertexAttribArray(2);
|
||||
GL46C.glDisableVertexAttribArray(3);
|
||||
|
||||
GL46C.glBindBuffer(GL46C.GL_ARRAY_BUFFER, 0);
|
||||
public void bufferData(ByteBuffer buffer) {
|
||||
this.bindBuffer();
|
||||
GL46.glBufferData(GL46.GL_ARRAY_BUFFER, buffer, GL46.GL_STATIC_DRAW);
|
||||
this.unbindBuffer();
|
||||
this.count = buffer.limit() / this.format.getNextOffset();
|
||||
}
|
||||
|
||||
public void delete() {
|
||||
public void drawArrays(int mode) {
|
||||
GL46.glDrawArrays(mode, 0, this.count);
|
||||
}
|
||||
|
||||
public void unbindBuffer() {
|
||||
GL46.glBindBuffer(GL46.GL_ARRAY_BUFFER, 0);
|
||||
}
|
||||
|
||||
public void deleteGlBuffers() {
|
||||
if(this.id >= 0) {
|
||||
GL46C.glDeleteBuffers(this.id);
|
||||
GL46.glDeleteBuffers(this.id);
|
||||
this.id = -1;
|
||||
}
|
||||
}
|
||||
|
|
200
client/src/main/java/client/renderer/VertexFormat.java
Executable file
200
client/src/main/java/client/renderer/VertexFormat.java
Executable file
|
@ -0,0 +1,200 @@
|
|||
package client.renderer;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import common.collect.Lists;
|
||||
import common.log.Log;
|
||||
|
||||
public class VertexFormat
|
||||
{
|
||||
private final List<VertexFormatElement> elements;
|
||||
private final List<Integer> offsets;
|
||||
|
||||
private int nextOffset;
|
||||
private int colorElementOffset;
|
||||
private List<Integer> uvOffsetsById;
|
||||
private int normalElementOffset;
|
||||
|
||||
public VertexFormat(VertexFormat vertexFormatIn)
|
||||
{
|
||||
this();
|
||||
|
||||
for (int i = 0; i < vertexFormatIn.getElementCount(); ++i)
|
||||
{
|
||||
this.addElement(vertexFormatIn.getElement(i));
|
||||
}
|
||||
|
||||
this.nextOffset = vertexFormatIn.getNextOffset();
|
||||
}
|
||||
|
||||
public VertexFormat()
|
||||
{
|
||||
this.elements = Lists.<VertexFormatElement>newArrayList();
|
||||
this.offsets = Lists.<Integer>newArrayList();
|
||||
this.nextOffset = 0;
|
||||
this.colorElementOffset = -1;
|
||||
this.uvOffsetsById = Lists.<Integer>newArrayList();
|
||||
this.normalElementOffset = -1;
|
||||
}
|
||||
|
||||
public void clear()
|
||||
{
|
||||
this.elements.clear();
|
||||
this.offsets.clear();
|
||||
this.colorElementOffset = -1;
|
||||
this.uvOffsetsById.clear();
|
||||
this.normalElementOffset = -1;
|
||||
this.nextOffset = 0;
|
||||
}
|
||||
|
||||
|
||||
public VertexFormat addElement(VertexFormatElement element)
|
||||
{
|
||||
if (element.isPosition() && this.hasPosition())
|
||||
{
|
||||
Log.RENDER.warn("VertexFormat-Fehler: Versuche eine Position vom Typ VertexFormatElement hinzuzufügen, während eine bereits existiert, ignoriere.");
|
||||
return this;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.elements.add(element);
|
||||
this.offsets.add(Integer.valueOf(this.nextOffset));
|
||||
|
||||
switch (element.usage())
|
||||
{
|
||||
case NORMAL:
|
||||
this.normalElementOffset = this.nextOffset;
|
||||
break;
|
||||
|
||||
case COLOR:
|
||||
this.colorElementOffset = this.nextOffset;
|
||||
break;
|
||||
|
||||
case UV:
|
||||
this.uvOffsetsById.add(element.index(), Integer.valueOf(this.nextOffset));
|
||||
}
|
||||
|
||||
this.nextOffset += element.size();
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasNormal()
|
||||
{
|
||||
return this.normalElementOffset >= 0;
|
||||
}
|
||||
|
||||
public int getNormalOffset()
|
||||
{
|
||||
return this.normalElementOffset;
|
||||
}
|
||||
|
||||
public boolean hasColor()
|
||||
{
|
||||
return this.colorElementOffset >= 0;
|
||||
}
|
||||
|
||||
public int getColorOffset()
|
||||
{
|
||||
return this.colorElementOffset;
|
||||
}
|
||||
|
||||
public boolean hasUvOffset(int id)
|
||||
{
|
||||
return this.uvOffsetsById.size() - 1 >= id;
|
||||
}
|
||||
|
||||
public int getUvOffsetById(int id)
|
||||
{
|
||||
return ((Integer)this.uvOffsetsById.get(id)).intValue();
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
String s = "format: " + this.elements.size() + " elements: ";
|
||||
|
||||
for (int i = 0; i < this.elements.size(); ++i)
|
||||
{
|
||||
s = s + ((VertexFormatElement)this.elements.get(i)).toString();
|
||||
|
||||
if (i != this.elements.size() - 1)
|
||||
{
|
||||
s = s + " ";
|
||||
}
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
private boolean hasPosition()
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
for (int j = this.elements.size(); i < j; ++i)
|
||||
{
|
||||
VertexFormatElement vertexformatelement = (VertexFormatElement)this.elements.get(i);
|
||||
|
||||
if (vertexformatelement.isPosition())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getIntegerSize()
|
||||
{
|
||||
return this.getNextOffset() / 4;
|
||||
}
|
||||
|
||||
public int getNextOffset()
|
||||
{
|
||||
return this.nextOffset;
|
||||
}
|
||||
|
||||
public List<VertexFormatElement> getElements()
|
||||
{
|
||||
return this.elements;
|
||||
}
|
||||
|
||||
public int getElementCount()
|
||||
{
|
||||
return this.elements.size();
|
||||
}
|
||||
|
||||
public VertexFormatElement getElement(int index)
|
||||
{
|
||||
return (VertexFormatElement)this.elements.get(index);
|
||||
}
|
||||
|
||||
public int getOffset(int p_181720_1_)
|
||||
{
|
||||
return ((Integer)this.offsets.get(p_181720_1_)).intValue();
|
||||
}
|
||||
|
||||
public boolean equals(Object p_equals_1_)
|
||||
{
|
||||
if (this == p_equals_1_)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (p_equals_1_ != null && this.getClass() == p_equals_1_.getClass())
|
||||
{
|
||||
VertexFormat vertexformat = (VertexFormat)p_equals_1_;
|
||||
return this.nextOffset != vertexformat.nextOffset ? false : (!this.elements.equals(vertexformat.elements) ? false : this.offsets.equals(vertexformat.offsets));
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public int hashCode()
|
||||
{
|
||||
int i = this.elements.hashCode();
|
||||
i = 31 * i + this.offsets.hashCode();
|
||||
i = 31 * i + this.nextOffset;
|
||||
return i;
|
||||
}
|
||||
}
|
84
client/src/main/java/client/renderer/VertexFormatElement.java
Executable file
84
client/src/main/java/client/renderer/VertexFormatElement.java
Executable file
|
@ -0,0 +1,84 @@
|
|||
package client.renderer;
|
||||
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
public record VertexFormatElement(int index, VertexFormatElement.EnumType type, VertexFormatElement.EnumUsage usage, int count) {
|
||||
public String toString() {
|
||||
return this.count + "," + this.usage.getName() + "," + this.type.getName();
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return this.type.getSize() * this.count;
|
||||
}
|
||||
|
||||
public boolean isPosition() {
|
||||
return this.usage == VertexFormatElement.EnumUsage.POSITION;
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if(this == other)
|
||||
return true;
|
||||
if(!(other instanceof VertexFormatElement))
|
||||
return false;
|
||||
VertexFormatElement elem = (VertexFormatElement)other;
|
||||
return this.count == elem.count && this.index == elem.index && this.type == elem.type && this.usage == elem.usage;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int i = this.type.hashCode();
|
||||
i = 31 * i + this.usage.hashCode();
|
||||
i = 31 * i + this.index;
|
||||
i = 31 * i + this.count;
|
||||
return i;
|
||||
}
|
||||
|
||||
public static enum EnumType {
|
||||
FLOAT(4, "Float", GL46.GL_FLOAT),
|
||||
UBYTE(1, "Unsigned Byte", GL46.GL_UNSIGNED_BYTE),
|
||||
BYTE(1, "Byte", GL46.GL_BYTE),
|
||||
USHORT(2, "Unsigned Short", GL46.GL_UNSIGNED_SHORT),
|
||||
SHORT(2, "Short", GL46.GL_SHORT),
|
||||
UINT(4, "Unsigned Int", GL46.GL_UNSIGNED_INT),
|
||||
INT(4, "Int", GL46.GL_INT);
|
||||
|
||||
private final int size;
|
||||
private final String name;
|
||||
private final int glConstant;
|
||||
|
||||
private EnumType(int size, String name, int glConstant) {
|
||||
this.size = size;
|
||||
this.name = name;
|
||||
this.glConstant = glConstant;
|
||||
}
|
||||
|
||||
public int getSize() {
|
||||
return this.size;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public int getGlConstant() {
|
||||
return this.glConstant;
|
||||
}
|
||||
}
|
||||
|
||||
public static enum EnumUsage {
|
||||
POSITION("Position"),
|
||||
NORMAL("Normal"),
|
||||
COLOR("Vertex Color"),
|
||||
UV("UV"),
|
||||
PADDING("Padding");
|
||||
|
||||
private final String name;
|
||||
|
||||
private EnumUsage(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -102,6 +102,11 @@ public class FaceBakery
|
|||
|
||||
return aint;
|
||||
}
|
||||
|
||||
private int getFaceShadeColor(Facing facing)
|
||||
{
|
||||
return this.getFaceNormal(facing);
|
||||
}
|
||||
|
||||
private int getFaceNormal(Facing facing)
|
||||
{
|
||||
|
@ -138,7 +143,7 @@ public class FaceBakery
|
|||
private void fillVertexData(int[] faceData, int vertexIndex, Facing facing, BlockPartFace partFace, float[] p_178402_5_, Sprite sprite, ModelRotation modelRotationIn, BlockPartRotation partRotation, boolean uvLocked, boolean shade, float shine)
|
||||
{
|
||||
Facing enumfacing = modelRotationIn.rotateFace(facing);
|
||||
int i = (int)((shine / 32.0f) * 127.0f) << 24 | (shade ? this.getFaceNormal(enumfacing) : 0x000000);
|
||||
int i = (int)((shine / 32.0f) * 127.0f) << 24 | (shade ? this.getFaceShadeColor(enumfacing) : 0x000000);
|
||||
VertexInformation enumfacedirection$vertexinformation = EnumFaceDirection.getFacing(facing).getVertexInformation(vertexIndex);
|
||||
Vector3f vector3f = new Vector3f(p_178402_5_[enumfacedirection$vertexinformation.xIndex], p_178402_5_[enumfacedirection$vertexinformation.yIndex], p_178402_5_[enumfacedirection$vertexinformation.zIndex]);
|
||||
this.rotatePart(vector3f, partRotation);
|
||||
|
@ -146,15 +151,15 @@ public class FaceBakery
|
|||
this.storeVertexData(faceData, j, vertexIndex, vector3f, i, sprite, partFace.uv);
|
||||
}
|
||||
|
||||
private void storeVertexData(int[] faceData, int storeIndex, int vertexIndex, Vector3f position, int normalPacked, Sprite sprite, BlockFaceUV faceUV)
|
||||
private void storeVertexData(int[] faceData, int storeIndex, int vertexIndex, Vector3f position, int shadeColor, Sprite sprite, BlockFaceUV faceUV)
|
||||
{
|
||||
int i = storeIndex * 7;
|
||||
faceData[i + 0] = Float.floatToRawIntBits(position.x);
|
||||
faceData[i] = Float.floatToRawIntBits(position.x);
|
||||
faceData[i + 1] = Float.floatToRawIntBits(position.y);
|
||||
faceData[i + 2] = Float.floatToRawIntBits(position.z);
|
||||
faceData[i + 3] = normalPacked;
|
||||
faceData[i + 3] = shadeColor;
|
||||
faceData[i + 4] = Float.floatToRawIntBits(sprite.getInterpolatedU((double)faceUV.getU(vertexIndex)));
|
||||
faceData[i + 5] = Float.floatToRawIntBits(sprite.getInterpolatedV((double)faceUV.getV(vertexIndex)));
|
||||
faceData[i + 4 + 1] = Float.floatToRawIntBits(sprite.getInterpolatedV((double)faceUV.getV(vertexIndex)));
|
||||
}
|
||||
|
||||
private void rotatePart(Vector3f p_178407_1_, BlockPartRotation partRotation)
|
||||
|
|
|
@ -192,7 +192,10 @@ public class ChunkRenderDispatcher
|
|||
{
|
||||
if (Client.CLIENT.isMainThread())
|
||||
{
|
||||
renderer.getVertexBuffer().bufferData(buf, true);
|
||||
buf.reset();
|
||||
renderer.getVertexBuffer().bufferData(buf.getByteBuffer());
|
||||
|
||||
buf.setTranslation(0.0D, 0.0D, 0.0D);
|
||||
return new ImmediateFuture();
|
||||
}
|
||||
else
|
||||
|
|
|
@ -8,7 +8,7 @@ import java.util.HashSet;
|
|||
import java.util.Set;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
|
@ -59,7 +59,7 @@ public class RenderChunk
|
|||
this.setPosition(blockPosIn);
|
||||
}
|
||||
|
||||
this.vertexBuffer = new VertexBuffer(Renderer.WORLD_FORMAT);
|
||||
this.vertexBuffer = new VertexBuffer(DefaultVertexFormats.BLOCK);
|
||||
}
|
||||
|
||||
public boolean setFrameIndex(int frameIndexIn)
|
||||
|
@ -172,10 +172,10 @@ public class RenderChunk
|
|||
compiledchunk.setLayerUsed();
|
||||
}
|
||||
|
||||
// if (compiledchunk.isLayerStarted())
|
||||
// {
|
||||
// generator.getRegionRenderCacheBuilder().finishDrawing();
|
||||
// }
|
||||
if (compiledchunk.isLayerStarted())
|
||||
{
|
||||
generator.getRegionRenderCacheBuilder().finishDrawing();
|
||||
}
|
||||
}
|
||||
|
||||
compiledchunk.setVisibility(lvt_10_1_.computeVisibility());
|
||||
|
@ -241,19 +241,20 @@ public class RenderChunk
|
|||
|
||||
private void preRenderBlocks(RenderBuffer worldRendererIn, BlockPos pos)
|
||||
{
|
||||
worldRendererIn.begin((double)(-pos.getX()), (double)(-pos.getY()), (double)(-pos.getZ()));
|
||||
worldRendererIn.begin(GL46.GL_QUADS, DefaultVertexFormats.BLOCK);
|
||||
worldRendererIn.setTranslation((double)(-pos.getX()), (double)(-pos.getY()), (double)(-pos.getZ()));
|
||||
}
|
||||
|
||||
private void initModelviewMatrix()
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glLoadIdentity();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glLoadIdentity();
|
||||
float f = 1.000001F;
|
||||
GL46C.glTranslatef(-8.0F, -8.0F, -8.0F);
|
||||
GL46C.glScalef(f, f, f);
|
||||
GL46C.glTranslatef(8.0F, 8.0F, 8.0F);
|
||||
GL46C.glGetFloatv(2982, this.modelviewMatrix);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glTranslatef(-8.0F, -8.0F, -8.0F);
|
||||
GL46.glScalef(f, f, f);
|
||||
GL46.glTranslatef(8.0F, 8.0F, 8.0F);
|
||||
GL46.glGetFloatv(2982, this.modelviewMatrix);
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
public FloatBuffer getModelviewMatrix()
|
||||
|
@ -291,7 +292,7 @@ public class RenderChunk
|
|||
this.stopCompileTask();
|
||||
this.gm = null;
|
||||
if(this.vertexBuffer != null)
|
||||
this.vertexBuffer.delete();
|
||||
this.vertexBuffer.deleteGlBuffers();
|
||||
}
|
||||
|
||||
public BlockPos getPosition()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.layers.LayerArachnoidArmor;
|
||||
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) {
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0f, 3.0f / 16.0f, 0.0f);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0f, 3.0f / 16.0f, 0.0f);
|
||||
super.renderLayers(entity, swing, amount, partial, time, dYaw, dPitch, scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
public ModelArachnoid getMainModel()
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.GlState;
|
||||
|
@ -26,10 +26,10 @@ public class RenderArrow extends Render<EntityArrow>
|
|||
{
|
||||
this.bindEntityTexture(entity);
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46C.glRotatef(entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glRotatef(entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
|
||||
// Tessellator tessellator = Tessellator.getInstance();
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
int i = 0;
|
||||
|
@ -48,21 +48,21 @@ public class RenderArrow extends Render<EntityArrow>
|
|||
if (f9 > 0.0F)
|
||||
{
|
||||
float f10 = -ExtMath.sin(f9 * 3.0F) * f9;
|
||||
GL46C.glRotatef(f10, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glRotatef(f10, 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
|
||||
GL46C.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glScalef(f8, f8, f8);
|
||||
GL46C.glTranslatef(-4.0F, 0.0F, 0.0F);
|
||||
GL46C.glNormal3f(f8, 0.0F, 0.0F);
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
|
||||
GL46.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glScalef(f8, f8, f8);
|
||||
GL46.glTranslatef(-4.0F, 0.0F, 0.0F);
|
||||
GL46.glNormal3f(f8, 0.0F, 0.0F);
|
||||
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)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)f4, (double)f7).endVertex();
|
||||
Tessellator.draw();
|
||||
GL46C.glNormal3f(-f8, 0.0F, 0.0F);
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
|
||||
GL46.glNormal3f(-f8, 0.0F, 0.0F);
|
||||
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)f5, (double)f6).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)
|
||||
{
|
||||
GL46C.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glNormal3f(0.0F, 0.0F, f8);
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
|
||||
GL46.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glNormal3f(0.0F, 0.0F, f8);
|
||||
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)f1, (double)f2).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();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.model.ModelBat;
|
||||
import common.entity.animal.EntityBat;
|
||||
|
@ -30,18 +30,18 @@ public class RenderBat extends RenderLiving<EntityBat>
|
|||
*/
|
||||
protected void preRenderCallback(EntityBat entitylivingbaseIn, float partialTickTime)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
if (!bat.getIsBatHanging())
|
||||
{
|
||||
GL46C.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
|
||||
{
|
||||
GL46C.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);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.texture.TextureMap;
|
||||
|
@ -21,13 +21,13 @@ public class RenderBlockEntity extends Render<Entity>
|
|||
|
||||
public void doRender(Entity entity, double x, double y, double z, float partialTicks)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y + 0.5F, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y + 0.5F, (float)z);
|
||||
this.bindEntityTexture(entity);
|
||||
GL46C.glTranslatef(-0.5F, -0.5F, 0.5F);
|
||||
GL46.glTranslatef(-0.5F, -0.5F, 0.5F);
|
||||
Client.CLIENT.renderer.renderBlockEntity(this.state, new BlockPos(entity.posX, entity.posY + (double)entity.getEyeHeight(), entity.posZ));
|
||||
GL46C.glTranslatef(0.0F, 0.0F, 1.0F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glTranslatef(0.0F, 0.0F, 1.0F);
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.model.ModelBase;
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y + 0.25F, (float)z);
|
||||
GL46C.glRotatef(180.0F - (entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks), 0.0F, 1.0F, 0.0F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y + 0.25F, (float)z);
|
||||
GL46.glRotatef(180.0F - (entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks), 0.0F, 1.0F, 0.0F);
|
||||
float f = (float)entity.getTimeSinceHit() - partialTicks;
|
||||
float f1 = (float)entity.getDamageTaken() - partialTicks;
|
||||
|
||||
|
@ -39,16 +39,16 @@ public class RenderBoat extends Render<EntityBoat>
|
|||
|
||||
if (f > 0.0F)
|
||||
{
|
||||
GL46C.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;
|
||||
GL46C.glScalef(f2, f2, f2);
|
||||
GL46C.glScalef(1.0F / f2, 1.0F / f2, 1.0F / f2);
|
||||
GL46.glScalef(f2, f2, f2);
|
||||
GL46.glScalef(1.0F / f2, 1.0F / f2, 1.0F / f2);
|
||||
this.bindEntityTexture(entity);
|
||||
GL46C.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);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.GlState;
|
||||
|
@ -22,10 +22,10 @@ public class RenderBullet extends Render<EntityBullet>
|
|||
{
|
||||
this.bindEntityTexture(entity);
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46C.glRotatef(entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glRotatef(entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks - 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks, 0.0F, 0.0F, 1.0F);
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
float f = 0.0F;
|
||||
float f1 = 0.5F;
|
||||
|
@ -38,18 +38,18 @@ public class RenderBullet extends Render<EntityBullet>
|
|||
float f8 = 0.05625F;
|
||||
GlState.enableRescaleNormal();
|
||||
|
||||
GL46C.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glScalef(f8, f8, f8);
|
||||
GL46C.glTranslatef(-4.0F, 0.0F, 0.0F);
|
||||
GL46C.glNormal3f(f8, 0.0F, 0.0F);
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
|
||||
GL46.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glScalef(f8, f8, f8);
|
||||
GL46.glTranslatef(-4.0F, 0.0F, 0.0F);
|
||||
GL46.glNormal3f(f8, 0.0F, 0.0F);
|
||||
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)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)f4, (double)f7).endVertex();
|
||||
Tessellator.draw();
|
||||
GL46C.glNormal3f(-f8, 0.0F, 0.0F);
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
|
||||
GL46.glNormal3f(-f8, 0.0F, 0.0F);
|
||||
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)f5, (double)f6).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)
|
||||
{
|
||||
GL46C.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glNormal3f(0.0F, 0.0F, f8);
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
|
||||
GL46.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glNormal3f(0.0F, 0.0F, f8);
|
||||
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)f1, (double)f2).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();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.model.ModelBase;
|
||||
import common.entity.animal.EntityCat;
|
||||
|
@ -50,7 +50,7 @@ public class RenderCat extends RenderLiving<EntityCat>
|
|||
|
||||
if (entitylivingbaseIn.isTamed())
|
||||
{
|
||||
GL46C.glScalef(0.8F, 0.8F, 0.8F);
|
||||
GL46.glScalef(0.8F, 0.8F, 0.8F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.model.ModelBase;
|
||||
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)
|
||||
{
|
||||
float f = (float)entity.innerRotation + partialTicks;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
this.bindTexture(crystalTextures);
|
||||
float f1 = ExtMath.sin(f * 0.2F) / 2.0F + 0.5F;
|
||||
f1 = f1 * f1 + f1;
|
||||
this.modelCrystal.render(entity, 0.0F, f * 3.0F, f1 * 0.2F, 0.0F, 0.0F, 0.0625F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
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) {
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y + 0.05F, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y + 0.05F, (float)z);
|
||||
this.bindEntityTexture(entity);
|
||||
if(entity.getValue() == 0)
|
||||
GL46C.glRotatef((float)((entity.ticksExisted % 10) * (360 / 10)), 0.3f, 0.4f, 0.1f);
|
||||
GL46C.glScalef(-0.1f, -0.1f, 0.1f);
|
||||
GL46.glRotatef((float)((entity.ticksExisted % 10) * (360 / 10)), 0.3f, 0.4f, 0.1f);
|
||||
GL46.glScalef(-0.1f, -0.1f, 0.1f);
|
||||
GlState.disableCull();
|
||||
this.model.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
|
||||
GlState.enableCull();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,68 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.RenderBuffer;
|
||||
import client.renderer.Tessellator;
|
||||
import common.entity.Entity;
|
||||
import common.util.BoundingBox;
|
||||
|
||||
public class RenderEntity extends Render<Entity> {
|
||||
public RenderEntity(RenderManager renderManagerIn) {
|
||||
super(renderManagerIn);
|
||||
}
|
||||
|
||||
protected String getEntityTexture(Entity entity) {
|
||||
return null;
|
||||
}
|
||||
public class RenderEntity extends Render<Entity>
|
||||
{
|
||||
public static void renderOffsetAABB(BoundingBox bb, double x, double y, double z)
|
||||
{
|
||||
GlState.disableTexture2D();
|
||||
RenderBuffer rb = Tessellator.getBuffer();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
rb.setTranslation(x, y, z);
|
||||
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.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.minX, bb.minY, bb.minZ).normal(0.0F, 0.0F, -1.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.minY, bb.maxZ).normal(0.0F, 0.0F, 1.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.minY, bb.maxZ).normal(0.0F, 0.0F, 1.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.maxY, bb.maxZ).normal(0.0F, 0.0F, 1.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.maxY, bb.maxZ).normal(0.0F, 0.0F, 1.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.minY, bb.minZ).normal(0.0F, -1.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.minY, bb.minZ).normal(0.0F, -1.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.minY, bb.maxZ).normal(0.0F, -1.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.minY, bb.maxZ).normal(0.0F, -1.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.maxY, bb.maxZ).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.maxY, bb.maxZ).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.maxY, bb.minZ).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.maxY, bb.minZ).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.minY, bb.maxZ).normal(-1.0F, 0.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.maxY, bb.maxZ).normal(-1.0F, 0.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.maxY, bb.minZ).normal(-1.0F, 0.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.minX, bb.minY, bb.minZ).normal(-1.0F, 0.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.minY, bb.minZ).normal(1.0F, 0.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.maxY, bb.minZ).normal(1.0F, 0.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.maxY, bb.maxZ).normal(1.0F, 0.0F, 0.0F).endVertex();
|
||||
rb.pos(bb.maxX, bb.minY, bb.maxZ).normal(1.0F, 0.0F, 0.0F).endVertex();
|
||||
Tessellator.draw();
|
||||
rb.setTranslation(0.0D, 0.0D, 0.0D);
|
||||
GlState.enableTexture2D();
|
||||
}
|
||||
|
||||
public RenderEntity(RenderManager renderManagerIn)
|
||||
{
|
||||
super(renderManagerIn);
|
||||
}
|
||||
|
||||
public void doRender(Entity entity, double x, double y, double z, float partialTicks)
|
||||
{
|
||||
GL46.glPushMatrix();
|
||||
renderOffsetAABB(entity.getEntityBoundingBox(), x - entity.lastTickPosX, y - entity.lastTickPosY, z - entity.lastTickPosZ);
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
protected String getEntityTexture(Entity entity)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.blockmodel.IBakedModel;
|
||||
|
@ -39,12 +39,12 @@ public class RenderEntityItem extends Render<EntityItem>
|
|||
int i = this.getMultiplier(itemstack);
|
||||
float f = 0.25F;
|
||||
float f1 = ExtMath.sin(((float)itemIn.getAge() + p_177077_8_) / 10.0F + itemIn.hoverStart) * 0.1F + 0.1F;
|
||||
GL46C.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)
|
||||
{
|
||||
float f3 = (((float)itemIn.getAge() + p_177077_8_) / 20.0F + itemIn.hoverStart) * (180F / (float)Math.PI);
|
||||
GL46C.glRotatef(f3, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(f3, 0.0F, 1.0F, 0.0F);
|
||||
}
|
||||
|
||||
if (!flag)
|
||||
|
@ -52,7 +52,7 @@ public class RenderEntityItem extends Render<EntityItem>
|
|||
float f6 = -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;
|
||||
GL46C.glTranslatef(f6, f4, f5);
|
||||
GL46.glTranslatef(f6, f4, f5);
|
||||
}
|
||||
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
@ -102,10 +102,10 @@ public class RenderEntityItem extends Render<EntityItem>
|
|||
// }
|
||||
|
||||
GlState.enableRescaleNormal();
|
||||
GlState.alphaFunc(GL46C.GL_GREATER, 0.1F);
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
|
||||
GlState.enableBlend();
|
||||
GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ZERO);
|
||||
GL46C.glPushMatrix();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
GL46.glPushMatrix();
|
||||
IBakedModel ibakedmodel = this.itemRenderer.getItemModelMesher().getItemModel(itemstack);
|
||||
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())
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
|
||||
if (j > 0)
|
||||
{
|
||||
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 f2 = (this.field_177079_e.floatv() * 2.0F - 1.0F) * 0.15F;
|
||||
GL46C.glTranslatef(f, f1, f2);
|
||||
GL46.glTranslatef(f, f1, f2);
|
||||
}
|
||||
|
||||
GL46C.glScalef(0.5F, 0.5F, 0.5F);
|
||||
GL46.glScalef(0.5F, 0.5F, 0.5F);
|
||||
this.itemRenderer.renderItem(itemstack, ibakedmodel);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
else
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.itemRenderer.renderItem(itemstack, ibakedmodel);
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glTranslatef(0.0F, 0.0F, 0.046875F);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glTranslatef(0.0F, 0.0F, 0.046875F);
|
||||
}
|
||||
}
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GlState.disableRescaleNormal();
|
||||
GlState.disableBlend();
|
||||
this.bindEntityTexture(entity);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.texture.TextureMap;
|
||||
|
@ -25,13 +25,13 @@ public class RenderFallingBlock extends Render<EntityFalling> {
|
|||
|
||||
if(state != world.getState(pos) && block != Blocks.air && !block.getMaterial().isLiquid()) {
|
||||
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y + 0.5F, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y + 0.5F, (float)z);
|
||||
this.bindEntityTexture(entity);
|
||||
GL46C.glTranslatef(-0.5F, -0.5F, 0.5F);
|
||||
GL46.glTranslatef(-0.5F, -0.5F, 0.5F);
|
||||
Client.CLIENT.renderer.renderBlockEntity(state, new BlockPos(entity.posX, entity.posY + (double)entity.getEyeHeight(), entity.posZ));
|
||||
GL46C.glTranslatef(0.0F, 0.0F, 1.0F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glTranslatef(0.0F, 0.0F, 1.0F);
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.bindEntityTexture(entity);
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
GlState.enableRescaleNormal();
|
||||
GL46C.glScalef(this.scale, this.scale, this.scale);
|
||||
GL46.glScalef(this.scale, this.scale, this.scale);
|
||||
Sprite textureatlassprite = Client.CLIENT.getRenderItem().getItemModelMesher().getParticleIcon(Items.fireball);
|
||||
// Tessellator tessellator = Tessellator.getInstance();
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
|
@ -43,16 +43,16 @@ public class RenderFireball extends Render<EntityProjectile>
|
|||
float f4 = 1.0F;
|
||||
float f5 = 0.5F;
|
||||
float f6 = 0.25F;
|
||||
GL46C.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
GL46.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
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)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)f, (double)f2).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
Tessellator.draw();
|
||||
GlState.disableRescaleNormal();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
GlState.enableRescaleNormal();
|
||||
GL46C.glScalef(0.5F, 0.5F, 0.5F);
|
||||
GL46.glScalef(0.5F, 0.5F, 0.5F);
|
||||
this.bindEntityTexture(entity);
|
||||
// Tessellator tessellator = Tessellator.getInstance();
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
|
@ -41,16 +41,16 @@ public class RenderFish extends Render<EntityHook>
|
|||
float f4 = 1.0F;
|
||||
float f5 = 0.5F;
|
||||
float f6 = 0.5F;
|
||||
GL46C.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX_NORMAL);
|
||||
GL46.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
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.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.0D, 0.0D).normal(0.0F, 1.0F, 0.0F).endVertex();
|
||||
Tessellator.draw();
|
||||
GlState.disableRescaleNormal();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
|
||||
if (entity.angler != null)
|
||||
{
|
||||
|
@ -87,7 +87,7 @@ public class RenderFish extends Render<EntityHook>
|
|||
double d12 = (double)((float)(d2 - d7));
|
||||
GlState.disableTexture2D();
|
||||
GlState.disableLighting();
|
||||
worldrenderer.begin(GL46C.GL_LINE_STRIP, DefaultVertexFormats.POSITION_COLOR);
|
||||
worldrenderer.begin(GL46.GL_LINE_STRIP, DefaultVertexFormats.POSITION_COLOR);
|
||||
int k = 16;
|
||||
|
||||
for (int l = 0; l <= 16; ++l)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GlState.disableCull();
|
||||
float f = this.func_82400_a(entity.prevYaw, entity.rotYaw, partialTicks);
|
||||
float f1 = entity.prevPitch + (entity.rotPitch - entity.prevPitch) * partialTicks;
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46C.glRotatef((float)(entity.ticksExisted % 100) * 360.0f / 100.0f, 0.3f, 0.4f, 0.1f);
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glRotatef((float)(entity.ticksExisted % 100) * 360.0f / 100.0f, 0.3f, 0.4f, 0.1f);
|
||||
float f2 = 0.0625F;
|
||||
GlState.enableRescaleNormal();
|
||||
GL46C.glScalef(-1.0F, -1.0F, 1.0F);
|
||||
GL46.glScalef(-1.0F, -1.0F, 1.0F);
|
||||
GlState.enableAlpha();
|
||||
this.bindEntityTexture(entity);
|
||||
this.boxModel.render(entity, 0.0F, 0.0F, 0.0F, f, f1, f2);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ package client.renderer.entity;
|
|||
|
||||
import java.util.Set;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.model.ModelHorse;
|
||||
|
@ -40,7 +40,7 @@ public class RenderHorse extends RenderLiving<EntityHorse>
|
|||
f *= 0.92F;
|
||||
}
|
||||
|
||||
GL46C.glScalef(f, f, f);
|
||||
GL46.glScalef(f, f, f);
|
||||
super.preRenderCallback(entitylivingbaseIn, partialTickTime);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.layers.LayerArmor;
|
||||
|
@ -178,7 +178,7 @@ public class RenderHumanoid extends RenderNpc
|
|||
// SKC.glScalef(f2, f3, f2);
|
||||
// }
|
||||
float f = entitylivingbaseIn.getRenderScale(); // 0.9375F;
|
||||
GL46C.glScalef(f, f, f);
|
||||
GL46.glScalef(f, f, f);
|
||||
}
|
||||
|
||||
// protected int getColorMultiplier(EntityNPC entitylivingbaseIn, float lightBrightness, float partialTickTime)
|
||||
|
|
|
@ -2,7 +2,7 @@ package client.renderer.entity;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.GlState;
|
||||
|
@ -67,7 +67,7 @@ public class RenderItem
|
|||
private void renderModel(IBakedModel model, int color, ItemStack stack)
|
||||
{
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
worldrenderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.ITEM);
|
||||
worldrenderer.begin(GL46.GL_QUADS, DefaultVertexFormats.ITEM);
|
||||
|
||||
for (Facing enumfacing : Facing.values())
|
||||
{
|
||||
|
@ -82,31 +82,31 @@ public class RenderItem
|
|||
{
|
||||
if (stack != null)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(0.5F, 0.5F, 0.5F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(0.5F, 0.5F, 0.5F);
|
||||
|
||||
if (model.isBuiltin())
|
||||
{
|
||||
GL46C.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
GL46.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GlState.enableRescaleNormal();
|
||||
this.renderBuiltin(stack);
|
||||
}
|
||||
else
|
||||
{
|
||||
GL46C.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
GL46.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||
this.renderModel(model, stack);
|
||||
}
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
private void renderBuiltin(ItemStack stack) {
|
||||
if(stack.getItem() instanceof ItemArmor armor) {
|
||||
this.stack = stack;
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
float offset = 0.0f;
|
||||
switch(armor.getArmorType()) {
|
||||
case HELMET:
|
||||
|
@ -128,9 +128,9 @@ public class RenderItem
|
|||
offset = 0.0f;
|
||||
break;
|
||||
}
|
||||
GL46C.glTranslatef(1.0f, offset, 0.0f);
|
||||
GL46C.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL46C.glScalef(1.4f, -1.4f, 1.4f);
|
||||
GL46.glTranslatef(1.0f, offset, 0.0f);
|
||||
GL46.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL46.glScalef(1.4f, -1.4f, 1.4f);
|
||||
boolean cull = GlState.isCullEnabled();
|
||||
if(cull)
|
||||
GlState.disableCull();
|
||||
|
@ -142,14 +142,14 @@ public class RenderItem
|
|||
//
|
||||
if(cull)
|
||||
GlState.enableCull();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
this.stack = null;
|
||||
}
|
||||
else if(stack.getItem() instanceof ItemAnimalArmor horseArmor) {
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.9f, 0.5f, 0.0f);
|
||||
GL46C.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL46C.glScalef(0.85f, -0.85f, 0.85f);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.9f, 0.5f, 0.0f);
|
||||
GL46.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL46.glScalef(0.85f, -0.85f, 0.85f);
|
||||
Class<? extends EntityLiving> clazz = horseArmor.getArmorType().getAnimalType();
|
||||
boolean cull = GlState.isCullEnabled();
|
||||
if(cull)
|
||||
|
@ -160,7 +160,7 @@ public class RenderItem
|
|||
}
|
||||
if(cull)
|
||||
GlState.enableCull();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -214,7 +214,7 @@ public class RenderItem
|
|||
|
||||
if (!flag)
|
||||
{
|
||||
GL46C.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);
|
||||
|
@ -254,45 +254,45 @@ public class RenderItem
|
|||
this.manager.bindTexture(TextureMap.BLOCKS);
|
||||
this.preTransform(stack);
|
||||
GlState.enableRescaleNormal();
|
||||
GlState.alphaFunc(GL46C.GL_GREATER, 0.1F);
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
|
||||
GlState.enableBlend();
|
||||
GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ZERO);
|
||||
GL46C.glPushMatrix();
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
GL46.glPushMatrix();
|
||||
if(transform) {
|
||||
WieldType type = stack.getItem().getWieldType();
|
||||
if(third && type != null) {
|
||||
switch(type) {
|
||||
case TOOL_FLIP:
|
||||
GL46C.glTranslatef(0.0f, 0.0f, -3.5f * 0.0625f);
|
||||
GL46C.glRotatef(90.0f, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(180.0f, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glScalef(0.85f, 0.85f, 0.85f);
|
||||
GL46.glTranslatef(0.0f, 0.0f, -3.5f * 0.0625f);
|
||||
GL46.glRotatef(90.0f, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(180.0f, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glScalef(0.85f, 0.85f, 0.85f);
|
||||
break;
|
||||
case TOOL:
|
||||
GL46C.glTranslatef(0.0f, 1.25f * 0.0625f, -3.5f * 0.0625f);
|
||||
GL46C.glRotatef(90.0f, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glScalef(0.85f, 0.85f, 0.85f);
|
||||
GL46.glTranslatef(0.0f, 1.25f * 0.0625f, -3.5f * 0.0625f);
|
||||
GL46.glRotatef(90.0f, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-35.0f, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glScalef(0.85f, 0.85f, 0.85f);
|
||||
break;
|
||||
case RANGED:
|
||||
GL46C.glTranslatef(0.75f * 0.0625f, 0.0f, 0.25f * 0.0625f);
|
||||
GL46C.glRotatef(80.0f, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(5.0f, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(-45.0f, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glTranslatef(0.75f * 0.0625f, 0.0f, 0.25f * 0.0625f);
|
||||
GL46.glRotatef(80.0f, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(5.0f, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(-45.0f, 0.0F, 0.0F, 1.0F);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(!third) {
|
||||
GL46C.glTranslatef(0.0f, 4.0f * 0.0625f, 2.0f * 0.0625f);
|
||||
GL46C.glRotatef(type == WieldType.TOOL_FLIP ? 45.0f : -135.0f, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(25.0f, 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glScalef(1.7f, 1.7f, 1.7f);
|
||||
GL46.glTranslatef(0.0f, 4.0f * 0.0625f, 2.0f * 0.0625f);
|
||||
GL46.glRotatef(type == WieldType.TOOL_FLIP ? 45.0f : -135.0f, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(25.0f, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glScalef(1.7f, 1.7f, 1.7f);
|
||||
}
|
||||
}
|
||||
this.renderItem(stack, model);
|
||||
GlState.cullFace(GL46C.GL_BACK);
|
||||
GL46C.glPopMatrix();
|
||||
GlState.cullFace(GL46.GL_BACK);
|
||||
GL46.glPopMatrix();
|
||||
GlState.disableRescaleNormal();
|
||||
GlState.disableBlend();
|
||||
this.manager.bindTexture(TextureMap.BLOCKS);
|
||||
|
@ -301,22 +301,22 @@ public class RenderItem
|
|||
private void renderItemIntoGUI(ItemStack stack, int x, int y)
|
||||
{
|
||||
IBakedModel ibakedmodel = this.mesher.getItemModel(stack);
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.manager.bindTexture(TextureMap.BLOCKS);
|
||||
GlState.enableRescaleNormal();
|
||||
GlState.enableAlpha();
|
||||
GlState.alphaFunc(GL46C.GL_GREATER, 0.1F);
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
|
||||
GlState.enableBlend();
|
||||
GlState.blendFunc(GL46C.GL_SRC_ALPHA, GL46C.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);
|
||||
this.setupGuiTransform(x, y, ibakedmodel.isGui3d());
|
||||
GuiPosition vec = ibakedmodel.getTransforms();
|
||||
if(vec != GuiPosition.NORMAL) {
|
||||
GL46C.glTranslatef(vec.translationX(), vec.translationY(), vec.translationZ());
|
||||
GL46C.glRotatef(vec.rotationY(), 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(vec.rotationX(), 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(vec.rotationZ(), 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glScalef(vec.scale(), vec.scale(), vec.scale());
|
||||
GL46.glTranslatef(vec.translationX(), vec.translationY(), vec.translationZ());
|
||||
GL46.glRotatef(vec.rotationY(), 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(vec.rotationX(), 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(vec.rotationZ(), 0.0F, 0.0F, 1.0F);
|
||||
GL46.glScalef(vec.scale(), vec.scale(), vec.scale());
|
||||
}
|
||||
boolean cull = GlState.isCullEnabled();
|
||||
if(!cull)
|
||||
|
@ -327,28 +327,28 @@ public class RenderItem
|
|||
GlState.disableAlpha();
|
||||
GlState.disableRescaleNormal();
|
||||
GlState.disableLighting();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
this.manager.bindTexture(TextureMap.BLOCKS);
|
||||
}
|
||||
|
||||
private void setupGuiTransform(int xPosition, int yPosition, boolean isGui3d)
|
||||
{
|
||||
GL46C.glTranslatef((float)xPosition, (float)yPosition, 100.0F + this.zLevel);
|
||||
GL46C.glTranslatef(8.0F, 8.0F, 0.0F);
|
||||
GL46C.glScalef(1.0F, 1.0F, -1.0F);
|
||||
GL46C.glScalef(0.5F, 0.5F, 0.5F);
|
||||
GL46.glTranslatef((float)xPosition, (float)yPosition, 100.0F + this.zLevel);
|
||||
GL46.glTranslatef(8.0F, 8.0F, 0.0F);
|
||||
GL46.glScalef(1.0F, 1.0F, -1.0F);
|
||||
GL46.glScalef(0.5F, 0.5F, 0.5F);
|
||||
|
||||
if (isGui3d)
|
||||
{
|
||||
GL46C.glScalef(40.0F, 40.0F, 40.0F);
|
||||
GL46C.glRotatef(210.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glScalef(40.0F, 40.0F, 40.0F);
|
||||
GL46.glRotatef(210.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
|
||||
GlState.enableLighting();
|
||||
}
|
||||
else
|
||||
{
|
||||
GL46C.glScalef(64.0F, 64.0F, 64.0F);
|
||||
GL46C.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glScalef(64.0F, 64.0F, 64.0F);
|
||||
GL46.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);
|
||||
GlState.disableLighting();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
GlState.enableRescaleNormal();
|
||||
GL46C.glScalef(0.5F, 0.5F, 0.5F);
|
||||
GL46C.glRotatef(-this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glScalef(0.5F, 0.5F, 0.5F);
|
||||
GL46.glRotatef(-this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
this.bindTexture(TextureMap.BLOCKS);
|
||||
this.itemRenderer.renderItemAsGround(this.getStack(entity));
|
||||
GlState.disableRescaleNormal();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GlState.disableCull();
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
float f = 0.0625F;
|
||||
GlState.enableRescaleNormal();
|
||||
GL46C.glScalef(-1.0F, -1.0F, 1.0F);
|
||||
GL46.glScalef(-1.0F, -1.0F, 1.0F);
|
||||
GlState.enableAlpha();
|
||||
this.bindEntityTexture(entity);
|
||||
this.leashKnotModel.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, f);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.GlState;
|
||||
|
@ -27,7 +27,7 @@ public class RenderLightning extends Render<EntityLightning>
|
|||
GlState.disableTexture2D();
|
||||
GlState.disableLighting();
|
||||
GlState.enableBlend();
|
||||
GlState.blendFunc(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE);
|
||||
GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE);
|
||||
double[] adouble = new double[8];
|
||||
double[] adouble1 = new double[8];
|
||||
double d0 = 0.0D;
|
||||
|
@ -83,7 +83,7 @@ public class RenderLightning extends Render<EntityLightning>
|
|||
d3 += (double)(random1.zrange(31) - 15);
|
||||
}
|
||||
|
||||
worldrenderer.begin(GL46C.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
|
||||
worldrenderer.begin(GL46.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
|
||||
float f = 0.5F;
|
||||
float f1 = 0.45F;
|
||||
float f2 = 0.45F;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.Frustum;
|
||||
|
@ -46,7 +46,7 @@ public abstract class RenderLiving<T extends EntityLiving> extends RendererLivin
|
|||
int l = RenderManager.getBrightnessForRender(entity);
|
||||
int a = l % 65536;
|
||||
int b = l / 65536;
|
||||
GL46C.glMultiTexCoord2f(GL46C.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) {
|
||||
|
@ -95,7 +95,7 @@ public abstract class RenderLiving<T extends EntityLiving> extends RendererLivin
|
|||
GlState.disableTexture2D();
|
||||
GlState.disableLighting();
|
||||
GlState.disableCull();
|
||||
renderer.begin(GL46C.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
|
||||
renderer.begin(GL46.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
|
||||
for(int n = 0; n <= 24; ++n) {
|
||||
float cr = r;
|
||||
float cg = g;
|
||||
|
@ -118,7 +118,7 @@ public abstract class RenderLiving<T extends EntityLiving> extends RendererLivin
|
|||
).color(cr, cg, cb, 1.0F).endVertex();
|
||||
}
|
||||
Tessellator.draw();
|
||||
renderer.begin(GL46C.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
|
||||
renderer.begin(GL46.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_COLOR);
|
||||
for(int n = 0; n <= 24; ++n) {
|
||||
float cr = r;
|
||||
float cg = g;
|
||||
|
|
|
@ -2,7 +2,7 @@ package client.renderer.entity;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.init.RenderRegistry;
|
||||
|
@ -142,7 +142,7 @@ public class RenderManager {
|
|||
|
||||
int j = i % 65536;
|
||||
int k = i / 65536;
|
||||
GL46C.glMultiTexCoord2f(GL46C.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);
|
||||
return this.renderEntity(entity, d0 - this.renderPosX, d1 - this.renderPosY, d2 - this.renderPosZ, partialTicks);
|
||||
}
|
||||
|
@ -180,22 +180,22 @@ public class RenderManager {
|
|||
if(dist > (double)(maxDistance * maxDistance) || !this.gm.canRenderHud())
|
||||
return;
|
||||
float scale = 0.016666668F;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x + 0.0F, (float)y + entity.height + 0.5F, (float)z);
|
||||
GL46C.glNormal3f(0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-this.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(this.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glScalef(-scale, -scale, scale);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x + 0.0F, (float)y + entity.height + 0.5F, (float)z);
|
||||
GL46.glNormal3f(0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-this.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(this.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glScalef(-scale, -scale, scale);
|
||||
GlState.disableLighting();
|
||||
GlState.depthMask(false);
|
||||
GlState.enableBlend();
|
||||
GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.GL_ZERO);
|
||||
GlState.tryBlendFuncSeparate(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA, GL46.GL_ONE, GL46.GL_ZERO);
|
||||
GlState.depthMask(true);
|
||||
Drawing.drawTextboxCentered3d(str, 0, 0, 0x3f000000);
|
||||
Drawing.drawTextboxCentered(str, 0, 0, 0x3f000000);
|
||||
GlState.enableLighting();
|
||||
GlState.disableBlend();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
private void renderEntityFire(Entity entity, double x, double y, double z) {
|
||||
|
@ -203,21 +203,21 @@ public class RenderManager {
|
|||
TextureMap map = this.gm.getTextureMapBlocks();
|
||||
Sprite layer0 = map.getAtlasSprite("blocks/fire_layer_0");
|
||||
Sprite layer1 = map.getAtlasSprite("blocks/fire_layer_1");
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
float scale = entity.width * 1.4F;
|
||||
GL46C.glScalef(scale, scale, scale);
|
||||
GL46.glScalef(scale, scale, scale);
|
||||
RenderBuffer rb = Tessellator.getBuffer();
|
||||
float f1 = 0.5F;
|
||||
float f2 = 0.0F;
|
||||
float f3 = entity.height / scale;
|
||||
float f4 = (float)(entity.posY - entity.getEntityBoundingBox().minY);
|
||||
GL46C.glRotatef(-this.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glTranslatef(0.0F, 0.0F, -0.3F + (float)((int)f3) * 0.02F);
|
||||
GL46.glRotatef(-this.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, 0.0F, -0.3F + (float)((int)f3) * 0.02F);
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
float f5 = 0.0F;
|
||||
int i = 0;
|
||||
rb.begin(GL46C.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
|
||||
rb.begin(GL46.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
|
||||
|
||||
while(f3 > 0.0F) {
|
||||
Sprite layer = i % 2 == 0 ? layer0 : layer1;
|
||||
|
@ -245,7 +245,7 @@ public class RenderManager {
|
|||
}
|
||||
|
||||
Tessellator.draw();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GlState.enableLighting();
|
||||
}
|
||||
|
||||
|
@ -269,7 +269,7 @@ public class RenderManager {
|
|||
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
Vec3 vec3 = entityIn.getLook(partialTicks);
|
||||
worldrenderer.begin(GL46C.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 + 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();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.GlState;
|
||||
|
@ -33,14 +33,14 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
|
|||
public void doRender(T entity, double x, double y, double z, float partialTicks)
|
||||
{
|
||||
float entityYaw = entity.prevYaw + (entity.rotYaw - entity.prevYaw) * partialTicks;
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.bindEntityTexture(entity);
|
||||
long i = (long)entity.getId() * 493286711L;
|
||||
i = i * i * 4392167121L + i * 98761L;
|
||||
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 f2 = (((float)(i >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F;
|
||||
GL46C.glTranslatef(f, f1, f2);
|
||||
GL46.glTranslatef(f, f1, f2);
|
||||
double d0 = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double)partialTicks;
|
||||
double d1 = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double)partialTicks;
|
||||
double d2 = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)partialTicks;
|
||||
|
@ -76,9 +76,9 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
|
|||
}
|
||||
}
|
||||
|
||||
GL46C.glTranslatef((float)x, (float)y + 0.375F, (float)z);
|
||||
GL46C.glRotatef(180.0F - entityYaw, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-f3, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glTranslatef((float)x, (float)y + 0.375F, (float)z);
|
||||
GL46.glRotatef(180.0F - entityYaw, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-f3, 0.0F, 0.0F, 1.0F);
|
||||
float f5 = (float)entity.getRollingAmplitude() - partialTicks;
|
||||
float f6 = (float)entity.getDamage() - partialTicks;
|
||||
|
||||
|
@ -89,7 +89,7 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
|
|||
|
||||
if (f5 > 0.0F)
|
||||
{
|
||||
GL46C.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();
|
||||
|
@ -97,20 +97,20 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
|
|||
|
||||
if (iblockstate.getBlock() != Blocks.air && !iblockstate.getBlock().getMaterial().isLiquid())
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.bindTexture(TextureMap.BLOCKS);
|
||||
float f4 = 0.75F;
|
||||
GL46C.glScalef(f4, f4, f4);
|
||||
GL46C.glTranslatef(-0.5F, (float)(j - 8) / 16.0F, 0.5F);
|
||||
GL46.glScalef(f4, f4, f4);
|
||||
GL46.glTranslatef(-0.5F, (float)(j - 8) / 16.0F, 0.5F);
|
||||
this.func_180560_a(entity, partialTicks, iblockstate);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
this.bindEntityTexture(entity);
|
||||
}
|
||||
|
||||
GL46C.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);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
@ -124,8 +124,8 @@ public class RenderMinecart<T extends EntityCart> extends Render<T>
|
|||
|
||||
protected void func_180560_a(T minecart, float partialTicks, State state)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
Client.CLIENT.renderer.renderBlockEntity(state, new BlockPos(minecart.posX, minecart.posY + (double)minecart.getEyeHeight(), minecart.posZ));
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.layers.LayerSlimeGel;
|
||||
import client.renderer.model.ModelSlime;
|
||||
import common.entity.npc.EntityNPC;
|
||||
import common.entity.npc.EntitySlime;
|
||||
|
@ -12,7 +13,7 @@ public class RenderSlime extends RenderNpc
|
|||
public RenderSlime(RenderManager renderManagerIn)
|
||||
{
|
||||
super(renderManagerIn, new ModelSlime(16));
|
||||
// this.addLayer(new LayerSlimeGel(this));
|
||||
this.addLayer(new LayerSlimeGel(this));
|
||||
}
|
||||
|
||||
protected void preRenderCallback(EntityNPC entitylivingbaseIn, float partialTickTime)
|
||||
|
@ -24,7 +25,7 @@ public class RenderSlime extends RenderNpc
|
|||
f1 = (slime.prevSquishFactor + (slime.squishFactor - slime.prevSquishFactor) * partialTickTime) / (f * 0.5F + 1.0F);
|
||||
}
|
||||
float f2 = 1.0F / (f1 + 1.0F);
|
||||
GL46C.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)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.layers.LayerArrow;
|
||||
import client.renderer.layers.LayerHeldItem;
|
||||
|
@ -83,7 +83,7 @@ public class RenderSpaceMarine extends RenderNpc
|
|||
protected void preRenderCallback(EntityNPC entitylivingbaseIn, float partialTickTime)
|
||||
{
|
||||
float f = entitylivingbaseIn.getRenderScale(); // 0.9375F;
|
||||
GL46C.glScalef(f, f, f);
|
||||
GL46.glScalef(f, f, f);
|
||||
}
|
||||
|
||||
// public void renderPlayerArm(EntityNPC entity)
|
||||
|
|
51
client/src/main/java/client/renderer/entity/RenderTntMinecart.java
Executable file
51
client/src/main/java/client/renderer/entity/RenderTntMinecart.java
Executable file
|
@ -0,0 +1,51 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.GlState;
|
||||
import common.entity.item.EntityTntCart;
|
||||
import common.init.Blocks;
|
||||
import common.util.ExtMath;
|
||||
import common.world.State;
|
||||
|
||||
public class RenderTntMinecart extends RenderMinecart<EntityTntCart>
|
||||
{
|
||||
public RenderTntMinecart(RenderManager renderManagerIn)
|
||||
{
|
||||
super(renderManagerIn);
|
||||
}
|
||||
|
||||
protected void func_180560_a(EntityTntCart minecart, float partialTicks, State state)
|
||||
{
|
||||
int i = minecart.getFuseTicks();
|
||||
|
||||
if (i > -1 && (float)i - partialTicks + 1.0F < 10.0F)
|
||||
{
|
||||
float f = 1.0F - ((float)i - partialTicks + 1.0F) / 10.0F;
|
||||
f = ExtMath.clampf(f, 0.0F, 1.0F);
|
||||
f = f * f;
|
||||
f = f * f;
|
||||
float f1 = 1.0F + f * 0.3F;
|
||||
GL46.glScalef(f1, f1, f1);
|
||||
}
|
||||
|
||||
super.func_180560_a(minecart, partialTicks, state);
|
||||
|
||||
if (i > -1 && i / 5 % 2 == 0)
|
||||
{
|
||||
GlState.disableTexture2D();
|
||||
GlState.disableLighting();
|
||||
GlState.enableBlend();
|
||||
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);
|
||||
GL46.glPushMatrix();
|
||||
Client.CLIENT.renderer.renderBlockEntity(Blocks.tnt.getState(), null);
|
||||
GL46.glPopMatrix();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GlState.disableBlend();
|
||||
GlState.enableLighting();
|
||||
GlState.enableTexture2D();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.GlState;
|
||||
|
@ -23,8 +23,8 @@ public class RenderTntPrimed extends Render<EntityTnt>
|
|||
public void doRender(EntityTnt entity, double x, double y, double z, float partialTicks)
|
||||
{
|
||||
Renderer renderer = Client.CLIENT.renderer;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y + 0.5F, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y + 0.5F, (float)z);
|
||||
|
||||
if ((float)entity.fuse - partialTicks + 1.0F < 10.0F)
|
||||
{
|
||||
|
@ -33,22 +33,22 @@ public class RenderTntPrimed extends Render<EntityTnt>
|
|||
f = f * f;
|
||||
f = f * f;
|
||||
float f1 = 1.0F + f * 0.3F;
|
||||
GL46C.glScalef(f1, f1, f1);
|
||||
GL46.glScalef(f1, f1, f1);
|
||||
}
|
||||
|
||||
float f2 = (1.0F - ((float)entity.fuse - partialTicks + 1.0F) / 100.0F) * 0.8F;
|
||||
this.bindEntityTexture(entity);
|
||||
GL46C.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));
|
||||
renderer.renderBlockEntity(tnt.getState(), new BlockPos(entity.posX, entity.posY + (double)entity.getEyeHeight(), entity.posZ));
|
||||
GL46C.glTranslatef(0.0F, 0.0F, 1.0F);
|
||||
GL46.glTranslatef(0.0F, 0.0F, 1.0F);
|
||||
|
||||
if (entity.fuse / 5 % 2 == 0)
|
||||
{
|
||||
GlState.disableTexture2D();
|
||||
GlState.disableLighting();
|
||||
GlState.enableBlend();
|
||||
GlState.blendFunc(GL46C.GL_SRC_ALPHA, GL46C.GL_DST_ALPHA);
|
||||
GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_DST_ALPHA);
|
||||
GlState.color(1.0F, 1.0F, 1.0F, f2);
|
||||
GlState.doPolygonOffset(-3.0F, -3.0F);
|
||||
GlState.enablePolygonOffset();
|
||||
|
@ -61,7 +61,7 @@ public class RenderTntPrimed extends Render<EntityTnt>
|
|||
GlState.enableTexture2D();
|
||||
}
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partialTicks);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.GlState;
|
||||
|
@ -17,8 +17,8 @@ public class RenderXp extends Render<EntityXp> {
|
|||
}
|
||||
|
||||
public void doRender(EntityXp entity, double x, double y, double z, float partial) {
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x, (float)y, (float)z);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x, (float)y, (float)z);
|
||||
this.bindEntityTexture(entity);
|
||||
int value = entity.getXpValue();
|
||||
float u1 = (float)(value % 4 * 16 + 0) / 64.0F;
|
||||
|
@ -31,19 +31,19 @@ public class RenderXp extends Render<EntityXp> {
|
|||
int light = RenderManager.getBrightnessForRender(entity);
|
||||
int block = light % 65536;
|
||||
int sky = light / 65536;
|
||||
GL46C.glMultiTexCoord2f(GL46C.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);
|
||||
float color = ((float)entity.xpColor + partial) / 16.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);
|
||||
int r = (int)(n * (value / 10.0f));
|
||||
int b = (int)(n * ((10 - value) / 10.0f));
|
||||
GL46C.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(180.0F - this.manager.playerViewY, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-this.manager.playerViewX, 1.0F, 0.0F, 0.0F);
|
||||
float size = 0.25F;
|
||||
GL46C.glScalef(size, size, size);
|
||||
GL46.glScalef(size, size, size);
|
||||
RenderBuffer rb = Tessellator.getBuffer();
|
||||
rb.begin(GL46C.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)
|
||||
.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)
|
||||
|
@ -55,7 +55,7 @@ public class RenderXp extends Render<EntityXp> {
|
|||
Tessellator.draw();
|
||||
GlState.disableBlend();
|
||||
GlState.disableRescaleNormal();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
super.doRender(entity, x, y, z, partial);
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.nio.ByteOrder;
|
|||
import java.nio.FloatBuffer;
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.GlState;
|
||||
|
@ -86,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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GlState.disableCull();
|
||||
this.mainModel.swingProgress = this.getSwingProgress(entity, partialTicks);
|
||||
this.mainModel.isRiding = entity.isRiding();
|
||||
|
@ -128,10 +128,10 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
|
|||
float f8 = this.handleRotationFloat(entity, partialTicks);
|
||||
this.rotateCorpse(entity, f8, f, partialTicks);
|
||||
GlState.enableRescaleNormal();
|
||||
GL46C.glScalef(-1.0F, -1.0F, 1.0F);
|
||||
GL46.glScalef(-1.0F, -1.0F, 1.0F);
|
||||
this.preRenderCallback(entity, partialTicks);
|
||||
float f4 = 0.0625F;
|
||||
GL46C.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 f6 = entity.limbSwing - entity.lswingAmount * (1.0F - partialTicks);
|
||||
|
||||
|
@ -184,11 +184,11 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
|
|||
Log.RENDER.error((Throwable)exception, (String)"Konnte Objekt nicht rendern");
|
||||
}
|
||||
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE1);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE1);
|
||||
GlState.enableTexture2D();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
GlState.enableCull();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
|
||||
if (!this.renderOutlines)
|
||||
{
|
||||
|
@ -222,23 +222,23 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
|
|||
float g = (float)(c >> 8 & 255) / 255.0F;
|
||||
float b = (float)(c & 255) / 255.0F;
|
||||
GlState.disableLighting();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
GlState.color(r, g, b, 1.0F);
|
||||
GlState.disableTexture2D();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE1);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE1);
|
||||
GlState.disableTexture2D();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void unsetOutlineColor()
|
||||
{
|
||||
GlState.enableLighting();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
GlState.enableTexture2D();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE1);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE1);
|
||||
GlState.enableTexture2D();
|
||||
GlState.setActiveTexture(GL46C.GL_TEXTURE0);
|
||||
GlState.setActiveTexture(GL46.GL_TEXTURE0);
|
||||
}
|
||||
|
||||
protected void renderModel(T entity, float x, float y, float z, float yaw, float pitch, float scale)
|
||||
|
@ -255,13 +255,13 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
|
|||
|
||||
if (ghost)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 0.3F);
|
||||
// GlState.color(entity.getRenderColor() | (vis ? 0x50000000 : 0x26000000));
|
||||
GlState.depthMask(false);
|
||||
GlState.enableBlend();
|
||||
GlState.blendFunc(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GlState.alphaFunc(GL46C.GL_GREATER, 0.003921569F);
|
||||
GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.003921569F);
|
||||
}
|
||||
|
||||
if(entity.isGlowing())
|
||||
|
@ -274,8 +274,8 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
|
|||
if (ghost)
|
||||
{
|
||||
GlState.disableBlend();
|
||||
GlState.alphaFunc(GL46C.GL_GREATER, 0.1F);
|
||||
GL46C.glPopMatrix();
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
|
||||
GL46.glPopMatrix();
|
||||
GlState.depthMask(true);
|
||||
}
|
||||
// }
|
||||
|
@ -414,12 +414,12 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
|
|||
*/
|
||||
protected void renderLivingAt(T entityLivingBaseIn, double x, double y, double z)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
|
@ -431,7 +431,7 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
|
|||
f = 1.0F;
|
||||
}
|
||||
|
||||
GL46C.glRotatef(f * this.getDeathMaxRotation(bat), 0.0F, 0.0F, 1.0F);
|
||||
GL46.glRotatef(f * this.getDeathMaxRotation(bat), 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -439,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)))
|
||||
{
|
||||
GL46C.glTranslatef(0.0F, bat.height + 0.1F, 0.0F);
|
||||
GL46C.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glTranslatef(0.0F, bat.height + 0.1F, 0.0F);
|
||||
GL46.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -515,6 +515,47 @@ public abstract class RendererLivingEntity<T extends EntityLiving> extends Rende
|
|||
{
|
||||
this.renderOutlines = renderOutlinesIn;
|
||||
}
|
||||
|
||||
protected void drawRechargeRay(Entity entity, EntityCrystal crystal, double p_180574_2_, double p_180574_4_, double p_180574_6_, float p_180574_8_)
|
||||
{
|
||||
float f = (float)crystal.innerRotation + p_180574_8_;
|
||||
float f1 = ExtMath.sin(f * 0.2F) / 2.0F + 0.5F;
|
||||
f1 = (f1 * f1 + f1) * 0.2F;
|
||||
float f2 = (float)(crystal.posX - entity.posX - (entity.prevX - entity.posX) * (double)(1.0F - p_180574_8_));
|
||||
float f3 = (float)((double)f1 + crystal.posY - 1.0D - entity.posY - (entity.prevY - entity.posY) * (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 f6 = ExtMath.sqrtf(f2 * f2 + f3 * f3 + f4 * f4);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)p_180574_2_, (float)p_180574_4_ + 2.0F, (float)p_180574_6_);
|
||||
GL46.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)f5, (double)f3)) * 180.0F / (float)Math.PI - 90.0F, 1.0F, 0.0F, 0.0F);
|
||||
// Tessellator tessellator = Tessellator.getInstance();
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
ItemRenderer.disableStandardItemLighting();
|
||||
GlState.disableCull();
|
||||
this.bindTexture(crystalBeamTextures);
|
||||
GlState.shadeModel(GL46.GL_SMOOTH);
|
||||
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;
|
||||
worldrenderer.begin(GL46.GL_TRIANGLE_STRIP, DefaultVertexFormats.POSITION_TEX_COLOR);
|
||||
int i = 8;
|
||||
|
||||
for (int j = 0; j <= 8; ++j)
|
||||
{
|
||||
float f9 = ExtMath.sin((float)(j % 8) * (float)Math.PI * 2.0F / 8.0F) * 0.75F;
|
||||
float f10 = ExtMath.cos((float)(j % 8) * (float)Math.PI * 2.0F / 8.0F) * 0.75F;
|
||||
float f11 = (float)(j % 8) * 1.0F / 8.0F;
|
||||
worldrenderer.pos((double)(f9 * 0.2F), (double)(f10 * 0.2F), 0.0D).tex((double)f11, (double)f8).color(0, 0, 0, 255).endVertex();
|
||||
worldrenderer.pos((double)f9, (double)f10, (double)f6).tex((double)f11, (double)f7).color(255, 255, 255, 255).endVertex();
|
||||
}
|
||||
|
||||
Tessellator.draw();
|
||||
GlState.enableCull();
|
||||
GlState.shadeModel(GL46.GL_FLAT);
|
||||
ItemRenderer.enableStandardItemLighting();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
static
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@ package client.renderer.layers;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.GlState;
|
||||
|
@ -19,6 +19,7 @@ import common.util.Equipment;
|
|||
|
||||
public class LayerArmor implements LayerRenderer<EntityNPC>
|
||||
{
|
||||
protected static final String ENCHANTED_ITEM_GLINT_RES = "textures/glint.png";
|
||||
private static final Equipment[] SLOTS;
|
||||
|
||||
static {
|
||||
|
@ -92,6 +93,8 @@ public class LayerArmor implements LayerRenderer<EntityNPC>
|
|||
}
|
||||
GlState.color(this.colorR, this.colorG, this.colorB, this.alpha);
|
||||
t.render(entitylivingbaseIn, limbSwing, limbSwingAmount, yaw, pitch, factor, scale);
|
||||
if (itemstack.isItemEnchanted())
|
||||
this.renderGlint(entitylivingbaseIn, t, limbSwing, limbSwingAmount, partial, yaw, pitch, factor, scale);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -110,6 +113,44 @@ public class LayerArmor implements LayerRenderer<EntityNPC>
|
|||
return armorSlot == Equipment.LEGGINGS;
|
||||
}
|
||||
|
||||
private void renderGlint(EntityLiving entitylivingbaseIn, ModelArmor modelbaseIn, float p_177183_3_, float p_177183_4_, float partialTicks, float p_177183_6_, float p_177183_7_, float p_177183_8_, float scale)
|
||||
{
|
||||
float f = entitylivingbaseIn == null ? (float)(System.currentTimeMillis() % 1000000L) / 50.0f : (float)entitylivingbaseIn.ticksExisted + partialTicks;
|
||||
if(this.renderer != null)
|
||||
this.renderer.bindTexture(ENCHANTED_ITEM_GLINT_RES);
|
||||
else
|
||||
Client.CLIENT.getTextureManager().bindTexture(ENCHANTED_ITEM_GLINT_RES);
|
||||
GlState.enableBlend();
|
||||
GlState.depthFunc(GL46.GL_EQUAL);
|
||||
GlState.depthMask(false);
|
||||
float f1 = 0.5F;
|
||||
GlState.color(f1, f1, f1, 1.0F);
|
||||
|
||||
for (int i = 0; i < 2; ++i)
|
||||
{
|
||||
GlState.disableLighting();
|
||||
GlState.blendFunc(GL46.GL_SRC_COLOR, GL46.GL_ONE);
|
||||
float f2 = 0.76F;
|
||||
GlState.color(0.5F * f2, 0.25F * f2, 0.8F * f2, 1.0F);
|
||||
GL46.glMatrixMode(GL46.GL_TEXTURE);
|
||||
GL46.glLoadIdentity();
|
||||
float f3 = 0.33333334F;
|
||||
GL46.glScalef(f3, f3, f3);
|
||||
GL46.glRotatef(30.0F - (float)i * 60.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glTranslatef(0.0F, f * (0.001F + (float)i * 0.003F) * 20.0F, 0.0F);
|
||||
GL46.glMatrixMode(GL46.GL_MODELVIEW);
|
||||
modelbaseIn.render(entitylivingbaseIn, p_177183_3_, p_177183_4_, p_177183_6_, p_177183_7_, p_177183_8_, scale);
|
||||
}
|
||||
|
||||
GL46.glMatrixMode(GL46.GL_TEXTURE);
|
||||
GL46.glLoadIdentity();
|
||||
GL46.glMatrixMode(GL46.GL_MODELVIEW);
|
||||
GlState.enableLighting();
|
||||
GlState.depthMask(true);
|
||||
GlState.depthFunc(GL46.GL_LEQUAL);
|
||||
GlState.disableBlend();
|
||||
}
|
||||
|
||||
// private String getArmorResource(ItemArmor item, boolean legs)
|
||||
// {
|
||||
// return this.getArmorResource(item, legs, null);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.layers;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.ItemRenderer;
|
||||
import client.renderer.entity.RendererLivingEntity;
|
||||
|
@ -33,7 +33,7 @@ public class LayerArrow implements LayerRenderer<EntityLiving>
|
|||
|
||||
for (int j = 0; j < i; ++j)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
ModelRenderer modelrenderer = this.field_177168_a.getMainModel().getRandomModelBox(random);
|
||||
ModelBox modelbox = (ModelBox)modelrenderer.cubeList.get(random.zrange(modelrenderer.cubeList.size()));
|
||||
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 f4 = (modelbox.posY1 + (modelbox.posY2 - modelbox.posY1) * f1) / 16.0F;
|
||||
float f5 = (modelbox.posZ1 + (modelbox.posZ2 - modelbox.posZ1) * f2) / 16.0F;
|
||||
GL46C.glTranslatef(f3, f4, f5);
|
||||
GL46.glTranslatef(f3, f4, f5);
|
||||
f = f * 2.0F - 1.0F;
|
||||
f1 = f1 * 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 d2 = 0.0D;
|
||||
this.field_177168_a.getRenderManager().renderEntity(entity, d0, d1, d2, partialTicks);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
ItemRenderer.enableStandardItemLighting();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.layers;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.entity.RenderHumanoid;
|
||||
|
@ -31,8 +31,8 @@ public class LayerCape implements LayerRenderer<EntityNPC>
|
|||
entitylivingbaseIn.getCape() != null) {
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
this.renderer.bindTexture("textures/npc/cape_" + entitylivingbaseIn.getCape() + ".png");
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0F, 0.0F, 0.125F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, 0.0F, 0.125F);
|
||||
if(entitylivingbaseIn.isPlayer()) {
|
||||
EntityNPC player = (EntityNPC)entitylivingbaseIn;
|
||||
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;
|
||||
}
|
||||
|
||||
GL46C.glRotatef(6.0F + f2 / 2.0F + f1, 1.0F, 0.0F, 0.0F);
|
||||
GL46C.glRotatef(f3 / 2.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glRotatef(-f3 / 2.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(6.0F + f2 / 2.0F + f1, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(f3 / 2.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glRotatef(-f3 / 2.0F, 0.0F, 1.0F, 0.0F);
|
||||
}
|
||||
else {
|
||||
GL46C.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);
|
||||
}
|
||||
GL46C.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.render(0.0625F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.layers;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.entity.RenderHumanoid;
|
||||
|
@ -27,23 +27,23 @@ public class LayerCharge implements LayerRenderer<EntityNPC>
|
|||
// boolean flag = entitylivingbaseIn.isInvisible();
|
||||
GlState.depthMask(true);
|
||||
this.main.bindTexture(LIGHTNING_TEXTURE);
|
||||
GL46C.glMatrixMode(GL46C.GL_TEXTURE);
|
||||
GL46C.glLoadIdentity();
|
||||
GL46.glMatrixMode(GL46.GL_TEXTURE);
|
||||
GL46.glLoadIdentity();
|
||||
float f = (float)entitylivingbaseIn.ticksExisted + partialTicks;
|
||||
GL46C.glTranslatef(f * 0.01F, f * 0.01F, 0.0F);
|
||||
GL46C.glMatrixMode(GL46C.GL_MODELVIEW);
|
||||
GL46.glTranslatef(f * 0.01F, f * 0.01F, 0.0F);
|
||||
GL46.glMatrixMode(GL46.GL_MODELVIEW);
|
||||
GlState.enableBlend();
|
||||
float f1 = 0.5F;
|
||||
GlState.color(f1, f1, f1, 1.0F);
|
||||
GlState.disableLighting();
|
||||
GlState.blendFunc(GL46C.GL_ONE, GL46C.GL_ONE);
|
||||
GlState.blendFunc(GL46.GL_ONE, GL46.GL_ONE);
|
||||
this.charge.setModelAttributes(this.main.getMainModel());
|
||||
GL46C.glScalef(entitylivingbaseIn.height, entitylivingbaseIn.height, entitylivingbaseIn.height);
|
||||
GL46C.glTranslatef(0.0f, -0.25f, 0.0f);
|
||||
GL46.glScalef(entitylivingbaseIn.height, entitylivingbaseIn.height, entitylivingbaseIn.height);
|
||||
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);
|
||||
GL46C.glMatrixMode(GL46C.GL_TEXTURE);
|
||||
GL46C.glLoadIdentity();
|
||||
GL46C.glMatrixMode(GL46C.GL_MODELVIEW);
|
||||
GL46.glMatrixMode(GL46.GL_TEXTURE);
|
||||
GL46.glLoadIdentity();
|
||||
GL46.glMatrixMode(GL46.GL_MODELVIEW);
|
||||
GlState.enableLighting();
|
||||
GlState.disableBlend();
|
||||
GlState.depthMask(false);
|
||||
|
|
76
client/src/main/java/client/renderer/layers/LayerEntityBreak.java
Executable file
76
client/src/main/java/client/renderer/layers/LayerEntityBreak.java
Executable file
|
@ -0,0 +1,76 @@
|
|||
package client.renderer.layers;
|
||||
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.ItemRenderer;
|
||||
import client.renderer.RenderBuffer;
|
||||
import client.renderer.Tessellator;
|
||||
import common.entity.animal.EntityDragon;
|
||||
import common.rng.Random;
|
||||
|
||||
public class LayerEntityBreak implements LayerRenderer<EntityDragon>
|
||||
{
|
||||
public void doRenderLayer(EntityDragon entitylivingbaseIn, float p_177141_2_, float p_177141_3_, float partialTicks, float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale)
|
||||
{
|
||||
if (entitylivingbaseIn.deathTime > 0)
|
||||
{
|
||||
// Tessellator tessellator = Tessellator.getInstance();
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
ItemRenderer.disableStandardItemLighting();
|
||||
float f = ((float)entitylivingbaseIn.deathTime + partialTicks) / 200.0F;
|
||||
float f1 = 0.0F;
|
||||
|
||||
if (f > 0.8F)
|
||||
{
|
||||
f1 = (f - 0.8F) / 0.2F;
|
||||
}
|
||||
|
||||
Random random = new Random(432L);
|
||||
GlState.disableTexture2D();
|
||||
GlState.shadeModel(GL46.GL_SMOOTH);
|
||||
GlState.enableBlend();
|
||||
GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE);
|
||||
GlState.disableAlpha();
|
||||
GlState.enableCull();
|
||||
GlState.depthMask(false);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, -1.0F, -2.0F);
|
||||
|
||||
for (int i = 0; (float)i < (f + f * f) / 2.0F * 60.0F; ++i)
|
||||
{
|
||||
GL46.glRotatef(random.floatv() * 360.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(random.floatv() * 360.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(random.floatv() * 360.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glRotatef(random.floatv() * 360.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glRotatef(random.floatv() * 360.0F, 0.0F, 1.0F, 0.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 f3 = random.floatv() * 2.0F + 1.0F + f1 * 2.0F;
|
||||
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.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.0D, (double)f2, (double)(1.0F * 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();
|
||||
Tessellator.draw();
|
||||
}
|
||||
|
||||
GL46.glPopMatrix();
|
||||
GlState.depthMask(true);
|
||||
GlState.disableCull();
|
||||
GlState.disableBlend();
|
||||
GlState.shadeModel(GL46.GL_FLAT);
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GlState.enableTexture2D();
|
||||
GlState.enableAlpha();
|
||||
ItemRenderer.enableStandardItemLighting();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean shouldCombineTextures()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@ package client.renderer.layers;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.GlState;
|
||||
|
@ -62,11 +62,11 @@ public class LayerExtra implements LayerRenderer<EntityNPC>
|
|||
// {
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Client.CLIENT.getTextureManager().bindTexture(EntityTexManager.getSkin(entity));
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
|
||||
if (entity.isSneakingVisually())
|
||||
{
|
||||
GL46C.glTranslatef(0.0F, 0.2F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, 0.2F, 0.0F);
|
||||
}
|
||||
|
||||
// if (entity.isChild())
|
||||
|
@ -77,20 +77,20 @@ public class LayerExtra implements LayerRenderer<EntityNPC>
|
|||
// SKC.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
// }
|
||||
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.model.bipedBody.postRender(0.0625F);
|
||||
for(ModelRenderer model : this.wing) {
|
||||
if(entity.hasDualWings()) {
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glRotatef(model.rotateAngleY < 0.0f ? -10.0f : 10.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL46C.glTranslatef(0.0f, 0.125f, -0.0625f);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glRotatef(model.rotateAngleY < 0.0f ? -10.0f : 10.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL46.glTranslatef(0.0f, 0.125f, -0.0625f);
|
||||
model.render(0.0625F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glRotatef(model.rotateAngleY < 0.0f ? 10.0f : -10.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL46C.glTranslatef(model.rotateAngleY < 0.0f ? 0.0625f : -0.0625f, -0.125f, 0.0f);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glRotatef(model.rotateAngleY < 0.0f ? 10.0f : -10.0f, 0.0f, 1.0f, 0.0f);
|
||||
GL46.glTranslatef(model.rotateAngleY < 0.0f ? 0.0625f : -0.0625f, -0.125f, 0.0f);
|
||||
model.render(0.0625F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
else {
|
||||
model.render(0.0625F);
|
||||
|
@ -99,35 +99,35 @@ public class LayerExtra implements LayerRenderer<EntityNPC>
|
|||
for(ModelRenderer model : this.body) {
|
||||
model.render(0.0625F);
|
||||
}
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.model.bipedLeftArm.postRender(0.0625F);
|
||||
this.model.slimLeftArm.postRender(0.0625F, -1.0f, 0.0f, 0.0f);
|
||||
for(ModelRenderer model : this.larm) {
|
||||
model.render(0.0625F);
|
||||
}
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.model.bipedRightArm.postRender(0.0625F);
|
||||
this.model.slimRightArm.postRender(0.0625F, 1.0f, 0.0f, 0.0f);
|
||||
for(ModelRenderer model : this.rarm) {
|
||||
model.render(0.0625F);
|
||||
}
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
this.model.bipedHead.postRender(0.0625F);
|
||||
for(ModelRenderer model : this.head) {
|
||||
model.render(0.0625F);
|
||||
}
|
||||
for(ModelRenderer model : this.halo) {
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glRotatef((float)(entity.ticksExisted % (360 * 4)) * 0.25f, 0.0f, 1.0f, 0.0f);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glRotatef((float)(entity.ticksExisted % (360 * 4)) * 0.25f, 0.0f, 1.0f, 0.0f);
|
||||
model.render(0.0625F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
// }
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.layers;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.entity.RendererLivingEntity;
|
||||
|
@ -29,7 +29,7 @@ public class LayerHeldItem implements LayerRenderer<EntityNPC>
|
|||
|
||||
if (itemstack != null && itemstack.getItem().getWieldType() != null)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
|
||||
// if (this.livingEntityRenderer.getMainModel().isChild)
|
||||
// {
|
||||
|
@ -42,7 +42,7 @@ public class LayerHeldItem implements LayerRenderer<EntityNPC>
|
|||
// }
|
||||
|
||||
((ModelBiped)this.livingEntityRenderer.getMainModel()).postRenderArm(0.0625F);
|
||||
GL46C.glTranslatef(this.xshift, this.yshift, 0.0625F);
|
||||
GL46.glTranslatef(this.xshift, this.yshift, 0.0625F);
|
||||
|
||||
if (entitylivingbaseIn.isPlayer() && ((EntityNPC)entitylivingbaseIn).fishEntity != null)
|
||||
{
|
||||
|
@ -54,11 +54,11 @@ public class LayerHeldItem implements LayerRenderer<EntityNPC>
|
|||
|
||||
if (entitylivingbaseIn.isSneakingVisually())
|
||||
{
|
||||
GL46C.glTranslatef(0.0F, 0.203125F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, 0.203125F, 0.0F);
|
||||
}
|
||||
|
||||
gm.getItemRenderer().renderItem(entitylivingbaseIn, itemstack, true);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
40
client/src/main/java/client/renderer/layers/LayerSlimeGel.java
Executable file
40
client/src/main/java/client/renderer/layers/LayerSlimeGel.java
Executable file
|
@ -0,0 +1,40 @@
|
|||
package client.renderer.layers;
|
||||
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
import client.renderer.entity.RenderSlime;
|
||||
import client.renderer.model.ModelBase;
|
||||
import client.renderer.model.ModelSlime;
|
||||
import common.entity.npc.EntityNPC;
|
||||
|
||||
public class LayerSlimeGel implements LayerRenderer<EntityNPC>
|
||||
{
|
||||
private final RenderSlime slimeRenderer;
|
||||
private final ModelBase slimeModel = new ModelSlime(0);
|
||||
|
||||
public LayerSlimeGel(RenderSlime slimeRendererIn)
|
||||
{
|
||||
this.slimeRenderer = slimeRendererIn;
|
||||
}
|
||||
|
||||
public void doRenderLayer(EntityNPC entitylivingbaseIn, float p_177141_2_, float p_177141_3_, float partialTicks, float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale)
|
||||
{
|
||||
// if (!entitylivingbaseIn.isInvisible())
|
||||
// {
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GlState.enableNormalize();
|
||||
GlState.enableBlend();
|
||||
GlState.blendFunc(GL46.GL_SRC_ALPHA, GL46.GL_ONE_MINUS_SRC_ALPHA);
|
||||
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);
|
||||
GlState.disableBlend();
|
||||
GlState.disableNormalize();
|
||||
// }
|
||||
}
|
||||
|
||||
public boolean shouldCombineTextures()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
import common.util.ExtMath;
|
||||
|
@ -96,14 +96,14 @@ public class ModelArachnoid extends ModelHumanoid
|
|||
{
|
||||
this.isSneak = false;
|
||||
// this.setVisible(true);
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0f, 3.0f / 16.0f, 0.0f);
|
||||
GL46.glPushMatrix();
|
||||
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);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
// this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale, entityIn);
|
||||
// this.spiderHead.render(scale);
|
||||
// this.spiderNeck.render(scale);
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
// if (this.isChild)
|
||||
// {
|
||||
// float f = 2.0F;
|
||||
|
@ -123,7 +123,7 @@ public class ModelArachnoid extends ModelHumanoid
|
|||
this.spiderLeg6.render(scale);
|
||||
this.spiderLeg7.render(scale);
|
||||
this.spiderLeg8.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
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)
|
||||
{
|
||||
this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale, entityIn);
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
|
||||
// if (this.isChild)
|
||||
// {
|
||||
|
@ -89,7 +89,7 @@ public abstract class ModelBiped extends ModelBase
|
|||
// {
|
||||
if (this.isSneak) // entityIn.isSneaking())
|
||||
{
|
||||
GL46C.glTranslatef(0.0F, 0.2F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, 0.2F, 0.0F);
|
||||
}
|
||||
|
||||
this.bipedHead.render(scale);
|
||||
|
@ -102,7 +102,7 @@ public abstract class ModelBiped extends ModelBase
|
|||
this.bipedHeadwear.render(scale);
|
||||
// }
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
import common.entity.animal.EntityCat;
|
||||
|
@ -65,14 +65,14 @@ public class ModelCat extends ModelBase
|
|||
if (this.isChild)
|
||||
{
|
||||
float f = 2.0F;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(1.5F / f, 1.5F / f, 1.5F / f);
|
||||
GL46C.glTranslatef(0.0F, 10.0F * scale, 4.0F * scale);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(1.5F / f, 1.5F / f, 1.5F / f);
|
||||
GL46.glTranslatef(0.0F, 10.0F * scale, 4.0F * scale);
|
||||
this.head.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46C.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
this.body.render(scale);
|
||||
this.backLeftLeg.render(scale);
|
||||
this.backRightLeg.render(scale);
|
||||
|
@ -80,7 +80,7 @@ public class ModelCat extends ModelBase
|
|||
this.frontRightLeg.render(scale);
|
||||
this.tail.render(scale);
|
||||
this.tail2.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
import common.util.ExtMath;
|
||||
|
@ -55,21 +55,21 @@ public class ModelChicken extends ModelBase
|
|||
if (this.isChild)
|
||||
{
|
||||
float f = 2.0F;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
|
||||
this.head.render(scale);
|
||||
this.bill.render(scale);
|
||||
this.chin.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46C.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
this.body.render(scale);
|
||||
this.rightLeg.render(scale);
|
||||
this.leftLeg.render(scale);
|
||||
this.rightWing.render(scale);
|
||||
this.leftWing.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(2.0F, 2.0F, 2.0F);
|
||||
GL46C.glTranslatef(0.0F, -0.5F, 0.0F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(2.0F, 2.0F, 2.0F);
|
||||
GL46.glTranslatef(0.0F, -0.5F, 0.0F);
|
||||
|
||||
if (this.base != null)
|
||||
{
|
||||
this.base.render(scale);
|
||||
}
|
||||
|
||||
GL46C.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glTranslatef(0.0F, 0.8F + p_78088_4_, 0.0F);
|
||||
GL46C.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
||||
GL46.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, 0.8F + p_78088_4_, 0.0F);
|
||||
GL46.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
||||
this.glass.render(scale);
|
||||
float f = 0.875F;
|
||||
GL46C.glScalef(f, f, f);
|
||||
GL46C.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
||||
GL46C.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glScalef(f, f, f);
|
||||
GL46.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
||||
GL46.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
||||
this.glass.render(scale);
|
||||
GL46C.glScalef(f, f, f);
|
||||
GL46C.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
||||
GL46C.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glScalef(f, f, f);
|
||||
GL46.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
||||
GL46.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
||||
this.cube.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0F, 0.5F, 0.0F);
|
||||
GL46C.glScalef(0.35f, 0.35f, 0.35f);
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, 0.5F, 0.0F);
|
||||
GL46.glScalef(0.35f, 0.35f, 0.35f);
|
||||
GL46.glPushMatrix();
|
||||
EntityDragon entitydragon = (EntityDragon)entityIn;
|
||||
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;
|
||||
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;
|
||||
GL46C.glTranslatef(0.0F, f1 - 2.0F, -3.0F);
|
||||
GL46C.glRotatef(f1 * 2.0F, 1.0F, 0.0F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, f1 - 2.0F, -3.0F);
|
||||
GL46.glRotatef(f1 * 2.0F, 1.0F, 0.0F, 0.0F);
|
||||
float f2 = -30.0F;
|
||||
float f4 = 0.0F;
|
||||
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.rotateAngleZ = -this.updateRotations(p_78088_5_ - (double)f7) * (float)Math.PI / 180.0F * 1.0F;
|
||||
this.head.render(scale);
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0F, 1.0F, 0.0F);
|
||||
GL46C.glRotatef(-f6 * f5 * 1.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46C.glTranslatef(0.0F, -1.0F, 0.0F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, 1.0F, 0.0F);
|
||||
GL46.glRotatef(-f6 * f5 * 1.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL46.glTranslatef(0.0F, -1.0F, 0.0F);
|
||||
this.body.rotateAngleZ = 0.0F;
|
||||
this.body.render(scale);
|
||||
|
||||
|
@ -205,16 +205,16 @@ public class ModelDragon extends ModelBase
|
|||
this.wing.render(scale);
|
||||
this.frontLeg.render(scale);
|
||||
this.rearLeg.render(scale);
|
||||
GL46C.glScalef(-1.0F, 1.0F, 1.0F);
|
||||
GL46.glScalef(-1.0F, 1.0F, 1.0F);
|
||||
|
||||
if (j == 0)
|
||||
{
|
||||
GlState.cullFace(GL46C.GL_FRONT);
|
||||
GlState.cullFace(GL46.GL_FRONT);
|
||||
}
|
||||
}
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GlState.cullFace(GL46C.GL_BACK);
|
||||
GL46.glPopMatrix();
|
||||
GlState.cullFace(GL46.GL_BACK);
|
||||
GlState.disableCull();
|
||||
float f10 = -((float)Math.sin((double)(f * (float)Math.PI * 2.0F))) * 0.0F;
|
||||
f8 = f * (float)Math.PI * 2.0F;
|
||||
|
@ -237,8 +237,8 @@ public class ModelDragon extends ModelBase
|
|||
this.spine.render(scale);
|
||||
}
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
import common.util.ExtMath;
|
||||
|
@ -54,20 +54,20 @@ public class ModelFox extends ModelBase
|
|||
if (this.isChild)
|
||||
{
|
||||
float f = 2.0F;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0F, 3.5F * scale, 2.0F * scale);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, 3.5F * scale, 2.0F * scale);
|
||||
this.head.renderWithRotation(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46C.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
this.body.render(scale);
|
||||
this.wolfLeg1.render(scale);
|
||||
this.wolfLeg2.render(scale);
|
||||
this.wolfLeg3.render(scale);
|
||||
this.wolfLeg4.render(scale);
|
||||
this.tail.renderWithRotation(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
import common.entity.animal.EntityHorse;
|
||||
|
@ -242,9 +242,9 @@ public class ModelHorse extends ModelBase
|
|||
|
||||
if (!flag)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(f1, 0.5F + f1 * 0.5F, f1);
|
||||
GL46C.glTranslatef(0.0F, 0.95F * (1.0F - f1), 0.0F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(f1, 0.5F + f1 * 0.5F, f1);
|
||||
GL46.glTranslatef(0.0F, 0.95F * (1.0F - f1), 0.0F);
|
||||
}
|
||||
|
||||
this.backLeftLeg.render(scale);
|
||||
|
@ -262,10 +262,10 @@ public class ModelHorse extends ModelBase
|
|||
|
||||
if (!flag)
|
||||
{
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(f1, f1, f1);
|
||||
GL46C.glTranslatef(0.0F, 1.35F * (1.0F - f1), 0.0F);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(f1, f1, f1);
|
||||
GL46.glTranslatef(0.0F, 1.35F * (1.0F - f1), 0.0F);
|
||||
}
|
||||
|
||||
this.body.render(scale);
|
||||
|
@ -277,18 +277,18 @@ public class ModelHorse extends ModelBase
|
|||
|
||||
if (!flag)
|
||||
{
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
float f2 = 0.5F + f1 * f1 * 0.5F;
|
||||
GL46C.glScalef(f2, f2, f2);
|
||||
GL46.glScalef(f2, f2, f2);
|
||||
|
||||
if (f <= 0.0F)
|
||||
{
|
||||
GL46C.glTranslatef(0.0F, 1.35F * (1.0F - f1), 0.0F);
|
||||
GL46.glTranslatef(0.0F, 1.35F * (1.0F - f1), 0.0F);
|
||||
}
|
||||
else
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
if (flag2)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
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)
|
||||
{
|
||||
super.render(entityIn, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, scale);
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
|
||||
// if (this.isChild)
|
||||
// {
|
||||
|
@ -171,7 +171,7 @@ public class ModelHumanoid extends ModelBiped
|
|||
// {
|
||||
if (this.isSneak) // entityIn.isSneaking())
|
||||
{
|
||||
GL46C.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) {
|
||||
// }
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
// public void renderCape(float scale)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
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);
|
||||
|
||||
float s = this.isChild ? 0.125f : 0.25f;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(s, s, s);
|
||||
GL46C.glTranslatef(0.0f, (this.isChild ? 171.0f : 74.5f) * scale, 0.0f);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(s, s, s);
|
||||
GL46.glTranslatef(0.0f, (this.isChild ? 171.0f : 74.5f) * scale, 0.0f);
|
||||
// if (this.isChild)
|
||||
// {
|
||||
// float f = 2.0F;
|
||||
|
@ -97,7 +97,7 @@ public class ModelMouse extends ModelBase
|
|||
this.frontLeftLeg.render(scale);
|
||||
this.frontRightLeg.render(scale);
|
||||
// }
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
import common.util.ExtMath;
|
||||
|
@ -47,19 +47,19 @@ public class ModelQuadruped extends ModelBase
|
|||
if (this.isChild)
|
||||
{
|
||||
float f = 2.0F;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0F, this.childYOffset * scale, this.childZOffset * scale);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, this.childYOffset * scale, this.childZOffset * scale);
|
||||
this.head.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46C.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
this.body.render(scale);
|
||||
this.leg1.render(scale);
|
||||
this.leg2.render(scale);
|
||||
this.leg3.render(scale);
|
||||
this.leg4.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
import common.entity.animal.EntityRabbit;
|
||||
|
@ -101,16 +101,16 @@ public class ModelRabbit extends ModelBase {
|
|||
|
||||
if(this.isChild) {
|
||||
float f = 2.0F;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
|
||||
this.rabbitHead.render(scale);
|
||||
this.rabbitLeftEar.render(scale);
|
||||
this.rabbitRightEar.render(scale);
|
||||
this.rabbitNose.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46C.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
this.rabbitLeftFoot.render(scale);
|
||||
this.rabbitRightFoot.render(scale);
|
||||
this.rabbitLeftThigh.render(scale);
|
||||
|
@ -119,7 +119,7 @@ public class ModelRabbit extends ModelBase {
|
|||
this.rabbitLeftArm.render(scale);
|
||||
this.rabbitRightArm.render(scale);
|
||||
this.rabbitTail.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
else {
|
||||
this.rabbitLeftFoot.render(scale);
|
||||
|
|
|
@ -2,7 +2,7 @@ package client.renderer.model;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.RenderBuffer;
|
||||
import client.renderer.Tessellator;
|
||||
|
@ -173,13 +173,13 @@ public class ModelRenderer
|
|||
this.compileDisplayList(p_78785_1_);
|
||||
}
|
||||
|
||||
GL46C.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.rotationPointX == 0.0F && this.rotationPointY == 0.0F && this.rotationPointZ == 0.0F)
|
||||
{
|
||||
GL46C.glCallList(this.displayList);
|
||||
GL46.glCallList(this.displayList);
|
||||
|
||||
if (this.childModels != null)
|
||||
{
|
||||
|
@ -191,8 +191,8 @@ public class ModelRenderer
|
|||
}
|
||||
else
|
||||
{
|
||||
GL46C.glTranslatef(this.rotationPointX * p_78785_1_, this.rotationPointY * p_78785_1_, this.rotationPointZ * p_78785_1_);
|
||||
GL46C.glCallList(this.displayList);
|
||||
GL46.glTranslatef(this.rotationPointX * p_78785_1_, this.rotationPointY * p_78785_1_, this.rotationPointZ * p_78785_1_);
|
||||
GL46.glCallList(this.displayList);
|
||||
|
||||
if (this.childModels != null)
|
||||
{
|
||||
|
@ -202,30 +202,30 @@ public class ModelRenderer
|
|||
}
|
||||
}
|
||||
|
||||
GL46C.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
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(this.rotationPointX * p_78785_1_, this.rotationPointY * p_78785_1_, this.rotationPointZ * p_78785_1_);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(this.rotationPointX * p_78785_1_, this.rotationPointY * p_78785_1_, this.rotationPointZ * p_78785_1_);
|
||||
|
||||
if (this.rotateAngleZ != 0.0F)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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);
|
||||
}
|
||||
|
||||
GL46C.glCallList(this.displayList);
|
||||
GL46.glCallList(this.displayList);
|
||||
|
||||
if (this.childModels != null)
|
||||
{
|
||||
|
@ -235,10 +235,10 @@ public class ModelRenderer
|
|||
}
|
||||
}
|
||||
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
|
||||
GL46C.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_);
|
||||
}
|
||||
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(this.rotationPointX * p_78791_1_, this.rotationPointY * p_78791_1_, this.rotationPointZ * p_78791_1_);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(this.rotationPointX * p_78791_1_, this.rotationPointY * p_78791_1_, this.rotationPointZ * p_78791_1_);
|
||||
|
||||
if (this.rotateAngleY != 0.0F)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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);
|
||||
}
|
||||
|
||||
GL46C.glCallList(this.displayList);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glCallList(this.displayList);
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -296,26 +296,26 @@ public class ModelRenderer
|
|||
{
|
||||
if (this.rotationPointX != 0.0F || this.rotationPointY != 0.0F || this.rotationPointZ != 0.0F)
|
||||
{
|
||||
GL46C.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
|
||||
GL46.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
GL46C.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)
|
||||
{
|
||||
this.displayList = GL46C.glGenLists(1);
|
||||
GL46C.glNewList(this.displayList, GL46C.GL_COMPILE);
|
||||
this.displayList = GL46.glGenLists(1);
|
||||
GL46.glNewList(this.displayList, GL46.GL_COMPILE);
|
||||
// Tessellator.getInstance();
|
||||
RenderBuffer worldrenderer = Tessellator.getBuffer();
|
||||
|
||||
|
@ -375,13 +375,13 @@ public class ModelRenderer
|
|||
((ModelBox)this.cubeList.get(i)).makeList(worldrenderer, scale);
|
||||
}
|
||||
|
||||
GL46C.glEndList();
|
||||
GL46.glEndList();
|
||||
this.compiled = true;
|
||||
}
|
||||
|
||||
public void deleteDisplayList() {
|
||||
if(this.displayList != 0)
|
||||
GL46C.glDeleteLists(this.displayList, 1);
|
||||
GL46.glDeleteLists(this.displayList, 1);
|
||||
this.displayList = 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import common.entity.Entity;
|
||||
import common.entity.animal.EntityWolf;
|
||||
|
@ -77,13 +77,13 @@ public class ModelWolf extends ModelBase
|
|||
if (this.isChild)
|
||||
{
|
||||
float f = 2.0F;
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef(0.0F, 5.0F * scale, 2.0F * scale);
|
||||
this.wolfHeadMain.renderWithRotation(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46C.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
GL46.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(1.0F / f, 1.0F / f, 1.0F / f);
|
||||
GL46.glTranslatef(0.0F, 24.0F * scale, 0.0F);
|
||||
this.wolfBody.render(scale);
|
||||
this.wolfLeg1.render(scale);
|
||||
this.wolfLeg2.render(scale);
|
||||
|
@ -91,7 +91,7 @@ public class ModelWolf extends ModelBase
|
|||
this.wolfLeg4.render(scale);
|
||||
this.wolfTail.renderWithRotation(scale);
|
||||
this.wolfMane.render(scale);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.model;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.DefaultVertexFormats;
|
||||
import client.renderer.RenderBuffer;
|
||||
|
@ -59,7 +59,7 @@ public class TexturedQuad
|
|||
// ny = -ny;
|
||||
// nz = -nz;
|
||||
// }
|
||||
renderer.begin(GL46C.GL_QUADS, DefaultVertexFormats.OLDMODEL_POSITION_TEX_NORMAL);
|
||||
renderer.begin(GL46.GL_QUADS, DefaultVertexFormats.OLDMODEL_POSITION_TEX_NORMAL);
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
PositionTextureVertex vertex = this.vertices[i];
|
||||
|
|
|
@ -2,7 +2,7 @@ package client.renderer.texture;
|
|||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
|
||||
|
@ -11,7 +11,7 @@ public abstract class Texture {
|
|||
|
||||
public final int getGlTextureId() {
|
||||
if(this.id == -1)
|
||||
this.id = GL46C.glGenTextures();
|
||||
this.id = GL46.glGenTextures();
|
||||
return this.id;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import java.util.Map.Entry;
|
||||
|
||||
|
@ -190,7 +190,7 @@ public class TextureMap extends Texture
|
|||
textureatlassprite.updateAnimation();
|
||||
}
|
||||
|
||||
GL46C.glGenerateMipmap(GL46C.GL_TEXTURE_2D);
|
||||
GL46.glGenerateMipmap(GL46.GL_TEXTURE_2D);
|
||||
}
|
||||
|
||||
private Sprite registerSprite(String location)
|
||||
|
|
|
@ -11,7 +11,7 @@ import java.nio.IntBuffer;
|
|||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
import client.util.FileUtils;
|
||||
|
@ -23,11 +23,11 @@ public class TextureUtil
|
|||
public static final int[] MISSING_DATA = MISSING.getData();
|
||||
|
||||
public static void setParams(boolean filter, boolean mips, boolean linear, float aniso) {
|
||||
GL46C.glTexParameteri(GL46C.GL_TEXTURE_2D, GL46C.GL_TEXTURE_MIN_FILTER, filter ? (mips ? (linear ? GL46C.GL_LINEAR_MIPMAP_LINEAR : GL46C.GL_LINEAR_MIPMAP_NEAREST) : GL46C.GL_LINEAR) : (mips ? (linear ? GL46C.GL_NEAREST_MIPMAP_LINEAR : GL46C.GL_NEAREST_MIPMAP_NEAREST) : GL46C.GL_NEAREST));
|
||||
GL46C.glTexParameteri(GL46C.GL_TEXTURE_2D, GL46C.GL_TEXTURE_MAG_FILTER, filter ? GL46C.GL_LINEAR : GL46C.GL_NEAREST);
|
||||
GL46C.glTexParameteri(GL46C.GL_TEXTURE_2D, GL46C.GL_TEXTURE_WRAP_S, GL46C.GL_REPEAT);
|
||||
GL46C.glTexParameteri(GL46C.GL_TEXTURE_2D, GL46C.GL_TEXTURE_WRAP_T, GL46C.GL_REPEAT);
|
||||
GL46C.glTexParameterf(GL46C.GL_TEXTURE_2D, GL46C.GL_TEXTURE_MAX_ANISOTROPY, aniso);
|
||||
GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MIN_FILTER, filter ? (mips ? (linear ? GL46.GL_LINEAR_MIPMAP_LINEAR : GL46.GL_LINEAR_MIPMAP_NEAREST) : GL46.GL_LINEAR) : (mips ? (linear ? GL46.GL_NEAREST_MIPMAP_LINEAR : GL46.GL_NEAREST_MIPMAP_NEAREST) : GL46.GL_NEAREST));
|
||||
GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MAG_FILTER, filter ? GL46.GL_LINEAR : GL46.GL_NEAREST);
|
||||
GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_WRAP_S, GL46.GL_REPEAT);
|
||||
GL46.glTexParameteri(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_WRAP_T, GL46.GL_REPEAT);
|
||||
GL46.glTexParameterf(GL46.GL_TEXTURE_2D, GL46.GL_TEXTURE_MAX_ANISOTROPY, aniso);
|
||||
}
|
||||
|
||||
public static void uploadTexture(int[] data, int w, int h, int x, int y, boolean params)
|
||||
|
@ -45,7 +45,7 @@ public class TextureUtil
|
|||
BUFFER.clear();
|
||||
BUFFER.put(data, j, i1);
|
||||
BUFFER.position(0).limit(i1);
|
||||
GL46C.glTexSubImage2D(GL46C.GL_TEXTURE_2D, 0, x, y + k, w, l, GL46C.GL_BGRA, GL46C.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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ public class TextureUtil
|
|||
BUFFER.clear();
|
||||
BUFFER.put(data, 0, k1);
|
||||
BUFFER.position(0).limit(k1);
|
||||
GL46C.glTexSubImage2D(GL46C.GL_TEXTURE_2D, 0, 0, i1, w, j1, GL46C.GL_BGRA, GL46C.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;
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ public class TextureUtil
|
|||
{
|
||||
// GlState.deleteTexture(id); //TODO: check needed
|
||||
GlState.bindTexture(id);
|
||||
GL46C.nglTexImage2D(GL46C.GL_TEXTURE_2D, 0, GL46C.GL_RGBA, width, height, 0, GL46C.GL_BGRA, GL46C.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
|
||||
|
|
|
@ -3,7 +3,7 @@ package client.renderer.tileentity;
|
|||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.Drawing;
|
||||
|
@ -92,18 +92,18 @@ public class DisplayRenderer extends ElementRenderer<TileEntityDisplay> {
|
|||
else if(dir == Facing.EAST)
|
||||
rot = -90.0F;
|
||||
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x + 0.5F, (float)y + 1.0f, (float)z + 0.5F);
|
||||
GL46C.glRotatef(-rot, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glTranslatef(-0.5F, 0.0f, -0.5f + 0.0625f + 0.005f);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x + 0.5F, (float)y + 1.0f, (float)z + 0.5F);
|
||||
GL46.glRotatef(-rot, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(-0.5F, 0.0f, -0.5f + 0.0625f + 0.005f);
|
||||
float density = 1.0f / (float)(te.density / 16);
|
||||
GL46C.glScalef(0.0625f * density, -0.0625f * density, 0.0625f * density);
|
||||
GL46.glScalef(0.0625f * density, -0.0625f * density, 0.0625f * density);
|
||||
|
||||
GlState.disableLighting();
|
||||
Drawing.drawTexturedRect(Client.CLIENT, getTexture(te), te.density, te.density, 0, 0, 0, 0, te.density, te.density);
|
||||
GlState.enableLighting();
|
||||
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.Client;
|
||||
import client.renderer.GlState;
|
||||
|
@ -17,17 +17,17 @@ public class ItemPipeRenderer extends ElementRenderer<TileEntityItemPipe> {
|
|||
return;
|
||||
Client.CLIENT.getTextureManager().bindTexture(TextureMap.BLOCKS);
|
||||
GlState.enableRescaleNormal();
|
||||
GlState.alphaFunc(GL46C.GL_GREATER, 0.1F);
|
||||
GlState.alphaFunc(GL46.GL_GREATER, 0.1F);
|
||||
GlState.enableBlend();
|
||||
GlState.tryBlendFuncSeparate(GL46C.GL_SRC_ALPHA, GL46C.GL_ONE_MINUS_SRC_ALPHA, GL46C.GL_ONE, GL46C.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();
|
||||
IBakedModel ibakedmodel = itemRenderer.getItemModelMesher().getItemModel(itemstack);
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glTranslatef((float)x + 0.5F, (float)y + 0.5f, (float)z + 0.5F);
|
||||
GL46.glPushMatrix();
|
||||
GL46.glTranslatef((float)x + 0.5F, (float)y + 0.5f, (float)z + 0.5F);
|
||||
if(ibakedmodel.isGui3d())
|
||||
GL46C.glScalef(0.5F, 0.5F, 0.5F);
|
||||
GL46.glScalef(0.5F, 0.5F, 0.5F);
|
||||
itemRenderer.renderItem(itemstack, ibakedmodel);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
GlState.disableRescaleNormal();
|
||||
GlState.disableBlend();
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package client.renderer.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.Drawing;
|
||||
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)
|
||||
{
|
||||
GL46C.glPushMatrix();
|
||||
GL46.glPushMatrix();
|
||||
float f = 0.6666667F;
|
||||
|
||||
State state = te.getState();
|
||||
if (state.getBlock() instanceof BlockStandingSign)
|
||||
{
|
||||
GL46C.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();
|
||||
float f1 = 0.0F;
|
||||
|
||||
|
@ -38,8 +38,8 @@ public class SignRenderer extends ElementRenderer<TileEntitySign>
|
|||
{
|
||||
f1 = -90.0F;
|
||||
}
|
||||
GL46C.glRotatef(-f1, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glTranslatef(0.0F, f * -0.0625f * 2.0f, 0.0F);
|
||||
GL46.glRotatef(-f1, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, f * -0.0625f * 2.0f, 0.0F);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -61,16 +61,16 @@ public class SignRenderer extends ElementRenderer<TileEntitySign>
|
|||
f2 = -90.0F;
|
||||
}
|
||||
|
||||
GL46C.glTranslatef((float)x + 0.5F, (float)y + 0.75F * f, (float)z + 0.5F);
|
||||
GL46C.glRotatef(-f2, 0.0F, 1.0F, 0.0F);
|
||||
GL46C.glTranslatef(0.0F, -0.3125F - f * 0.0625f * 0.5f, -0.4375F);
|
||||
GL46.glTranslatef((float)x + 0.5F, (float)y + 0.75F * f, (float)z + 0.5F);
|
||||
GL46.glRotatef(-f2, 0.0F, 1.0F, 0.0F);
|
||||
GL46.glTranslatef(0.0F, -0.3125F - f * 0.0625f * 0.5f, -0.4375F);
|
||||
}
|
||||
|
||||
GlState.enableRescaleNormal();
|
||||
float f3 = 0.015625F * f;
|
||||
GL46C.glTranslatef(0.0F, 0.5F * f, 0.1F * f);
|
||||
GL46C.glScalef(f3, -f3, f3);
|
||||
GL46C.glNormal3f(0.0F, 0.0F, -1.0F * f3);
|
||||
GL46.glTranslatef(0.0F, 0.5F * f, 0.1F * f);
|
||||
GL46.glScalef(f3, -f3, f3);
|
||||
GL46.glNormal3f(0.0F, 0.0F, -1.0F * f3);
|
||||
GlState.depthMask(false);
|
||||
|
||||
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())
|
||||
{
|
||||
String s = te.text[j].length() > 50 ? te.text[j].substring(0, 50) : te.text[j];
|
||||
GL46C.glPushMatrix();
|
||||
GL46C.glScalef(0.75f, 0.75f, 0.75f);
|
||||
Drawing.drawTextCentered3d(s, 0, j * (18 - 3) - 30, 0xff000000);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPushMatrix();
|
||||
GL46.glScalef(0.75f, 0.75f, 0.75f);
|
||||
Drawing.drawTextCenteredN(s, 0, j * (18 - 3) - 30, 0xff000000);
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
GlState.depthMask(true);
|
||||
GlState.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GL46C.glPopMatrix();
|
||||
GL46.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ package client.renderer.tileentity;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import org.lwjgl.opengl.GL46C;
|
||||
import org.lwjgl.opengl.GL46;
|
||||
|
||||
import client.renderer.GlState;
|
||||
import common.collect.Maps;
|
||||
|
@ -58,7 +58,7 @@ public class SpecialRenderer {
|
|||
int light = this.world.getCombinedLight(tile.getPos());
|
||||
int block = light % 65536;
|
||||
int sky = light / 65536;
|
||||
GL46C.glMultiTexCoord2f(GL46C.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);
|
||||
BlockPos pos = tile.getPos();
|
||||
this.render(tile, (double)pos.getX() - entityX, (double)pos.getY() - entityY, (double)pos.getZ() - entityZ, partial);
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
out vec4 FragColor;
|
||||
|
||||
in vec4 tex_color;
|
||||
|
||||
void main() {
|
||||
FragColor = tex_color;
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
layout (location = 0) in vec3 pos;
|
||||
layout (location = 1) in vec4 norm;
|
||||
layout (location = 2) in vec2 coord;
|
||||
layout (location = 3) in vec4 color;
|
||||
|
||||
out vec4 tex_color;
|
||||
|
||||
uniform vec2 screen_size;
|
||||
|
||||
void main() {
|
||||
tex_color = color;
|
||||
gl_Position = vec4(-1.0 + pos.x / screen_size.x * 2.0, -1.0 + pos.y / screen_size.y * 2.0, 0.0, 1.0);
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
out vec4 FragColor;
|
||||
|
||||
in vec2 tex_coord;
|
||||
in vec4 tex_color;
|
||||
|
||||
uniform sampler2D tex;
|
||||
|
||||
void main() {
|
||||
FragColor = texture(tex, tex_coord) * tex_color;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
layout (location = 0) in vec3 pos;
|
||||
layout (location = 1) in vec4 norm;
|
||||
layout (location = 2) in vec2 coord;
|
||||
layout (location = 3) in vec4 color;
|
||||
|
||||
out vec2 tex_coord;
|
||||
out vec4 tex_color;
|
||||
|
||||
uniform vec2 screen_size;
|
||||
|
||||
void main() {
|
||||
tex_coord = coord;
|
||||
tex_color = color;
|
||||
gl_Position = vec4(pos.x, pos.y, 0.0, 1.0);
|
||||
}
|
|
@ -8,5 +8,5 @@ public interface IWorldAccess extends IBlockAccess
|
|||
{
|
||||
TileEntity getTileEntity(BlockPos pos);
|
||||
@Clientside
|
||||
int getWorldLight(BlockPos pos);
|
||||
int getCombinedLight(BlockPos pos);
|
||||
}
|
||||
|
|
|
@ -187,7 +187,7 @@ public abstract class World implements IWorldAccess {
|
|||
public void checkBlockLight(BlockPos pos) {
|
||||
}
|
||||
|
||||
public int getWorldLight(BlockPos pos) {
|
||||
public int getCombinedLight(BlockPos pos) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue