|
@@ -5,7 +5,7 @@
|
|
|
EntityRenderer::EntityRenderer() : texture("resources/skin.png")
|
|
|
{
|
|
|
// head
|
|
|
- addCuboid(0.0f, 0.0f, 0.0f, 0.5f, 0.5f, 0.5f,
|
|
|
+ mesh.addCuboid(0.0f, 0.0f, 0.0f, 0.5f, 0.5f, 0.5f,
|
|
|
0.125f, 0.0f, 0.25f, 0.125f,
|
|
|
0.25f, 0.0f, 0.375f, 0.125f,
|
|
|
0.25f, 0.125f, 0.375f, 0.25f,
|
|
@@ -13,7 +13,7 @@ EntityRenderer::EntityRenderer() : texture("resources/skin.png")
|
|
|
0.125f, 0.125f, 0.25f, 0.25f,
|
|
|
0.375f, 0.125f, 0.5f, 0.25f);
|
|
|
// right arm
|
|
|
- addCuboid(0.0f, 0.0f, 0.0f, 0.25f, 0.75f, 0.25f,
|
|
|
+ mesh.addCuboid(0.0f, 0.0f, 0.0f, 0.25f, 0.75f, 0.25f,
|
|
|
0.6875f, 0.25f, 0.75f, 0.3125f,
|
|
|
0.75f, 0.25f, 0.8125f, 0.3125f,
|
|
|
0.75f, 0.3125f, 0.8125f, 0.5f,
|
|
@@ -21,7 +21,7 @@ EntityRenderer::EntityRenderer() : texture("resources/skin.png")
|
|
|
0.6875f, 0.3125f, 0.75f, 0.5f,
|
|
|
0.8125f, 0.3125f, 0.875f, 0.5f);
|
|
|
// left arm
|
|
|
- addCuboid(0.0f, 0.0f, 0.0f, 0.25f, 0.75f, 0.25f,
|
|
|
+ mesh.addCuboid(0.0f, 0.0f, 0.0f, 0.25f, 0.75f, 0.25f,
|
|
|
0.5625f, 0.75f, 0.625f, 0.8125f,
|
|
|
0.625f, 0.75f, 0.6875f, 0.8125f,
|
|
|
0.625f, 0.8125f, 0.6875f, 1.0f,
|
|
@@ -29,7 +29,7 @@ EntityRenderer::EntityRenderer() : texture("resources/skin.png")
|
|
|
0.5625f, 0.8125f, 0.625f, 1.0f,
|
|
|
0.6875f, 0.8125f, 0.75f, 1.0f);
|
|
|
// body
|
|
|
- addCuboid(0.0f, 0.0f, 0.0f, 0.5f, 0.75f, 0.25f,
|
|
|
+ mesh.addCuboid(0.0f, 0.0f, 0.0f, 0.5f, 0.75f, 0.25f,
|
|
|
0.3125f, 0.25f, 0.4375f, 0.3125f,
|
|
|
0.4375f, 0.25f, 0.5625f, 0.3125f,
|
|
|
0.4375f, 0.3125f, 0.5f, 0.5f,
|
|
@@ -37,7 +37,7 @@ EntityRenderer::EntityRenderer() : texture("resources/skin.png")
|
|
|
0.3125f, 0.3125f, 0.4375f, 0.5f,
|
|
|
0.5f, 0.3125f, 0.625f, 0.5f);
|
|
|
// right leg
|
|
|
- addCuboid(0.0f, 0.0f, 0.0f, 0.25f, 0.75f, 0.25f,
|
|
|
+ mesh.addCuboid(0.0f, 0.0f, 0.0f, 0.25f, 0.75f, 0.25f,
|
|
|
0.0625f, 0.25f, 0.125f, 0.3125f,
|
|
|
0.125f, 0.25f, 0.1875f, 0.3125f,
|
|
|
0.125f, 0.3125f, 0.1875f, 0.5f,
|
|
@@ -45,7 +45,7 @@ EntityRenderer::EntityRenderer() : texture("resources/skin.png")
|
|
|
0.0625f, 0.3125f, 0.125f, 0.5f,
|
|
|
0.1875f, 0.3125f, 0.25f, 0.5f);
|
|
|
// left leg
|
|
|
- addCuboid(0.0f, 0.0f, 0.0f, 0.25f, 0.75f, 0.25f,
|
|
|
+ mesh.addCuboid(0.0f, 0.0f, 0.0f, 0.25f, 0.75f, 0.25f,
|
|
|
0.3125f, 0.75f, 0.375f, 0.8125f,
|
|
|
0.375f, 0.75f, 0.4375f, 0.8125f,
|
|
|
0.375f, 0.8125f, 0.4375f, 1.0f,
|
|
@@ -85,10 +85,15 @@ void EntityRenderer::renderTick(Shader& shader, Camera3D camera, DirectRenderer&
|
|
|
texture.bind();
|
|
|
|
|
|
shader.setToIdentity();
|
|
|
- shader.translateTo(0.0f, -10.0f, 0.0f);
|
|
|
+ shader.translateTo(5.0f + 0.5f, 42.0f, 15.0f + 0.25f);
|
|
|
+ //shader.scale(3, 6, 3);
|
|
|
+ shader.rotateY(90);
|
|
|
+ shader.translate(-0.5f, 0.0f, -0.25f);
|
|
|
|
|
|
shader.push();
|
|
|
- shader.translate(0.25f, 1.5f, 0.0f);
|
|
|
+ shader.translate(0.25f + 0.25f, 1.5f, 0.0f + 0.25f);
|
|
|
+ shader.rotateY(inter * 0.25f - 22.5f);
|
|
|
+ shader.translate(-0.25f, 0.0f, -0.25f);
|
|
|
Engine::setWorldModelMatrix(shader.getModelMatrix());
|
|
|
mesh.draw(0, 36);
|
|
|
shader.pop();
|
|
@@ -126,91 +131,4 @@ void EntityRenderer::renderTick(Shader& shader, Camera3D camera, DirectRenderer&
|
|
|
Engine::setWorldModelMatrix(shader.getModelMatrix());
|
|
|
mesh.draw(180, 36);
|
|
|
shader.pop();
|
|
|
-}
|
|
|
-
|
|
|
-void EntityRenderer::addTriangle(float p1x, float p1y, float p1z, float p1nx, float p1ny, float p1nz, float p1texX, float p1texY,
|
|
|
- float p2x, float p2y, float p2z, float p2nx, float p2ny, float p2nz, float p2texX, float p2texY,
|
|
|
- float p3x, float p3y, float p3z, float p3nx, float p3ny, float p3nz, float p3texX, float p3texY)
|
|
|
-{
|
|
|
- mesh.addPosition(p1x, p1y, p1z);
|
|
|
- mesh.addPosition(p2x, p2y, p2z);
|
|
|
- mesh.addPosition(p3x, p3y, p3z);
|
|
|
-
|
|
|
- mesh.addNormal(p1nx, p1ny, p1nz);
|
|
|
- mesh.addNormal(p2nx, p2ny, p2nz);
|
|
|
- mesh.addNormal(p3nx, p3ny, p3nz);
|
|
|
-
|
|
|
- mesh.addTexture(p1texX, p1texY);
|
|
|
- mesh.addTexture(p2texX, p2texY);
|
|
|
- mesh.addTexture(p3texX, p3texY);
|
|
|
-}
|
|
|
-
|
|
|
-void EntityRenderer::addCuboid(float sx, float sy, float sz, float ex, float ey, float ez,
|
|
|
- float topTexStartX, float topTexStartY, float topTexEndX, float topTexEndY,
|
|
|
- float bottomTexStartX, float bottomTexStartY, float bottomTexEndX, float bottomTexEndY,
|
|
|
- float northTexStartX, float northTexStartY, float northTexEndX, float northTexEndY,
|
|
|
- float southTexStartX, float southTexStartY, float southTexEndX, float southTexEndY,
|
|
|
- float eastTexStartX, float eastTexStartY, float eastTexEndX, float eastTexEndY,
|
|
|
- float westTexStartX, float westTexStartY, float westTexEndX, float westTexEndY)
|
|
|
-{
|
|
|
- // bottom side
|
|
|
- addTriangle(
|
|
|
- sx, sy, sz, 0.0f, -1.0f, 0.0f, bottomTexStartX, bottomTexStartY,
|
|
|
- ex, sy, sz, 0.0f, -1.0f, 0.0f, bottomTexEndX, bottomTexStartY,
|
|
|
- sx, sy, ez, 0.0f, -1.0f, 0.0f, bottomTexStartX, bottomTexEndY);
|
|
|
- addTriangle(
|
|
|
- ex, sy, sz, 0.0f, -1.0f, 0.0f, bottomTexEndX, bottomTexStartY,
|
|
|
- ex, sy, ez, 0.0f, -1.0f, 0.0f, bottomTexEndX, bottomTexEndY,
|
|
|
- sx, sy, ez, 0.0f, -1.0f, 0.0f, bottomTexStartX, bottomTexEndY);
|
|
|
-
|
|
|
- // top side
|
|
|
- addTriangle(
|
|
|
- sx, ey, sz, 0.0f, 1.0f, 0.0f, topTexStartX, topTexStartY,
|
|
|
- sx, ey, ez, 0.0f, 1.0f, 0.0f, topTexStartX, topTexEndY,
|
|
|
- ex, ey, sz, 0.0f, 1.0f, 0.0f, topTexEndX, topTexStartY);
|
|
|
- addTriangle(
|
|
|
- ex, ey, sz, 0.0f, 1.0f, 0.0f, topTexEndX, topTexStartY,
|
|
|
- sx, ey, ez, 0.0f, 1.0f, 0.0f, topTexStartX, topTexEndY,
|
|
|
- ex, ey, ez, 0.0f, 1.0f, 0.0f, topTexEndX, topTexEndY);
|
|
|
-
|
|
|
- // north side
|
|
|
- addTriangle(
|
|
|
- ex, sy, sz, 1.0f, 0.0f, 0.0f, northTexStartX, northTexEndY,
|
|
|
- ex, ey, ez, 1.0f, 0.0f, 0.0f, northTexEndX, northTexStartY,
|
|
|
- ex, sy, ez, 1.0f, 0.0f, 0.0f, northTexEndX, northTexEndY);
|
|
|
- addTriangle(
|
|
|
- ex, sy, sz, 1.0f, 0.0f, 0.0f, northTexStartX, northTexEndY,
|
|
|
- ex, ey, sz, 1.0f, 0.0f, 0.0f, northTexStartX, northTexStartY,
|
|
|
- ex, ey, ez, 1.0f, 0.0f, 0.0f, northTexEndX, northTexStartY);
|
|
|
-
|
|
|
- // south side
|
|
|
- addTriangle(
|
|
|
- sx, sy, sz, -1.0f, 0.0f, 0.0f, southTexStartX, southTexEndY,
|
|
|
- sx, sy, ez, -1.0f, 0.0f, 0.0f, southTexEndX, southTexEndY,
|
|
|
- sx, ey, ez, -1.0f, 0.0f, 0.0f, southTexEndX, southTexStartY);
|
|
|
- addTriangle(
|
|
|
- sx, sy, sz, -1.0f, 0.0f, 0.0f, southTexStartX, southTexEndY,
|
|
|
- sx, ey, ez, -1.0f, 0.0f, 0.0f, southTexEndX, southTexStartY,
|
|
|
- sx, ey, sz, -1.0f, 0.0f, 0.0f, southTexStartX, southTexStartY);
|
|
|
-
|
|
|
- // east side
|
|
|
- addTriangle(
|
|
|
- sx, sy, ez, 0.0f, 0.0f, 1.0f, eastTexStartX, eastTexEndY,
|
|
|
- ex, sy, ez, 0.0f, 0.0f, 1.0f, eastTexEndX, eastTexEndY,
|
|
|
- ex, ey, ez, 0.0f, 0.0f, 1.0f, eastTexEndX, eastTexStartY);
|
|
|
- addTriangle(
|
|
|
- sx, sy, ez, 0.0f, 0.0f, 1.0f, eastTexStartX, eastTexEndY,
|
|
|
- ex, ey, ez, 0.0f, 0.0f, 1.0f, eastTexEndX, eastTexStartY,
|
|
|
- sx, ey, ez, 0.0f, 0.0f, 1.0f, eastTexStartX, eastTexStartY);
|
|
|
-
|
|
|
- // west side
|
|
|
- addTriangle(
|
|
|
- sx, sy, sz, 0.0f, 0.0f, -1.0f, westTexStartX, westTexEndY,
|
|
|
- ex, ey, sz, 0.0f, 0.0f, -1.0f, westTexEndX, westTexStartY,
|
|
|
- ex, sy, sz, 0.0f, 0.0f, -1.0f, westTexEndX, westTexEndY);
|
|
|
- addTriangle(
|
|
|
- sx, sy, sz, 0.0f, 0.0f, -1.0f, westTexStartX, westTexEndY,
|
|
|
- sx, ey, sz, 0.0f, 0.0f, -1.0f, westTexStartX, westTexStartY,
|
|
|
- ex, ey, sz, 0.0f, 0.0f, -1.0f, westTexEndX, westTexStartY);
|
|
|
-}
|
|
|
-
|
|
|
+}
|