Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //michael polyakov copyright
- #pragma once
- #ifndef __SMALLCUBE_H__
- #define GLEW_STATIC
- #include <glew.h>
- #include <glfw3.h>
- #include<cstring>
- class SmallCube
- {
- public:
- SmallCube()
- {
- memset(color,0,sizeof(color));
- size = 0.0;
- }
- void rotatez() //вверх
- {
- int tmp = color[0];
- color[0] = color[4];
- color[4] = color[5];
- color[5] = color[1];
- color[1] = tmp;
- }
- void mrotatez() //вниз
- {
- int tmp = color[0];
- color[0] = color[1];
- color[1] = color[5];
- color[5] = color[4];
- color[4] = tmp;
- }
- void rotatex() //вправо
- {
- int tmp = color[0];
- color[0] = color[3];
- color[3] = color[5];
- color[5] = color[2];
- color[2] = tmp;
- }
- void rotatey() //влево
- {
- int tmp = color[0];
- color[0] = color[2];
- color[2] = color[5];
- color[5] = color[3];
- color[3] = tmp;
- }
- void drawsmallcube()
- {
- GLfloat vertices[] =
- {
- -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1,
- 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1,
- -1, -1, -1, -1, -1, 1, 1, -1, 1, 1, -1, -1,
- -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1,
- -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1,
- -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1
- };
- GLfloat colors[] =
- {
- 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, //синяя вершина
- 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, //красная вершина
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, //белая вершина
- 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, //зеленая вершина
- 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, //желтая вершина
- 1, 0.5, 0, 1, 0.5, 0, 1, 0.5, 0, 1, 0.5, 0 //оранжевая вершина
- };
- static float alpha = 0;
- //attempt to rotate cube
- glRotatef(alpha, 0, 1, 0);
- /* We have a color array and a vertex array */
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
- glVertexPointer(3, GL_FLOAT, 0, vertices);
- glColorPointer(3, GL_FLOAT, 0, colors);
- /* Send data : 24 vertices */
- glDrawArrays(GL_QUADS, 0, 24);
- /* Cleanup states */
- glDisableClientState(GL_COLOR_ARRAY);
- glDisableClientState(GL_VERTEX_ARRAY);
- alpha += 1;
- }
- void drawt(int x, int y, int z)
- {
- glTranslated(x, y, z);
- drawsmallcube();
- }
- private:
- //2 5 1 6 4 3
- int color[6]; //6 граней у маленького кубика; // {верх, низ, спереди, сзади, слева, справа}
- double size; // размер ребра
- };
- #endif // !__SMALLCUBE_H__
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement