andeandr100

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

196 Neutral

About andeandr100

  • Rank
    Newbie

Personal Information

  1. OpenGL Vao render problem on ATI graphic card

    Have taken your advice and removed all ARB extension from the project. Sadly it did not fix the problem.   How the program look on my computer with Nvidia graphic card. How it looks on my laptop with ATI graphic card        
  2. This code runs with Opengl 3.2 The code works when i use Nvidia graphic card on both Windows 7 and Ubuntu. But when i tested on my laptop with Radeon HD 5650 on windows 7 only 50% of my vao buffer was rendered to the screen the other 50% did not render at all. I have tested to run with different shaders and changed how i created my vao buffer but i have had no luck finding out what is the problem. Can anyone see what can be the problem because i have viewed me blind on this problem for a few days.   //Vao buffer //I have assumed that my vertex and index creation step works due to they have //been successfully rendered on different machine with different OS //int vertexSize = 8 //float* _pData; /*float x,y,z; float r,g,b; float ux, uy;*/ //unsigned int* _pIndex; //vao creation glGenVertexArrays(1, &_vao); glBindVertexArray(_vao); //Bind the VBO and setup pointers for the VAO glGenBuffers(1, &_vbo); glBindBuffer(GL_ARRAY_BUFFER, _vbo); glBufferData(GL_ARRAY_BUFFER, _numVertex * vertexSize * sizeof(float), pData, GL_DYNAMIC_DRAW); glVertexAttribPointer( vertexId, 3, GL_FLOAT, GL_FALSE, sizeof(float) * vertexSize, BUFFER_OFFSET(0));//vertex glVertexAttribPointer( vertexColorId, 3, GL_FLOAT, GL_FALSE, sizeof(float) * vertexSize, BUFFER_OFFSET(sizeof(float)*3));//Color glVertexAttribPointer( UvCordId, 2, GL_FLOAT, GL_FALSE, sizeof(float) * vertexSize, BUFFER_OFFSET(sizeof(float)*6));//Uv glEnableVertexAttribArray( vertexId ); glEnableVertexAttribArray( vertexColorId ); glEnableVertexAttribArray( UvCordId ); //Bind the IBO for the VAO glGenBuffers(1, &_ibo); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _ibo); glBufferData(GL_ELEMENT_ARRAY_BUFFER, _numIndex * sizeof(GLuint), _pIndex, GL_DYNAMIC_DRAW); glBindVertexArray(0); /////////////////////////////////////////////////////////// //render code //Bind shader glUseProgramObjectARB( _program ); glUniformMatrix4fv( _projViewLoc,  1, false, _projectionCameraMatrix ); glUniformMatrix4fv( _modelViewLoc,  1, false, _modelMatrix ); glUniform1i( _textureLoc, 0 ); //Bind texture glActiveTexture( GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _textureId ); //Bind and render vao glBindVertexArray( _vao ); glDrawRangeElements(GL_TRIANGLES, 0, _numVertex, _numIndex, GL_UNSIGNED_INT, NULL); glBindVertexArray(0); //shader //vertex shader #version 140 uniform mat4 projCamView, modelMatrix; in vec3 position; in vec3 inColor; in vec2 inTextCord; out vec2 TextCord; out vec3 vertexColor; void main() { TextCord = inTextCord; vertexColor = inColor; gl_Position = projCamView * modelMatrix * vec4(position,1.0f); } //fragment shader #version 140 uniform sampler2D myTexture; in vec2 TextCord; in vec3 vertexColor; out vec4 Frag_Color; void main() { vec4 textureColor = texture2D(myTexture, TextCord); Frag_Color = vec4( textureColor.rgb * vertexColor, textureColor.a ); }