[EDIT] edit lib files
This commit is contained in:
100
src/main.cpp
Normal file
100
src/main.cpp
Normal file
@@ -0,0 +1,100 @@
|
||||
#include <GL/glew.h>
|
||||
#include <GLFW/glfw3.h>
|
||||
#include "tigl.h"
|
||||
#include "FpsCam.h"
|
||||
#include <iostream>
|
||||
#include <glm/gtc/matrix_transform.hpp>
|
||||
using tigl::Vertex;
|
||||
|
||||
#pragma comment(lib, "glfw3.lib")
|
||||
#pragma comment(lib, "glew32s.lib")
|
||||
#pragma comment(lib, "opengl32.lib")
|
||||
|
||||
GLFWwindow* window;
|
||||
|
||||
void init();
|
||||
void update();
|
||||
void draw();
|
||||
|
||||
int main(void)
|
||||
{
|
||||
if (!glfwInit())
|
||||
throw "Could not initialize glwf";
|
||||
window = glfwCreateWindow(1400, 800, "Hello World", NULL, NULL);
|
||||
if (!window)
|
||||
{
|
||||
glfwTerminate();
|
||||
throw "Could not initialize glwf";
|
||||
}
|
||||
glfwMakeContextCurrent(window);
|
||||
|
||||
tigl::init();
|
||||
|
||||
init();
|
||||
|
||||
while (!glfwWindowShouldClose(window))
|
||||
{
|
||||
update();
|
||||
draw();
|
||||
glfwSwapBuffers(window);
|
||||
glfwPollEvents();
|
||||
}
|
||||
|
||||
glfwTerminate();
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
FpsCam* camera;
|
||||
|
||||
void init()
|
||||
{
|
||||
glfwSetKeyCallback(window, [](GLFWwindow* window, int key, int scancode, int action, int mods)
|
||||
{
|
||||
if (key == GLFW_KEY_ESCAPE)
|
||||
glfwSetWindowShouldClose(window, true);
|
||||
});
|
||||
camera = new FpsCam(window);
|
||||
}
|
||||
|
||||
|
||||
void update()
|
||||
{
|
||||
camera->update(window);
|
||||
|
||||
}
|
||||
|
||||
void draw()
|
||||
{
|
||||
glClearColor(0.3f, 0.4f, 0.6f, 1.0f);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
int viewport[4];
|
||||
glGetIntegerv(GL_VIEWPORT, viewport);
|
||||
glm::mat4 projection = glm::perspective(glm::radians(75.0f), viewport[2] / (float)viewport[3], 0.01f, 100.0f);
|
||||
|
||||
tigl::shader->setProjectionMatrix(projection);
|
||||
tigl::shader->setViewMatrix(camera->getMatrix());
|
||||
tigl::shader->setModelMatrix(glm::mat4(1.0f));
|
||||
|
||||
tigl::shader->enableColor(true);
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
tigl::begin(GL_TRIANGLES);
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(-2, -1, -4), glm::vec4(1, 0, 0, 1)));
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(2, -1, -4), glm::vec4(0, 1, 0, 1)));
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(0, 1, -4), glm::vec4(0, 0, 1, 1)));
|
||||
|
||||
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(-10, -1, -10), glm::vec4(1, 1, 1, 1)));
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(-10, -1, 10), glm::vec4(1, 1, 1, 1)));
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(10, -1, 10), glm::vec4(1, 1, 1, 1)));
|
||||
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(-10, -1, -10), glm::vec4(1, 1, 1, 1)));
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(10, -1, -10), glm::vec4(1, 1, 1, 1)));
|
||||
tigl::addVertex(Vertex::PC(glm::vec3(10, -1, 10), glm::vec4(1, 1, 1, 1)));
|
||||
|
||||
tigl::end();
|
||||
}
|
||||
Reference in New Issue
Block a user