-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathccamera.h
87 lines (72 loc) · 3.68 KB
/
ccamera.h
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/***********************************************************************************************
created: 2023-11-15
author: chensong
purpose: camera
输赢不重要,答案对你们有什么意义才重要。
光阴者,百代之过客也,唯有奋力奔跑,方能生风起时,是时代造英雄,英雄存在于时代。或许世人道你轻狂,可你本就年少啊。 看护好,自己的理想和激情。
我可能会遇到很多的人,听他们讲好2多的故事,我来写成故事或编成歌,用我学来的各种乐器演奏它。
然后还可能在一个国家遇到一个心仪我的姑娘,她可能会被我帅气的外表捕获,又会被我深邃的内涵吸引,在某个下雨的夜晚,她会全身淋透然后要在我狭小的住处换身上的湿衣服。
3小时候后她告诉我她其实是这个国家的公主,她愿意向父皇求婚。我不得已告诉她我是穿越而来的男主角,我始终要回到自己的世界。
然后我的身影慢慢消失,我看到她眼里的泪水,心里却没有任何痛苦,我才知道,原来我的心被丢掉了,我游历全世界的原因,就是要找回自己的本心。
于是我开始有意寻找各种各样失去心的人,我变成一块砖头,一颗树,一滴水,一朵白云,去听大家为什么会失去自己的本心。
我发现,刚出生的宝宝,本心还在,慢慢的,他们的本心就会消失,收到了各种黑暗之光的侵蚀。
从一次争论,到嫉妒和悲愤,还有委屈和痛苦,我看到一只只无形的手,把他们的本心扯碎,蒙蔽,偷走,再也回不到主人都身边。
我叫他本心猎手。他可能是和宇宙同在的级别 但是我并不害怕,我仔细回忆自己平淡的一生 寻找本心猎手的痕迹。
沿着自己的回忆,一个个的场景忽闪而过,最后发现,我的本心,在我写代码的时候,会回来。
安静,淡然,代码就是我的一切,写代码就是我本心回归的最好方式,我还没找到本心猎手,但我相信,顺着这个线索,我一定能顺藤摸瓜,把他揪出来。
************************************************************************************************/
#ifndef _C_CAMERA_H_
#define _C_CAMERA_H_
#include <Windows.h>
#include <stdint.h>
#include <GL/eglew.h>
#include <vector>
#include<string>
#include<fstream>
#include<sstream>
#include<iostream>
#include<cerrno>
#include <qvector.h>
#include <Qvector2D>
#include <Qvector3D>
#include <Qvector4D>
#include <QMatrix4x4>
//#include <QMatrix>
#include <QInputEvent>
#include "cvbo.h"
//#include "ctexture.h"
//#define MAX_TEXTURE_SIZE 32
namespace chen {
class ccamera
{
public:
ccamera(int width, int height, QVector3D position);
~ccamera();
public:
// Updates the camera matrix to the Vertex Shader
void updateMatrix(float FOVdeg, float nearPlane, float farPlane);
// Exports the camera matrix to a shader
void Matrix(cshader* shader, const char* uniform);
// Handles camera inputs
void Inputs(QKeyEvent* event);
void Inputs(QMouseEvent* event);
public:
// Stores the main vectors of the camera
QVector3D Position;
QVector3D Orientation;// (0.0f, 0.0f, -1.0f);
QVector3D Up; // (0.0f, 1.0f, 0.0f);
QMatrix4x4 cameraMatrix;// (1.0f, 0.0f, 0.0f, 0.0f,
//0.0f, 1.0f, 0.0f, 0.0f,
//0.0f, 0.0f, 1.0f, 0.0f,
//0.0f, 0.0f, 0.0f, 1.0f);
// Prevents the camera from jumping around when first clicking left click
bool firstClick = true;
// Stores the width and height of the window
int width;
int height;
// Adjust the speed of the camera and it's sensitivity when looking around
float speed = 0.1f;
float sensitivity = 100.0f;
};
}
#endif