2011-10-19 01:10:15 +02:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <glut.h>
|
|
|
|
|
|
|
|
#include "config.h"
|
|
|
|
#include "display.h"
|
|
|
|
|
|
|
|
|
|
|
|
void drawLEDCube() {
|
|
|
|
int x, y, z;
|
2011-10-20 20:28:00 +02:00
|
|
|
|
|
|
|
// LEDs
|
|
|
|
glMaterialfv(GL_FRONT, GL_DIFFUSE, ledOnMaterial);
|
|
|
|
for (z=-10; z<=10; z+=10) // Ebene
|
|
|
|
for (y=-10; y<=10; y+=10) // Zeile
|
|
|
|
for (x=-10; x<=10; x+=10) { // Spalte
|
2011-10-19 01:10:15 +02:00
|
|
|
glPushMatrix();
|
2011-10-20 20:28:00 +02:00
|
|
|
glTranslatef(x, y, z);
|
2011-10-19 01:10:15 +02:00
|
|
|
glutSolidSphere(1.0, 16, 16);
|
2011-10-20 20:28:00 +02:00
|
|
|
gluCylinder(quadric, 1.0, 1.0, 1.3, 16, 2);
|
|
|
|
//glTranslatef(x, y, z+0.8);
|
|
|
|
//gluCylinder(quadric, 1.3, 1.3, 0.2, 16, 2);
|
|
|
|
//gluDisk(
|
|
|
|
|
2011-10-19 01:10:15 +02:00
|
|
|
glPopMatrix();
|
|
|
|
}
|
2011-10-20 20:28:00 +02:00
|
|
|
|
|
|
|
// Wires
|
|
|
|
for (y=-10; y<=10; y+=10)
|
|
|
|
for (x=-10; x<=10; x+=10) {
|
|
|
|
glMaterialfv(GL_FRONT, GL_DIFFUSE, ((x == 0 || y == 0) ? innerWireMaterial : wireMaterial));
|
|
|
|
|
|
|
|
// Front
|
|
|
|
glBegin(GL_LINES);
|
|
|
|
glVertex3f(x, y, -10);
|
|
|
|
glVertex3f(x, y, 10);
|
|
|
|
glEnd();
|
|
|
|
|
|
|
|
// Side
|
|
|
|
glBegin(GL_LINES);
|
|
|
|
glVertex3f(-10, x, y);
|
|
|
|
glVertex3f(10, x, y);
|
|
|
|
glEnd();
|
|
|
|
|
|
|
|
// Top
|
|
|
|
glBegin(GL_LINES);
|
|
|
|
glVertex3f(x, -10, y);
|
|
|
|
glVertex3f(x, 10, y);
|
|
|
|
glEnd();
|
|
|
|
}
|
2011-10-19 01:10:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
void display() {
|
|
|
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
|
|
|
|
|
|
|
glMatrixMode(GL_PROJECTION);
|
|
|
|
glLoadIdentity();
|
2011-10-20 20:28:00 +02:00
|
|
|
gluPerspective(ZOOM_LEVEL, WINDOW_WIDTH/WINDOW_HEIGHT, 1.0, 350.0);
|
2011-10-19 01:10:15 +02:00
|
|
|
|
|
|
|
glMatrixMode(GL_MODELVIEW);
|
|
|
|
glLoadIdentity();
|
2011-10-20 20:28:00 +02:00
|
|
|
gluLookAt(lookX, eyeAngle, lookZ, 0, 0, 0, 0, 1, 0);
|
2011-10-19 01:10:15 +02:00
|
|
|
|
|
|
|
drawLEDCube();
|
|
|
|
glutSwapBuffers();
|
|
|
|
}
|
|
|
|
|