adding some user control
This commit is contained in:
parent
b3bd9857a4
commit
9f17ec9b56
4 changed files with 17 additions and 7 deletions
|
@ -51,3 +51,8 @@ Essayez d'adapter les méthodes montrées ci-dessus, aucune garantie que cela fo
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
Capture d'écran de la toute première version d'EnginPasTangible (v0.2.2)
|
Capture d'écran de la toute première version d'EnginPasTangible (v0.2.2)
|
||||||
|
|
||||||
|
### V0.2.5
|
||||||
|
|
||||||
|
<br>
|
||||||
|
Rotation autour du centre contrôlée par la souris (v0.2.5)
|
14
main.c
14
main.c
|
@ -1,4 +1,4 @@
|
||||||
#define APPNAMEVERSION "EnginPasTangible (alpha 0.2.4)"
|
#define APPNAMEVERSION "EnginPasTangible (alpha 0.2.5)"
|
||||||
#include "./Libraries/glad/glad.h"
|
#include "./Libraries/glad/glad.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
@ -29,10 +29,13 @@ void setupVAO();
|
||||||
unsigned int VAO;
|
unsigned int VAO;
|
||||||
|
|
||||||
float currentTime, deltaTime, lastFrame,startTime;
|
float currentTime, deltaTime, lastFrame,startTime;
|
||||||
|
float mousePosX,mousePosY,camPosX,camPosY,camPosZ,camDirX,camDirY,camDirZ;
|
||||||
|
|
||||||
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
|
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
|
||||||
{
|
{
|
||||||
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
|
if (!action == GLFW_PRESS)
|
||||||
|
return;
|
||||||
|
if (key == GLFW_KEY_ESCAPE)
|
||||||
{
|
{
|
||||||
//glfwSetWindowShouldClose(window, GLFW_TRUE);
|
//glfwSetWindowShouldClose(window, GLFW_TRUE);
|
||||||
pause=!pause;
|
pause=!pause;
|
||||||
|
@ -48,13 +51,15 @@ static void key_callback(GLFWwindow* window, int key, int scancode, int action,
|
||||||
glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);
|
glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*if (key == GLFW_KEY_SPACE && action == GLFW_PRESS)
|
if (key == GLFW_KEY_BACKSPACE)
|
||||||
glfwSetCursorPos(window, 640/2, 480/2);*/
|
glfwSetWindowShouldClose(window, GLFW_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void cursor_position_callback(GLFWwindow* window, double xpos, double ypos)
|
static void cursor_position_callback(GLFWwindow* window, double xpos, double ypos)
|
||||||
{
|
{
|
||||||
|
mousePosX = xpos;
|
||||||
|
mousePosY = ypos;
|
||||||
if (DEBUG_MODE % 3 == 0)
|
if (DEBUG_MODE % 3 == 0)
|
||||||
printf("x:%f | y:%f\n",xpos, ypos);
|
printf("x:%f | y:%f\n",xpos, ypos);
|
||||||
}
|
}
|
||||||
|
@ -119,7 +124,6 @@ int main (){
|
||||||
stbi_image_free(images[0].pixels);
|
stbi_image_free(images[0].pixels);
|
||||||
|
|
||||||
int window_width, window_height;
|
int window_width, window_height;
|
||||||
float mousePosX,mousePosY,camPosX,camPosY,camPosZ,camDirX,camDirY,camDirZ;
|
|
||||||
char FPS[20];
|
char FPS[20];
|
||||||
startTime = glfwGetTime();
|
startTime = glfwGetTime();
|
||||||
while (!glfwWindowShouldClose(window))
|
while (!glfwWindowShouldClose(window))
|
||||||
|
|
BIN
screenshots/EnginPasTangiblev0.2.5.gif
Normal file
BIN
screenshots/EnginPasTangiblev0.2.5.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 MiB |
|
@ -72,7 +72,8 @@ float Mandel(vec2 co){
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec3 lookingAt = vec3(0.);
|
vec3 lookingAt = vec3(0.);
|
||||||
vec3 posCam = vec3(-3.*sin(Time*.15),.6*cos(Time*.15),3.*cos(Time*.15));
|
//vec3 posCam = vec3(-3.*sin(Time*.15),.6*cos(Time*.15),3.*cos(Time*.15));
|
||||||
|
vec3 posCam = vec3(-3.*sin(MousePos.x/400)*(1-abs(atan(MousePos.y/500))),2*atan(MousePos.y/300),3.*cos(MousePos.x/400)*(1-abs(atan(MousePos.y/500))));
|
||||||
|
|
||||||
vec3 ez = normalize(lookingAt-posCam);////base orthonormée
|
vec3 ez = normalize(lookingAt-posCam);////base orthonormée
|
||||||
vec3 ex = normalize(cross(ez,vec3(0.,1.,0.)));
|
vec3 ex = normalize(cross(ez,vec3(0.,1.,0.)));
|
||||||
|
|
Loading…
Reference in a new issue