Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned int shaderProgram;
- unsigned int vbo[2];
- static const char* vertexSource = R"(
- #version 330
- precision highp float;
- uniform mat4 MVP;
- layout(location=0) in vec2 vtxPos;
- layout(location=1) in vec3 vtxColor;
- out vec3 color;
- void main(){
- gl_Position = vec4(vtxPos.x, vtxPos.y, 0, 1);
- color = vtxColor;
- }
- )";
- static const char* fragmentSource = R"(
- #version 330
- precision highp float;
- in vec3 color;
- out vec4 finalColor;
- void main(){
- finalcolor = vec4(color, 1);
- }
- )";
- unsigned int vertexShader = glCreateShader(GL_VERTEX_SHADER);
- glShaderSource(vertexShader, 1, &vertexSource, NULL);
- glCompileShader(vertexShader);
- unsigned int fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
- glShaderSource(fragmentShader, 1, &fragmentSource, NULL);
- glCompileShader(fragmentShader);
- shaderProgram = glCreateProgram();
- glAttachShader(shaderProgram, vertexShader);
- glAttachShader(shaderProgram, fragmentShader);
- glBindFragDataLocation(shaderProgram, 0, "finalColor");
- glLinkProgram(shaderProgram);
- glUseProgram(shaderProgram);
- //erre se emlékszem
- float vertices[] = {};
- //szinek
- float colors[] = {};
- glGenBuffers(2, &vbo[0]);
- glBindBuffer(GL_ARRAY_BUFFER, vbo[0]);
- glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
- glEnableVertexAttribArray(0);
- glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, NULL);
- glBindBuffer(GL_ARRAY_BUFFER, vbo[1]);
- glBufferData(GL_ARRAY_BUFFER, sizeof(colors), colors, GL_STATIC_DRAW);
- glEnableVertexAttribArray(1);
- glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, NULL);
- //nememlekszem az adatokra, de a koordináta rendszer szerint kell kitölteni ahol a háromszög volt
- int wCx = 60; (ha -30;+30 között van)
- int wCy = 60; (szintén)
- mat4 MVPtrans(2/wCx,0,0,0, 0,2/wCy,0,0, 0,0,1,0, 0,0,0,1);
- int location = glGetUniformLocation(shaderProgram, "MVP");
- glUniformMatrix4f(location, 1, GL_TRUE, MVPtrans);
- glClearColor(0,0,0,0);
- glClear(COLOR_BUFFER_BIT);
- glDrawArrays(GL_TRIANGLES, 0, 3);
- glutSwapBuffers();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement