Я написал простой код OpenGL, и он работал нормально в Visual Studio.
Но когда это было перемещено в Xcode. это был успех компиляции, но результаты были другими. Там нет ничего.
Я только изменил OpenGL, GLUT заголовочный файл.
Я подозреваю, что диапазон gluPerspective
отличается в XCode, но я не знаю точную причину.
Как это работает?
Вот мой код в xcode
#include <GLUT/GLUT.h>
#include <OpenGL/OpenGL.h>
#include <OpenGL/glu.h>
#include <math.h>
#include <stdio.h>
double RotAngle = 0.0;
void OctPyramid(void)
{
int N = 8;
double angle = 2 * 3.1415 / N;
int i;
glBegin(GL_LINE_LOOP);
for (i = 0; i < N; i++)
glVertex3f(cos(i * angle), -1.0, sin(i * angle));
glEnd();
glBegin(GL_LINES);
for (i = 0; i < N; i++)
{
glVertex3f(0.0, 1.0, 0.0);
glVertex3f(cos(i * angle), -1.0, sin(i * angle));
}
glEnd();
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0.0, 0.0, -6.0);
glRotatef(RotAngle, 0, 1, 0);
glTranslatef(2.0, 0.0, 0.0);
OctPyramid();
glFlush();
}
void IncAngle(void)
{
RotAngle = RotAngle + 0.08;
if (RotAngle > 360.0)
RotAngle = RotAngle - 360.0;
glutPostRedisplay();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitWindowPosition(0, 0);
glutInitWindowSize(400, 400);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow("main");
glClearColor(0.0, 0.0, 0.0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45, 1.0, 0.0, 10.0);
glutDisplayFunc(display);
glutIdleFunc(IncAngle);
glutMainLoop();
}