2 #include <GL/freeglut.h>
6 static unsigned int sdr_curve_top;
10 if(!(sdr_curve_top = create_program_load("sdr/curve_top.v.glsl", "sdr/curve_top.f.glsl"))) {
18 free_program(sdr_curve_top);
25 glScalef(1.1, 3, 1.1);
26 glTranslatef(0, 0.5, 0);
30 glShadeModel(GL_FLAT);
34 glRotatef(90, 1, 0, 0);
35 glTranslatef(0, -0.15, 0);
36 glutSolidCylinder(2, 0.3, 16, 1);
41 glTranslatef(0, 3, 0);
42 glRotatef(22.5, 0, 1, 0);
43 glRotatef(-90, 1, 0, 0);
44 glutSolidCylinder(0.5, 1.0, 8, 1);
47 // trim middle cylinder (mporntoura)
49 glTranslatef(0, 3.9, 0);
50 glRotatef(22.5, 0, 1, 0);
51 glRotatef(-90, 1, 0, 0);
52 glutSolidCylinder(0.55, 0.02, 8, 1);
55 // top smaller cylinder
57 glTranslatef(0, 4, 0);
58 glRotatef(22.5, 0, 1, 0);
59 glRotatef(-90, 1, 0, 0);
60 glutSolidCylinder(0.28, 0.5, 8, 1);
63 // top wire even smaller cylinder
65 glTranslatef(0, 4.5, 0);
66 glRotatef(22.5, 0, 1, 0);
67 glRotatef(-90, 1, 0, 0);
68 glutWireCylinder(0.18, 0.3, 9, 3);
71 glShadeModel(GL_SMOOTH);
75 glTranslatef(0, 4.8, 0);
76 glRotatef(22.5, 0, 1, 0);
77 glRotatef(-90, 1, 0, 0);
78 glutSolidCone(0.18, 0.2, 9, 1);
83 glTranslatef(-0.28, 4, 0);
85 glutSolidSphere(0.1, 16, 16);
88 //pyramid on top of kormos
89 bind_program(sdr_curve_top);
92 glTranslatef(0, 3, 0);
93 glRotatef(45, 0, 1, 0);
94 glRotatef(-90, 1, 0, 0);
96 glutSolidCylinder(1, 1, 4, 16);
107 glTranslatef(0, -1.25, 0);
110 glutSolidSphere(10, 32, 32);