Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "renderer/window.h"
- #include "renderer/shader.h"
- #include "renderer/mesh.h"
- const char *vertexShaderSource = "#version 330 core\n"
- "layout (location = 0) in vec3 aPos;\n"
- "void main()\n"
- "{\n"
- " gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n"
- "}\0";
- const char *fragmentShaderSource = "#version 330 core\n"
- "out vec4 FragColor;\n"
- "void main()\n"
- "{\n"
- " FragColor = vec4(1.0f, 1.5f, 0.5f, 1.0f);\n"
- "}\n\0";
- const char *vertexShaderSource2 = "#version 330 core\n"
- "layout (location = 0) in vec3 aPos;\n"
- "void main()\n"
- "{\n"
- " gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n"
- "}\0";
- const char *fragmentShaderSource2 = "#version 330 core\n"
- "out vec4 FragColor;\n"
- "void main()\n"
- "{\n"
- " FragColor = vec4(1.0f, 0.5f, 0.2f, 1.0f);\n"
- "}\n\0";
- float vertices[] = {
- -0.7f, 0.6f, 0.0f, // top right
- -0.7f, 0.8f, 0.0f, // bottom right
- -0.9f, 0.8f, 0.0f, // bottom left
- -0.9f, 0.6f, 0.0f // top left
- };
- float vertices2[] = {
- 0.5f, 0.5f, 0.0f, // top right
- 0.5f, -0.5f, 0.0f, // bottom right
- -0.5f, -0.5f, 0.0f, // bottom left
- -0.5f, 0.5f, 0.0f // top left
- };
- unsigned int indices[] = { // note that we start from 0!
- 0, 1, 3, // first Triangle
- 1, 2, 3 // second Triangle
- };
- int main()
- {
- xcge::Window w(800,600);
- w.show();
- xcge::Shader s(vertexShaderSource,fragmentShaderSource);
- s.compileAll();
- xcge::Shader s2(vertexShaderSource2,fragmentShaderSource2);
- s2.compileAll();
- xcge::Mesh m;
- xcge::Mesh m2;
- m2.setShader(s2);
- m2.setVertices(vertices2,sizeof(vertices2));
- m2.setIndicies(indices,sizeof(indices));
- m.setShader(s);
- m.setVertices(vertices,sizeof(vertices));
- m.setIndicies(indices,sizeof(indices));
- while (w.isOpen())
- {
- w.pollEvents();
- w.clear();
- w.render(m2);
- w.render(m);
- w.display();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement