스피 (VAO를 사용하지 않고) 오직 버텍스 버퍼 오브젝트를 사용하여 하나의 삼각형을 그릴 수있는 작은 OpenGL을 프로그램을 작성하려고들하지만, 그것은 단지내가 컴파일 할 때마다
여기에 블루 스크린을 보여줍니다 VBO에 OpenGL 그리기 내 코드
#include <iostream>
#include <GLUT/glut.h>
#include <OpenGL/gl3.h>
GLuint VBO;
GLuint VAO;
void display();
float vertex[] = {-1.0, 0.0 , 0.0,
0.0 , 1.0 , 0.0 ,
1.0 , 0.0 , 0.0 };
int main (int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutInitWindowSize(1000, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow("My First GLUT/OpenGL Window");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
void display()
{
glClearColor(0, 0, 1,1);
glClear(GL_COLOR_BUFFER_BIT);
glGenBuffers(1,&VBO);
glBindBuffer(GL_ARRAY_BUFFER, VBO);
glBufferData(GL_ARRAY_BUFFER,9 *sizeof(vertex),vertex, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3,GL_FLOAT, GL_TRUE, 0, 0);
glDrawArrays(GL_TRIANGLES, 0, 3);
glDisableVertexAttribArray(0);
glutSwapBuffers();
};
쉐이더는 어디에 있습니까? glVertexPointer()를 사용하지 않는 이유는 무엇입니까? – genpfault
Iam OpenGL 프로그래밍에 익숙하지 않고 OpenGL을 사용하여 여러 가지 드로잉 방법을 탐험 해 보았으므로 (프로그램의 모든 부분을 다루지는 못했지만) 온라인 자습서를 따르면서이 코드를 만들었습니다. 쉐이더 프로그램 .. – BulBul