Skip to content

Commit 8bc8e97

Browse files
committed
relative remote player rendering
1 parent 15c4bc8 commit 8bc8e97

4 files changed

Lines changed: 21 additions & 17 deletions

File tree

voxels-client/src/main/java/client/entity/ClientEntityManager.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ public void removeItem(long id) {
5959
items.remove(id);
6060
}
6161

62-
public void renderAll(Graphics g) {
62+
public void renderAll(Graphics g, Vector3f camPos) {
6363
renderItems(g);
64-
renderPlayers(g);
64+
renderPlayers(g, camPos);
6565
}
6666

6767
public void update(float tpf) {
@@ -74,10 +74,10 @@ private void updatePlayers(float tpf) {
7474
}
7575
}
7676

77-
private void renderPlayers(Graphics g) {
77+
private void renderPlayers(Graphics g, Vector3f camPos) {
7878

7979
for (RemotePlayer player : remotePlayers.values()) {
80-
renderRemotePlayer(g, player);
80+
renderRemotePlayer(g, player, camPos);
8181
}
8282
}
8383

@@ -88,7 +88,7 @@ private void renderItems(Graphics g) {
8888
}
8989
}
9090

91-
private void renderRemotePlayer(Graphics g, RemotePlayer player) {
92-
RemotePlayerRenderer.render(g, player);
91+
private void renderRemotePlayer(Graphics g, RemotePlayer player, Vector3f camPos) {
92+
RemotePlayerRenderer.render(g, player, camPos);
9393
}
9494
}

voxels-client/src/main/java/client/entity/EntitiesComponent.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,25 @@
44
import engine.components.AbstractComponent;
55
import engine.components.RenderableComponent;
66
import engine.rendering.Graphics;
7+
import math.Vector3f;
78

89
public class EntitiesComponent extends AbstractComponent implements RenderableComponent {
910

10-
private GameClient client;
11-
11+
private Vector3f camPos = new Vector3f();
12+
private GameClient client;
13+
1214
public EntitiesComponent(GameClient client) {
13-
this.client = client;
15+
this.client = client;
1416
}
15-
17+
1618
@Override
1719
public void update(float tpf) {
18-
client.getEntityManager().update(tpf);
20+
client.getEntityManager().update(tpf);
1921
}
20-
22+
2123
@Override
2224
public void render(Graphics g) {
23-
client.getEntityManager().renderAll(g);
25+
getOwner().getScene().getActiveCamera().getTransform().getPosition(camPos);
26+
client.getEntityManager().renderAll(g, camPos);
2427
}
2528
}

voxels-client/src/main/java/client/models/CharacterModel.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package client.models;
22

33
import engine.components.Geometry;
4+
import engine.rendering.Graphics;
45
import engine.rendering.Material;
56
import engine.scene.SceneNode;
67
import math.Color;

voxels-client/src/main/java/client/rendering/RemotePlayerRenderer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22

33
import client.player.RemotePlayer;
44
import engine.rendering.Graphics;
5-
import engine.runtime.debug.core.DebugDraw;
6-
import math.Color;
75
import math.Vector3f;
86

97
public class RemotePlayerRenderer {
108

119
private RemotePlayerRenderer() {}
1210

13-
public static void render(Graphics g, RemotePlayer player) {
11+
public static void render(Graphics g, RemotePlayer player, Vector3f camPos) {
1412
float x = player.getX();
1513
float y = player.getY();
1614
float z = player.getZ();
1715

16+
g.pushMatrix();
17+
g.translate(x - camPos.x, -(y + camPos.y) - 0.5f, z - camPos.z);
1818
player.getModel().render(g);
1919

20-
DebugDraw.drawSphere(new Vector3f(x, y, z), 0.5f, Color.BLUE);
20+
g.popMatrix();
2121
}
2222
}

0 commit comments

Comments
 (0)