我正试图在屏幕上渲染两个不同的对象.我可以告诉的问题是OpenGL使用了错误的顶点缓冲区但是使用了正确的索引缓冲区,但我对目前正在做的任何事情都不太了解,因为我已经开始重新学习OpenGL了.
这是目前显示的内容:http://puu.sh/ekhd7/cca60981ab.jpg
如果对于对象的类或者应该如何进行它是一个坏主意,请告诉我 - 我什么都没有.
struct point4{
vec4 vertex;
vec4 color;
};
class Pyramid
{
public:
//Variables and Contructor here
void init(){
glGenBuffers( 1, &Arraybufferx );
glBindBuffer( GL_ARRAY_BUFFER, Arraybufferx );
glBufferData( GL_ARRAY_BUFFER, sizeof(point4)*16, NULL, GL_STATIC_DRAW );
glBufferSubData( GL_ARRAY_BUFFER, 0, sizeof(left), left );
glBufferSubData( GL_ARRAY_BUFFER, sizeof(left) , sizeof(right), right );
glBufferSubData( GL_ARRAY_BUFFER, sizeof(left)*2, sizeof(back), back );
glBufferSubData( GL_ARRAY_BUFFER, sizeof(left)*3, sizeof(front), front );
glBufferSubData( GL_ARRAY_BUFFER, sizeof(left)*4, sizeof(bottom), bottom );
glGenBuffers( 1, &IndexBuffer );
glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, IndexBuffer );
glBufferData( GL_ELEMENT_ARRAY_BUFFER, …Run Code Online (Sandbox Code Playgroud)