aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Frustum.h
blob: 4ce37160fb50dba9537e93f6bfde957513b59abd (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
#pragma once
#include "FrustumData.h"

class Frustum : public FrustumData
{
private:
	static Frustum *frustum;

public:
	static FrustumData *getFrustum();

    ///////////////////////////////// NORMALIZE PLANE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*
    /////
    /////	This normalizes a plane (A side) from a given frustum.
    /////
    ///////////////////////////////// NORMALIZE PLANE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*

private:
    void normalizePlane(float **frustum, int side);

    FloatBuffer *_proj;
    FloatBuffer *_modl;
    FloatBuffer *_clip;

    void calculateFrustum();

	Frustum();
	~Frustum();
};