View difference between Paste ID: f9yjbcrT and Di5aWaSh
SHOW: | | - or go back to the newest paste.
1
//Enthält Graphikprimitiven wie drawBox() drawPolygon() und so
2-
	virtual void update();
2+
//Diese Funktionen berechnen dann die Kameraposition mit ein
3
class Renderer {
4
	void drawBox(...) {...}
5
	Position cameraPos;
6-
struct PhysicsData {
6+
7-
	int x, y, x_vel, y_vel;
7+
8
class Entity {
9
	virtual void render();
10-
void updatePhysics(PhysicsData& p) {...}
10+
11
12
struct GeometryRenderData() {
13
	...
14
}
15
16-
void renderGeometry(GeometryRenderData& d) {...}
16+
void renderGeometry(Renderer& renderer, GeometryRenderData& d) {...}
17
18
class Box : Entity {
19
	PhysicsData physData;
20
	GeometryRenderData geoData;
21
22
	void update() {
23
		updatePhysics(physData);
24
	}
25
26-
	void render() {
26+
	//Rendering nutzt nur Graphikprimitiven aus Renderer
27-
		renderGeometry(geoData);
27+
	void render(Renderer& renderer) {
28
		renderGeometry(renderer, geoData);
29
	}
30
}