Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Ellipsoid Buffers
- vec3* ellipsoidVBO;
- unsigned short* ellipsoidIBO;
- WireframeSphere(0.5f, slicesCount, stacksCount, ellipsoidVBO, ellipsoidIBO);
- glGenBuffers(1, &ellipsoidBuffer);
- glBindBuffer(GL_ARRAY_BUFFER, ellipsoidBuffer);
- glBufferData(GL_ARRAY_BUFFER, (slicesCount * (stacksCount - 1) + 2) * 2 * 12, ellipsoidVBO, GL_STATIC_DRAW);
- glGenBuffers(1, &ellipsoidIndexBuffer);
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ellipsoidIndexBuffer);
- glBufferData(GL_ELEMENT_ARRAY_BUFFER, (2 * slicesCount * (stacksCount - 1) + slicesCount + 1) * 2, ellipsoidIBO, GL_STATIC_DRAW);
- // Axii Buffers
- vec3* axiiVBO;
- unsigned short* axiiIBO;
- AxiiLines(30, axiiVBO, axiiIBO);
- glGenBuffers(1, &axiiBuffer);
- glBindBuffer(GL_ARRAY_BUFFER, axiiBuffer);
- glBufferData(GL_ARRAY_BUFFER, 6 * 2 * 12, axiiVBO, GL_STATIC_DRAW);
- glGenBuffers(1, &axiiIndexBuffer);
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, axiiIndexBuffer);
- glBufferData(GL_ELEMENT_ARRAY_BUFFER, 6 * 2, axiiIBO, GL_STATIC_DRAW);
- Render:
- void Render()
- {
- glClear(GL_COLOR_BUFFER_BIT);
- // Draw the ellipsoid
- glBindBuffer(GL_ARRAY_BUFFER, ellipsoidBuffer);
- glVertexPointer(3, GL_FLOAT, 24, BUFFER_OFFSET(0));
- glNormalPointer(GL_FLOAT, 24, BUFFER_OFFSET(12));
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ellipsoidIndexBuffer);
- glUniformMatrix4fv(model, 1, true, ellipsoidMatrix);
- glDrawElements(GL_LINE_STRIP, 2 * slicesCount * (stacksCount - 1) + slicesCount + 1, GL_UNSIGNED_SHORT, BUFFER_OFFSET(0));
- // Draw the axii lines
- glBindBuffer(GL_ARRAY_BUFFER, axiiBuffer);
- glVertexPointer(3, GL_FLOAT, 24, BUFFER_OFFSET(0));
- glColorPointer(3, GL_FLOAT, 24, BUFFER_OFFSET(12));
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, axiiIndexBuffer);
- glUniformMatrix4fv(model, 1, true, mat4());
- glDrawElements(GL_LINES, 6, GL_UNSIGNED_SHORT, BUFFER_OFFSET(0));
- glFlush();
- }
Add Comment
Please, Sign In to add comment