aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Camera.h
blob: 7e00540d09bc52a50c52fa59fb70d3952e5943da (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(std::shared_ptr<Player> player, bool mirror);

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