Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void szescian(void)
- {
- glBegin(GL_QUADS);
- glColor3d(1, 0.5, 0);
- glVertex3d(20, 20, 20);
- glVertex3d(-20, 20, 20);
- glVertex3d(-20, -20, 20);
- glVertex3d(20, -20, 20);
- glColor3d(0, 0.5, 1);
- glVertex3d(20, 20, 20);
- glVertex3d(20, -20, 20);
- glVertex3d(20, -20, -20);
- glVertex3d(20, 20, -20);
- glColor3d(1, 0, 0.5);
- glVertex3d(20, 20, 20);
- glVertex3d(20, 20, -20);
- glVertex3d(-20, 20, -20);
- glVertex3d(-20, 20, 20);
- glColor3d(0.5, 0, 1);
- glVertex3d(-20, 20, -20);
- glVertex3d(20, 20, -20);
- glVertex3d(20, -20, -20);
- glVertex3d(-20, -20, -20);
- glColor3d(0, 0.5, 0);
- glVertex3d(-20, 20, 20);
- glVertex3d(-20, 20, -20);
- glVertex3d(-20, -20, -20);
- glVertex3d(-20, -20, 20);
- glColor3d(0.5, 0.5, 0.5);
- glVertex3d(20, -20, 20);
- glVertex3d(-20, -20, 20);
- glVertex3d(-20, -20, -20);
- glVertex3d(20, -20, -20);
- glEnd();
- }
- void walec(double r, double h)
- {
- double PI = 3.14, alpha,x,y;
- glBegin(GL_TRIANGLE_FAN);
- glColor3d(1, 0.5, 0);
- glVertex3d(0, 0, 0);
- for (alpha = 0.0; alpha <= 2 * PI; alpha += PI / 8) {
- x = r*sin(alpha);
- y = r*cos(alpha);
- glVertex3d(x, y, 0);
- }
- glEnd();
- glBegin(GL_QUAD_STRIP);
- glColor3d(1, 0, 0.5);
- for (alpha = 0.0; alpha <= 2 * PI; alpha += PI / 8) {
- x = r*sin(alpha);
- y = r*cos(alpha);
- glVertex3d(x, y, 0);
- glVertex3d(x, y, h);
- }
- glEnd();
- glBegin(GL_TRIANGLE_FAN);
- glColor3d(1, 0.5, 0);
- glVertex3d(0, 0, h);
- for (alpha = 0.0; alpha >= -2 * PI; alpha -= PI / 8) {
- x = r*sin(alpha);
- y = r*cos(alpha);
- glVertex3d(x, y, h);
- }
- glEnd();
- }
- void ramie(double r1, double r2, double h, double d)
- {
- double PI = 3.14, alpha, x, y;
- glBegin(GL_TRIANGLE_FAN);
- glColor3d(1, 0.5, 0);
- glVertex3d(0, 0, 0);
- for (alpha = PI; alpha <= 2 * PI; alpha += PI / 8) {
- x = r1*sin(alpha);
- y = r1*cos(alpha);
- glVertex3d(x, y, 0);
- }
- glEnd();
- glBegin(GL_QUAD_STRIP);
- glColor3d(1, 0, 0.5);
- for (alpha = PI; alpha <= 2 * PI; alpha += PI / 8) {
- x = r1*sin(alpha);
- y = r1*cos(alpha);
- glVertex3d(x, y, 0);
- glVertex3d(x, y, h);
- }
- glEnd();
- glBegin(GL_TRIANGLE_FAN);
- glColor3d(1, 0.5, 0);
- glVertex3d(0, 0, h);
- for (alpha = 0.0; alpha >= - PI; alpha -= PI / 8) {
- x = r1*sin(alpha);
- y = r1*cos(alpha);
- glVertex3d(x, y, h);
- }
- glEnd();
- glBegin(GL_QUADS);
- glColor3d(1, 0.5, 0);
- glVertex3d(0, r1, h);
- glVertex3d(0, -r1, h);
- glVertex3d(d, -r2, h);
- glVertex3d(d, r2, h);
- glVertex3d(0, -r1, 0);
- glVertex3d(0, r1, 0);
- glVertex3d(d, r2, 0);
- glVertex3d(d, -r2, 0);
- glColor3d(1, 0, 0.5);
- glVertex3d(0, r1, 0);
- glVertex3d(0, r1, h);
- glVertex3d(d, r2, h);
- glVertex3d(d, r2, 0);
- glVertex3d(0, -r1, h);
- glVertex3d(0, -r1, 0);
- glVertex3d(d, -r2, 0);
- glVertex3d(d, -r2, h);
- glEnd();
- glBegin(GL_TRIANGLE_FAN);
- glColor3d(1, 0.5, 0);
- glVertex3d(d, 0, 0);
- for (alpha = 0.0; alpha <= PI; alpha += PI / 8) {
- x = r2*sin(alpha);
- y = r2*cos(alpha);
- glVertex3d(d+x, y, 0);
- }
- glEnd();
- glBegin(GL_QUAD_STRIP);
- glColor3d(1, 0, 0.5);
- for (alpha = 0.0; alpha <= PI; alpha += PI / 8) {
- x = r2*sin(alpha);
- y = r2*cos(alpha);
- glVertex3d(d+x, y, 0);
- glVertex3d(d+x, y, h);
- }
- glEnd();
- glBegin(GL_TRIANGLE_FAN);
- glColor3d(1, 0.5, 0);
- glVertex3d(d, 0, h);
- for (alpha = -PI; alpha >= -2 * PI; alpha -= PI / 8) {
- x = r2*sin(alpha);
- y = r2*cos(alpha);
- glVertex3d(d+x, y, h);
- }
- glEnd();
- }
- int element = 3;
- double R1 = 30, R2 = 20, H = 10, D = 100;
- switch (element) {
- case 1:
- szescian();
- break;
- case 2:
- walec(R1, H);
- break;
- case 3:
- ramie(R1, R2, H, D);
- }
- case WM_KEYDOWN:
- {
- if (wParam == VK_UP)
- xRot -= 5.0f;
- if (wParam == VK_DOWN)
- xRot += 5.0f;
- if (wParam == VK_LEFT)
- yRot -= 5.0f;
- if (wParam == VK_RIGHT)
- yRot += 5.0f;
- xRot = (const int)xRot % 360;
- yRot = (const int)yRot % 360;
- InvalidateRect(hWnd, NULL, FALSE);
- if (wParam == 'Y')
- R1 += 1;
- if (wParam == 'H')
- R1 -= 1;
- if (wParam == 'U')
- R2 += 1;
- if (wParam == 'J')
- R2 -= 1;
- if (wParam == 'I')
- H += 1;
- if (wParam == 'K')
- H -= 1;
- if (wParam == 'O')
- D += 1;
- if (wParam == 'L')
- D -= 1;
- }
- break;
- // A menu command
- case WM_COMMAND:
- {
- switch (LOWORD(wParam))
- {
- // Exit the program
- case ID_FILE_EXIT:
- DestroyWindow(hWnd);
- break;
- case ID_ELEMENT_SZESCIAN:
- element = 1;
- break;
- case ID_ELEMENT_WALEC:
- element = 2;
- break;
- case ID_ELEMENT_RAMIE:
- element = 3;
- break;
- }
- RenderScene();
- SwapBuffers(hDC);
- }
- break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement