All pastes #585699 Raw Edit

Someone

public text v1 · immutable
·published 2007-06-23 11:59 UTC
rendered paste body
                                    
#include <math.h> 
#include <glut.h>  
#include <stdio.h>


float kat = 0;
float kat2 = 0;


void uklad()
{
glBegin (GL_LINES);
glColor3f(0.7, 0.7, 0.7);
    glVertex3f (0.0, 0.0, -10.0);
    glVertex3f (0.0, 0.0, 10.0);

	glColor3f(0.3, 0.3, 0.3);
    glVertex3f (-10.0, 0.0, 0.0);
    glVertex3f (10.0, 0.0, 0.0);

    glVertex3f (0.0, -10.0, 0.0);
    glVertex3f (0.0, 10.0, 0.0);
glEnd();
glFlush();
}

void kostka()
{
  glColor3f(1.0, 0.0, 0.0);
  //glTranslatef(0.0,top,0.0); // przesuniecie
  glRotatef(kat,0.0f,1.0f,0.0f); //obrot
glBegin(GL_POLYGON); //sposob laczenia, polygon - po kolei laczy wierzcholki
 glColor3f(0.2, 0.2, 0.2); //kolor wierzch. w rgb,
 glVertex3f(0.2, 1.0, -0.2); //wierzcholki x y z w (3f - 3 wierzcholki float)
 glVertex3f(-0.2, 1.0, -0.2);
 glVertex3f(-0.2, 1.0, 0.2);
 glVertex3f(0.2, 1.0, 0.2);
glEnd();

glBegin(GL_POLYGON); //sposob laczenia, polygon - po kolei laczy wierzcholki
 glColor3f(0.2, 0.2, 0.2); //kolor wierzch. w rgb,
 glVertex3f(0.2, 1.0, -0.2); //wierzcholki x y z w (3f - 3 wierzcholki float)
 glVertex3f(0.2, 1.0, 0.2);
 glVertex3f(0.2, 1.4, 0.2);
 glVertex3f(0.2, 1.4, -0.2);
glEnd();

glBegin(GL_POLYGON); //sposob laczenia, polygon - po kolei laczy wierzcholki
 glColor3f(0.2, 0.2, 0.2); //kolor wierzch. w rgb,
 glVertex3f(0.2, 1.0, 0.2); //wierzcholki x y z w (3f - 3 wierzcholki float)
 glVertex3f(-0.2, 1.0, 0.2);
 glVertex3f(-0.2, 1.4, 0.2);
 glVertex3f(0.2, 1.4, 0.2);
glEnd();

glBegin(GL_POLYGON); //sposob laczenia, polygon - po kolei laczy wierzcholki
 glColor3f(0.2, 0.2, 0.2); //kolor wierzch. w rgb,
 glVertex3f(-0.2, 1.0, 0.2); //wierzcholki x y z w (3f - 3 wierzcholki float)
 glVertex3f(-0.2, 1.0, -0.2);
 glVertex3f(-0.2, 1.4, -0.2);
 glVertex3f(-0.2, 1.4, 0.2);
glEnd();

glBegin(GL_POLYGON); //sposob laczenia, polygon - po kolei laczy wierzcholki
 glColor3f(0.2, 0.2, 0.2); //kolor wierzch. w rgb,
 glVertex3f(-0.2, 1.0, -0.2); //wierzcholki x y z w (3f - 3 wierzcholki float)
 glVertex3f(0.2, 1.0, -0.2);
 glVertex3f(0.2, 1.4, -0.2);
 glVertex3f(-0.2, 1.4, -0.2);
glEnd();

glFlush();
glutSwapBuffers();
}



void display()
{
glClearColor(1.0,1.0,1.0,1.0); //kolor tla RGB od 0 do 1
glClear(GL_COLOR_BUFFER_BIT); //wypelnienie bufora koloru wartosciami clearcolor

  glMatrixMode (GL_MODELVIEW);
  glLoadIdentity ();

gluPerspective(45.0, 1.0, 0.1, 20.0); //geometria widzenia, parametry:

gluLookAt(-2.0, 5.0, -5.0,  0.0, 0.0, 0.0,  0.0, 1.0, 0.0);
//x,y,z oko:), 3 wspolrzedne oka, dokad patrzy 3 parametry, 3 parametry -pion na kliszy

glBegin(GL_POLYGON); //sposob laczenia, polygon - po kolei laczy wierzcholki
 glColor3f(0.9, 0.9, 0.9); //kolor wierzch. w rgb,
 glVertex3f(3.0, 0.0, -3.0); //wierzcholki x y z w (3f - 3 wierzcholki float)
 glVertex3f(-3.0, 0.0, -3.0);
 glVertex3f(-3.0, 0.0, 3.0);
 glVertex3f(3.0, 0.0, 3.0);
glEnd();
glFlush();

uklad(); //rysowanie ukladu

glRotatef(kat2,0.0f,1.0f,0.0f); //obrot

glPushMatrix();
glRotatef(18,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka(); 
glPopMatrix();

glPushMatrix();
glRotatef(36,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();


glPushMatrix();
glRotatef(54,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(72,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();


glPushMatrix();
glRotatef(90,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(108,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(126,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(142,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(160,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(188,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(206,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(224,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(242,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(260,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(288,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(306,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(324,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(342,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();

glPushMatrix();
glRotatef(360,0.0f,1.0f,0.0f);
glTranslatef(2.0,0.0,0.0); // przesuniecie
kostka();
glPopMatrix();


}

void Reshape (int width, int height)
{
  glViewport (0,0,width,height);
  glMatrixMode (GL_PROJECTION);
  glLoadIdentity ();
  display ();
}

void obroty(void)
{
	if (kat==360) kat=0;
	kat+=2;

    if (kat2==360) kat2=0;
	kat2+=1;

	glutPostRedisplay();
}

void main(int argc, char** argv)
{
 glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE);

 glutInitWindowSize(600,400);
 glutInitWindowPosition(100,100);
 glutCreateWindow("Animacja");

 glutDisplayFunc(display);
 glutReshapeFunc (Reshape);

 glutIdleFunc(obroty);
 glutMainLoop();

}