比较提交
没有共同的提交。2ee55100e589acfb6adf9820819e79aa84672df7 和 89c0b0b920c42bf8a6905e0a33f128fa5f5f6ce7 的历史完全不同。
2ee55100e5
...
89c0b0b920
共有 1 个文件被更改,包括 40 次插入 和 82 次删除
80
main.c
80
main.c
|
@ -18,7 +18,7 @@
|
||||||
*
|
*
|
||||||
* For instance if you want fps and position set the value to 2*3=6
|
* For instance if you want fps and position set the value to 2*3=6
|
||||||
*/
|
*/
|
||||||
#define DEBUG_MODE 1
|
#define DEBUG_MODE 5
|
||||||
|
|
||||||
GLuint screenWidth = 720, screenHeight = 480;
|
GLuint screenWidth = 720, screenHeight = 480;
|
||||||
const GLFWvidmode* mode;
|
const GLFWvidmode* mode;
|
||||||
|
@ -44,13 +44,6 @@ float ez[3] = {0};
|
||||||
float ex[3] = {0};
|
float ex[3] = {0};
|
||||||
float ey[3] = {0};
|
float ey[3] = {0};
|
||||||
|
|
||||||
bool upar = false;
|
|
||||||
bool downar = false;
|
|
||||||
bool leftar = false;
|
|
||||||
bool rightar = false;
|
|
||||||
bool forwardar = false;
|
|
||||||
bool backwardar = false;
|
|
||||||
|
|
||||||
float fovValue=1.0;
|
float fovValue=1.0;
|
||||||
//283=3.14/2 * 180
|
//283=3.14/2 * 180
|
||||||
const int maxYmouse = 283;
|
const int maxYmouse = 283;
|
||||||
|
@ -80,7 +73,8 @@ static void key_callback(GLFWwindow* window, int key, int scancode, int action,
|
||||||
multiplicatorFov=1.;
|
multiplicatorFov=1.;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action == GLFW_PRESS) {
|
if (!action == GLFW_PRESS)
|
||||||
|
return;
|
||||||
if (key == GLFW_KEY_ESCAPE)
|
if (key == GLFW_KEY_ESCAPE)
|
||||||
{
|
{
|
||||||
//glfwSetWindowShouldClose(window, GLFW_TRUE);
|
//glfwSetWindowShouldClose(window, GLFW_TRUE);
|
||||||
|
@ -99,40 +93,29 @@ static void key_callback(GLFWwindow* window, int key, int scancode, int action,
|
||||||
}
|
}
|
||||||
if (key == GLFW_KEY_BACKSPACE)
|
if (key == GLFW_KEY_BACKSPACE)
|
||||||
glfwSetWindowShouldClose(window, GLFW_TRUE);
|
glfwSetWindowShouldClose(window, GLFW_TRUE);
|
||||||
if (key == GLFW_KEY_SPACE)
|
if (key == GLFW_KEY_SPACE && stateControl != GLFW_PRESS)
|
||||||
upar = true;
|
camPosY += speed;
|
||||||
if (key == GLFW_KEY_LEFT_CONTROL)
|
if (key == GLFW_KEY_SPACE && stateControl == GLFW_PRESS)
|
||||||
downar = true;
|
camPosY -= speed;
|
||||||
if (key == GLFW_KEY_UP || key == GLFW_KEY_W) {
|
if (key == GLFW_KEY_UP || key == GLFW_KEY_W) {
|
||||||
forwardar = true;
|
camPosX += speed*ez[0];
|
||||||
|
camPosY += speed*ez[1];
|
||||||
|
camPosZ += speed*ez[2];
|
||||||
}
|
}
|
||||||
if (key == GLFW_KEY_DOWN || key == GLFW_KEY_S ) {
|
if (key == GLFW_KEY_DOWN || key == GLFW_KEY_S ) {
|
||||||
backwardar = true;
|
camPosX -= speed*ez[0];
|
||||||
|
camPosY -= speed*ez[1];
|
||||||
|
camPosZ -= speed*ez[2];
|
||||||
}
|
}
|
||||||
if (key == GLFW_KEY_RIGHT || key == GLFW_KEY_D) {
|
if (key == GLFW_KEY_RIGHT || key == GLFW_KEY_D) {
|
||||||
rightar = true;
|
camPosX += speed*ex[0];
|
||||||
|
camPosY += speed*ex[1];
|
||||||
|
camPosZ += speed*ex[2];
|
||||||
}
|
}
|
||||||
if (key == GLFW_KEY_LEFT || key == GLFW_KEY_A ) {
|
if (key == GLFW_KEY_LEFT || key == GLFW_KEY_A ) {
|
||||||
leftar = true;
|
camPosX -= speed*ex[0];
|
||||||
}
|
camPosY -= speed*ex[1];
|
||||||
}
|
camPosZ -= speed*ex[2];
|
||||||
else if (action == GLFW_RELEASE) {
|
|
||||||
if (key == GLFW_KEY_SPACE)
|
|
||||||
upar = false;
|
|
||||||
if (key == GLFW_KEY_LEFT_CONTROL)
|
|
||||||
downar = false;
|
|
||||||
if (key == GLFW_KEY_UP || key == GLFW_KEY_W) {
|
|
||||||
forwardar = false;
|
|
||||||
}
|
|
||||||
if (key == GLFW_KEY_DOWN || key == GLFW_KEY_S ) {
|
|
||||||
backwardar = false;
|
|
||||||
}
|
|
||||||
if (key == GLFW_KEY_RIGHT || key == GLFW_KEY_D) {
|
|
||||||
rightar = false;
|
|
||||||
}
|
|
||||||
if (key == GLFW_KEY_LEFT || key == GLFW_KEY_A ) {
|
|
||||||
leftar = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -273,31 +256,6 @@ int main (){
|
||||||
ey[2] = ex[0] * ez[1] - ex[1] * ez[0];
|
ey[2] = ex[0] * ez[1] - ex[1] * ez[0];
|
||||||
//crossProduct(ex,ez);
|
//crossProduct(ex,ez);
|
||||||
|
|
||||||
if (upar)
|
|
||||||
camPosY += speed;
|
|
||||||
if (downar)
|
|
||||||
camPosY -= speed;
|
|
||||||
if (forwardar) {
|
|
||||||
camPosX += speed*ez[0];
|
|
||||||
camPosY += speed*ez[1];
|
|
||||||
camPosZ += speed*ez[2];
|
|
||||||
}
|
|
||||||
if (backwardar) {
|
|
||||||
camPosX -= speed*ez[0];
|
|
||||||
camPosY -= speed*ez[1];
|
|
||||||
camPosZ -= speed*ez[2];
|
|
||||||
}
|
|
||||||
if (rightar) {
|
|
||||||
camPosX += speed*ex[0];
|
|
||||||
camPosY += speed*ex[1];
|
|
||||||
camPosZ += speed*ex[2];
|
|
||||||
}
|
|
||||||
if (leftar) {
|
|
||||||
camPosX -= speed*ex[0];
|
|
||||||
camPosY -= speed*ex[1];
|
|
||||||
camPosZ -= speed*ex[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
currentTime = glfwGetTime();
|
currentTime = glfwGetTime();
|
||||||
deltaTime = currentTime - lastFrame;
|
deltaTime = currentTime - lastFrame;
|
||||||
lastFrame = currentTime;
|
lastFrame = currentTime;
|
||||||
|
|
正在加载…
在新工单中引用