Hallöchen
Ich bins wieder mal nach langer Zeit.
Ich habe ein Program mit OpenGL dass einen Kreis zeichnet, jedoch sagt er mir beim kompilieren, dass der Bezeichenr "display" nicht gefunden wurde obwohl ich eine Funktion dazu habe.
Original Fehlermeldung: error C2065: 'display': nichtdeklarierter Bezeichner
Das gleiche für die Funktion RenderCircle.
Mein Code:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
#include "glut.h"
#include <cmath>
int main(int argc, char* argv[])
{
// GLUT mit Kommandozeilenparametern initialisieren
glutInit(&argc, argv);
// Fenster mit Titel öffnen
glutCreateWindow("Formen");
// unsere eigene Anzeigefunktion setzen
glutDisplayFunc(display);
// Hauptschleife des Programms aufrufen
glutMainLoop();
// Alles ok, Programm beenden
return 0;
}
void display(void)
{
// Hintergrundfarbe (rgba) setzen
glClearColor(0.0, 0.0, 0.0, 1.0);
// Hintergrund löschen
glClear(GL_COLOR_BUFFER_BIT);
// orthogonale Projektion setzen (2D)
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1.5, 1.5, // X Achsen Koordinaten von..bis
-1.5, 1.5, // Y Achsen Koordinaten von..bis
-1.0, 1.0); // Z Achsen Koordinaten von..bis
// Quadrat zeichnen
//glColor3f(0.2f, 0.2f, 0.2f);
//renderSquare();
// Kreis zeichnen
glColor3f(0.8f, 0.8f, 0.8f);
renderCircle(50);
// Stern zeichnen
//glColor3f(0.5f, 0.5f, 0.5f);
//renderStar(5);
// Hinteren Bildschirmpuffer nach vorne bringen
glutSwapBuffers();
} // display()
void renderCircle(unsigned int steps)
{
// Dreiecksfächer zeichnen
glBegin(GL_TRIANGLE_FAN);
// Zentrum (ertsten Punkt) setzen
glVertex2f(0.0f, 0.0f);
for (unsigned int i = 0; i <= steps; i++)
{
double PI = 3.1415731;
// Umlaufenden Winkel berechnen
float angle = float(i) / float(steps) * 2.0f * PI;
// Kreisfunktionen Sinus und Cosinus verwenden
float x = sinf(angle);
float y = cosf(angle);
// Punkt setzen
glVertex2f(x, y);
}
// Ende des Dreiecksfächers
glEnd();
} // renderCircle()
|
Danke im Voraus!