Skip to content

Instantly share code, notes, and snippets.

@elucent
Created August 1, 2017 14:45
Show Gist options
  • Save elucent/cbc26c18c6c5b5dfb42ee3dbce0f4ce9 to your computer and use it in GitHub Desktop.
Save elucent/cbc26c18c6c5b5dfb42ee3dbce0f4ce9 to your computer and use it in GitHub Desktop.
float walkCycleSin = (float)Math.sin(Math.PI*3.0*this.timeExisted)*(Math.abs(motionX)/7f);
float walkCycleDouble = (float)Math.sin(Math.PI*6.0*this.timeExisted)*(Math.abs(motionX)/7f);
float walkCycleCos = (float)Math.cos(Math.PI*3.0*this.timeExisted)*(Math.abs(motionX)/7f);
GL11.glBindTexture(GL11.GL_TEXTURE_2D,TextureManager.textures.get("player"));
GL11.glPushMatrix();
GL11.glTranslatef(x, y, z);
int translation = GL20.glGetUniformLocation(ShaderManager.defaultProgram, "translation");
GL20.glUniform3f(translation, x, y, z);
glRotatef(facing*90f-22.5f*walkCycleSin*(Math.abs(motionX)/7f),0,1,0);
glRotatef(-(10f+5f*(walkCycleDouble+1.0f)/2.0f)*(Math.abs(motionX)/7f),1,0,0);
Primitives.renderSegment(
-0.25f,-1.375f,-0.15f,
0.25f,-1.375f,-0.15f,
0.25f,-1.375f,0.15f,
-0.25f,-1.375f,0.15f,
-0.3f,-0.8125f,-0.2f,
0.3f,-0.8125f,-0.2f,
0.3f,-0.8125f,0.2f,
-0.3f,-0.8125f,0.2f,
new Vec4f[]{
new Vec4f(0f,25f/64f,8f/64f,28f/64f),
new Vec4f(0f,25f/64f,8f/64f,28f/64f),
new Vec4f(0f,16f/64f,8f/64f,25f/64f),
new Vec4f(0f,16f/64f,8f/64f,25f/64f),
new Vec4f(0f,16f/64f,8f/64f,25f/64f),
new Vec4f(0f,16f/64f,8f/64f,25f/64f)
});
Primitives.renderSegment(
-0.3f,-0.8125f,-0.2f,
0.3f,-0.8125f,-0.2f,
0.3f,-0.8125f,0.2f,
-0.3f,-0.8125f,0.2f,
-0.25f,-0.625f,-0.15f,
0.25f,-0.625f,-0.15f,
0.25f,-0.625f,0.15f,
-0.25f,-0.625f,0.15f,
new Vec4f[]{
new Vec4f(0f,25f/64f,8f/64f,28f/64f),
new Vec4f(0f,25f/64f,8f/64f,28f/64f),
new Vec4f(0f,25f/64f,8f/64f,28f/64f),
new Vec4f(0f,25f/64f,8f/64f,28f/64f),
new Vec4f(0f,25f/64f,8f/64f,28f/64f),
new Vec4f(0f,25f/64f,8f/64f,28f/64f)
});
Primitives.renderSegment(
-0.28125f,-1.5f,-0.28125f,
0.28125f,-1.5f,-0.28125f,
0.28125f,-1.5f,0.28125f,
-0.28125f,-1.5f,0.28125f,
-0.28125f,-1.375f,-0.28125f,
0.28125f,-1.375f,-0.28125f,
0.28125f,-1.375f,0.28125f,
-0.28125f,-1.375f,0.28125f,
new Vec4f[]{
new Vec4f(16f/64f,2f/64f,25f/64f,11f/64f),
new Vec4f(16f/64f,2f/64f,25f/64f,11f/64f),
new Vec4f(16f/64f,0f/64f,25f/64f,2f/64f),
new Vec4f(16f/64f,0f/64f,25f/64f,2f/64f),
new Vec4f(16f/64f,0f/64f,25f/64f,2f/64f),
new Vec4f(16f/64f,0f/64f,25f/64f,2f/64f)
});
Primitives.renderSegment(
-0.25f,-2.0f,-0.25f,
0.25f,-2.0f,-0.25f,
0.25f,-2.0f,0.25f,
-0.25f,-2.0f,0.25f,
-0.25f,-1.5f,-0.25f,
0.25f,-1.5f,-0.25f,
0.25f,-1.5f,0.25f,
-0.25f,-1.5f,0.25f,
new Vec4f[]{
new Vec4f(0f/64f,8f/64f,8f/64f,16f/64f),
new Vec4f(0f/64f,8f/64f,8f/64f,16f/64f),
new Vec4f(8f/64f,0f/64f,16f/64f,8f/64f),
new Vec4f(8f/64f,0f/64f,16f/64f,8f/64f),
new Vec4f(0f/64f,0f/64f,8f/64f,8f/64f),
new Vec4f(8f/64f,0f/64f,16f/64f,8f/64f)
});
glPushMatrix();
GL11.glTranslatef(0.25f, -1.375f, 0);
GL20.glUniform3f(translation, x, y-1.375f, z);
glRotatef(-12f,0,0,1);
glRotatef(walkCycleSin*45f,1,0,0);
Primitives.renderSegment(
0f,-0.125f,-0.1f,
0.2f,0f,-0.1f,
0.2f,0f,0.1f,
0f,-0.125f,0.1f,
0f,0.4f,-0.15f,
0.3f,0.4f,-0.15f,
0.3f,0.4f,0.15f,
0f,0.4f,0.15f,
new Vec4f[]{
new Vec4f(26f/64f,16f/64f,31f/64f,21f/64f),
new Vec4f(26f/64f,21f/64f,31f/64f,26f/64f),
new Vec4f(31f/64f,16f/64f,36f/64f,24f/64f),
new Vec4f(16f/64f,16f/64f,21f/64f,24f/64f),
new Vec4f(21f/64f,16f/64f,26f/64f,24f/64f),
new Vec4f(21f/64f,16f/64f,26f/64f,24f/64f)
});
GL11.glTranslatef(0, 0.4f, 0);
glRotatef(-4f,0,0,1);
glRotatef((Math.abs(motionX)/7f)*30f,1,0,0);
Primitives.renderSegment(
-0.025f,-0.0625f,-0.175f,
0.325f,-0.0625f,-0.175f,
0.325f,-0.0625f,0.175f,
-0.025f,-0.0625f,0.175f,
-0.025f,0.0625f,-0.175f,
0.325f,0.0625f,-0.175f,
0.325f,0.0625f,0.175f,
-0.025f,0.0625f,0.175f,
new Vec4f[]{
new Vec4f(24f/64f,32f/64f,29f/64f,37f/64f),
new Vec4f(24f/64f,32f/64f,29f/64f,37f/64f),
new Vec4f(24f/64f,37f/64f,29f/64f,39f/64f),
new Vec4f(24f/64f,37f/64f,29f/64f,39f/64f),
new Vec4f(24f/64f,37f/64f,29f/64f,39f/64f),
new Vec4f(24f/64f,37f/64f,29f/64f,39f/64f)
});
Primitives.renderSegment(
0f,0.0f,-0.15f,
0.3f,0.0f,-0.15f,
0.3f,0.0f,0.15f,
0f,0.0f,0.15f,
0f,0.4f,-0.1f,
0.2f,0.4f,-0.1f,
0.2f,0.4f,0.1f,
0f,0.4f,0.1f,
new Vec4f[]{
new Vec4f(20f/64f,32f/64f,24f/64f,36f/64f),
new Vec4f(16f/64f,40f/64f,20f/64f,44f/64f),
new Vec4f(16f/64f,32f/64f,20f/64f,40f/64f),
new Vec4f(16f/64f,32f/64f,20f/64f,40f/64f),
new Vec4f(16f/64f,32f/64f,20f/64f,40f/64f),
new Vec4f(16f/64f,32f/64f,20f/64f,40f/64f)
});
glRotatef((Math.abs(motionX)/7f)*-30f,1,0,0);
glRotatef(4f,0,0,1);
GL11.glTranslatef(0, -0.4f, 0);
glRotatef(12f,0,0,1);
glRotatef(-walkCycleSin*45f,1,0,0);
GL11.glTranslatef(-0.5f, 0, 0);
glRotatef(12f,0,0,1);
glRotatef(-walkCycleSin*45f,1,0,0);
Primitives.renderSegment(
-0.2f,0f,-0.1f,
0f,-0.125f,-0.1f,
0f,-0.125f,0.1f,
-0.2f,0f,0.1f,
-0.3f,0.4f,-0.15f,
0f,0.4f,-0.15f,
0f,0.4f,0.15f,
-0.3f,0.4f,0.15f,
new Vec4f[]{
new Vec4f(26f/64f,16f/64f,31f/64f,21f/64f),
new Vec4f(26f/64f,21f/64f,31f/64f,26f/64f),
new Vec4f(31f/64f,16f/64f,36f/64f,24f/64f),
new Vec4f(16f/64f,16f/64f,21f/64f,24f/64f),
new Vec4f(21f/64f,16f/64f,26f/64f,24f/64f),
new Vec4f(21f/64f,16f/64f,26f/64f,24f/64f)
});
GL11.glTranslatef(0, 0.4f, 0);
glRotatef(4f,0,0,1);
glRotatef((Math.abs(motionX)/7f)*30f,1,0,0);
Primitives.renderSegment(
-0.325f,-0.0625f,-0.175f,
0.025f,-0.0625f,-0.175f,
0.025f,-0.0625f,0.175f,
-0.325f,-0.0625f,0.175f,
-0.325f,0.0625f,-0.175f,
0.025f,0.0625f,-0.175f,
0.025f,0.0625f,0.175f,
-0.325f,0.0625f,0.175f,
new Vec4f[]{
new Vec4f(24f/64f,32f/64f,29f/64f,37f/64f),
new Vec4f(24f/64f,32f/64f,29f/64f,37f/64f),
new Vec4f(24f/64f,37f/64f,29f/64f,39f/64f),
new Vec4f(24f/64f,37f/64f,29f/64f,39f/64f),
new Vec4f(24f/64f,37f/64f,29f/64f,39f/64f),
new Vec4f(24f/64f,37f/64f,29f/64f,39f/64f)
});
Primitives.renderSegment(
-0.3f,0.0f,-0.15f,
0f,0.0f,-0.15f,
0f,0.0f,0.15f,
-0.3f,0.0f,0.15f,
-0.2f,0.4f,-0.1f,
0f,0.4f,-0.1f,
0f,0.4f,0.1f,
-0.2f,0.4f,0.1f,
new Vec4f[]{
new Vec4f(20f/64f,32f/64f,24f/64f,36f/64f),
new Vec4f(16f/64f,40f/64f,20f/64f,44f/64f),
new Vec4f(16f/64f,32f/64f,20f/64f,40f/64f),
new Vec4f(16f/64f,32f/64f,20f/64f,40f/64f),
new Vec4f(16f/64f,32f/64f,20f/64f,40f/64f),
new Vec4f(16f/64f,32f/64f,20f/64f,40f/64f)
});
glRotatef((Math.abs(motionX)/7f)*-30f,1,0,0);
glPopMatrix();
glPushMatrix();
GL11.glTranslatef(0.025f, -0.75f, 0);
GL20.glUniform3f(translation, x, y-0.75f, z);
glRotatef(walkCycleSin*67.5f,1,0,0);
Primitives.renderSegment(
0f,0.0f,-0.125f,
0.25f,0.0f,-0.125f,
0.25f,0.0f,0.125f,
0f,0.0f,0.125f,
0f,0.375f,-0.1f,
0.2f,0.375f,-0.1f,
0.2f,0.375f,0.1f,
0f,0.375f,0.1f,
new Vec4f[]{
new Vec4f(4f/64f,32f/64f,8f/64f,36f/64f),
new Vec4f(4f/64f,32f/64f,8f/64f,36f/64f),
new Vec4f(0f/64f,32f/64f,4f/64f,38f/64f),
new Vec4f(0f/64f,32f/64f,4f/64f,38f/64f),
new Vec4f(0f/64f,32f/64f,4f/64f,38f/64f),
new Vec4f(0f/64f,32f/64f,4f/64f,38f/64f)
});
GL11.glTranslatef(0, 0.375f, 0);
glRotatef(((walkCycleCos-1.0f)/2.0f)*22.5f,1,0,0);
Primitives.renderSegment(
0f,0.0f,-0.1f,
0.2f,0.0f,-0.1f,
0.2f,0.0f,0.1f,
0f,0.0f,0.1f,
0f,0.375f,-0.075f,
0.15f,0.375f,-0.075f,
0.15f,0.375f,0.075f,
0f,0.375f,0.075f,
new Vec4f[]{
new Vec4f(4f/64f,36f/64f,7f/64f,39f/64f),
new Vec4f(4f/64f,36f/64f,7f/64f,39f/64f),
new Vec4f(0f/64f,38f/64f,3f/64f,44f/64f),
new Vec4f(0f/64f,38f/64f,3f/64f,44f/64f),
new Vec4f(0f/64f,38f/64f,3f/64f,44f/64f),
new Vec4f(0f/64f,38f/64f,3f/64f,44f/64f)
});
glRotatef(((walkCycleCos-1.0f)/2.0f)*-22.5f,1,0,0);
GL11.glTranslatef(0, -0.375f, 0);
glRotatef(-walkCycleSin*135f,1,0,0);
GL11.glTranslatef(-0.05f, 0, 0);
Primitives.renderSegment(
-0.25f,0.0f,-0.125f,
0f,0.0f,-0.125f,
0f,0.0f,0.125f,
-0.25f,0.0f,0.125f,
-0.2f,0.375f,-0.1f,
0f,0.375f,-0.1f,
0f,0.375f,0.1f,
-0.2f,0.375f,0.1f,
new Vec4f[]{
new Vec4f(4f/64f,32f/64f,8f/64f,36f/64f),
new Vec4f(4f/64f,32f/64f,8f/64f,36f/64f),
new Vec4f(0f/64f,32f/64f,4f/64f,38f/64f),
new Vec4f(0f/64f,32f/64f,4f/64f,38f/64f),
new Vec4f(0f/64f,32f/64f,4f/64f,38f/64f),
new Vec4f(0f/64f,32f/64f,4f/64f,38f/64f)
});
GL11.glTranslatef(0, 0.375f, 0);
glRotatef(((walkCycleCos-1.0f)/2.0f)*22.5f,1,0,0);
Primitives.renderSegment(
-0.2f,0.0f,-0.1f,
0f,0.0f,-0.1f,
0f,0.0f,0.1f,
-0.2f,0.0f,0.1f,
-0.15f,0.375f,-0.075f,
0f,0.375f,-0.075f,
0f,0.375f,0.075f,
-0.15f,0.375f,0.075f,
new Vec4f[]{
new Vec4f(4f/64f,36f/64f,7f/64f,39f/64f),
new Vec4f(4f/64f,36f/64f,7f/64f,39f/64f),
new Vec4f(0f/64f,38f/64f,3f/64f,44f/64f),
new Vec4f(0f/64f,38f/64f,3f/64f,44f/64f),
new Vec4f(0f/64f,38f/64f,3f/64f,44f/64f),
new Vec4f(0f/64f,38f/64f,3f/64f,44f/64f)
});
glRotatef(((walkCycleCos-1.0f)/2.0f)*-22.5f,1,0,0);
glPopMatrix();
GL20.glUniform3f(translation, 0, 0, 0);
GL11.glPopMatrix();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment