Advertisement
RoshHoul

Untitled

Mar 30th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. void drawBall(Shader ourShader) {
  2. // Build and compile our shader program
  3. // Shader ourShader("shader.vs", "shader.frag");
  4. GLuint VAO, VBO, EBO, VBO2;
  5. glGenVertexArrays(1, &VAO);
  6. glGenBuffers(1, &VBO);
  7. glGenBuffers(1, &EBO);
  8. glGenBuffers(1, &VBO2);
  9.  
  10. // BIND VAO
  11. glBindVertexArray(VAO);
  12.  
  13. // CREATE THE SPHERE
  14. //makeSphere();
  15.  
  16. // ASSIGNING VBO AND EBO, POINTERS
  17. glBindBuffer(GL_ARRAY_BUFFER, VBO);
  18. glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(GLfloat), &vertices[0], GL_STATIC_DRAW);
  19.  
  20.  
  21. glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (GLvoid*)0);
  22. glEnableVertexAttribArray(0);
  23.  
  24. glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);
  25. glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(GLint), &indices[0], GL_STATIC_DRAW);
  26.  
  27. glBindBuffer(GL_ARRAY_BUFFER, VBO2);
  28. glBufferData(GL_ARRAY_BUFFER, UV.size() * sizeof(GLfloat), &UV[0], GL_STATIC_DRAW);
  29.  
  30. glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 0, (GLvoid*)0);
  31. glEnableVertexAttribArray(2);
  32.  
  33. // UNBIND VAO
  34. glBindVertexArray(0);
  35.  
  36. glBindVertexArray(VAO);
  37.  
  38. //glBindTexture(GL_TEXTURE_2D, texID);
  39. glActiveTexture(GL_TEXTURE0 + texID);
  40. //cout << "ball texture: " << texID << endl;
  41. GLint modelLoc = glGetUniformLocation(ourShader.Program, "model");
  42. //ACTUAL DRAWING
  43. loc = glGetUniformLocation(ourShader.Program, "ourTexture");
  44. glUniform1i(loc, texID);
  45. glm::mat4 model;
  46. model = glm::translate(model, ballPos);
  47. glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model));
  48. glDrawElements(GL_TRIANGLES, indices.size(), GL_UNSIGNED_INT, 0);
  49. glBindVertexArray(0);
  50.  
  51. // GETTING RID OF EVERYTHING BEFORE NEXT GAME LOOP
  52. glDeleteVertexArrays(1, &VAO);
  53. glDeleteBuffers(1, &VBO);
  54. glDeleteBuffers(1, &EBO);
  55. glDeleteBuffers(1, &VBO2);
  56.  
  57.  
  58. }
  59.  
  60. GLuint texture1;
  61. void loadTexture() {
  62. glGenTextures(1, &texID);
  63.  
  64. glActiveTexture(GL_TEXTURE0 + texID);
  65. glBindTexture(GL_TEXTURE_2D, texID);
  66. int text_w, text_h;
  67. unsigned char* image = SOIL_load_image(texturePath.c_str(), &text_w, &text_h, 0, SOIL_LOAD_RGB);
  68.  
  69. glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, text_w, text_h, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
  70. glGenerateMipmap(GL_TEXTURE_2D);
  71.  
  72.  
  73.  
  74. SOIL_free_image_data(image);
  75. glBindTexture(GL_TEXTURE_2D, 0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement