aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Camera.h
blob: 456c8858d02405b774027cd086bcd372158c98b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once
#include "..\Minecraft.World\FloatBuffer.h"
#include "..\Minecraft.World\IntBuffer.h"


class TilePos;
class Vec3;
class Player;
class Mob;

class Camera
{
public:
	static float xPlayerOffs;
    static float yPlayerOffs;
    static float zPlayerOffs;

private:
//	static IntBuffer *viewport;
	static FloatBuffer *modelview;
	static FloatBuffer *projection;
//	static FloatBuffer *position;

public:
	static float xa, ya, za, xa2, za2;

	static void prepare(shared_ptr<Player> player, bool mirror);

	static TilePos *getCameraTilePos(shared_ptr<LivingEntity> player, double alpha);
	static Vec3 *getCameraPos(shared_ptr<LivingEntity> player, double alpha);
	static int getBlockAt(Level *level, shared_ptr<LivingEntity> player, float alpha);
};