Большая просьба всем обладателям gcc 4.3.x поставить libglut, собрать эту программу и сообщить, что она показывает в окне.
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
GLUquadricObj* sphere;
GLdouble radius = 0.5;
GLint slices = 20;
GLint stacks = 20;
GLfloat sphere_coord[3] = {0.0,0.0,0.0};
void init(void)
{
GLfloat mat_specular[] = {1.0,1.0,1.0,1.0};
GLfloat mat_diffuse[] = {0.5,0.0,0.0,0.0};
GLfloat mat_shininess[] = {100.0};
GLfloat light0_position[] = {-1.0,1.0,-3.0,0.0};
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
glLightfv(GL_LIGHT0, GL_POSITION, light0_position);
glEnable(GL_DEPTH_TEST);
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_SMOOTH);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
}
void drawSphere(float x, float y, float z, GLUquadricObj* sphere,
GLfloat radius, GLint slices, GLint stacks)
{
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glTranslatef(x, y, z);
gluQuadricDrawStyle(sphere, GLU_FILL);
gluSphere(sphere, radius, slices, stacks);
glPopMatrix();
}
void display(void)
{
int i;
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);
glColor3f(0.3, 0.1, 0.7);
drawSphere(sphere_coord[0], sphere_coord[1], sphere_coord[2], sphere, radius, slices, stacks);
glFlush ();
}
void reshape (int w, int h)
{
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glOrtho(-1.0, 1.0, -1.0, 1.0, 2.0, -1.0);
glTranslatef(0.0, 0.0, -1.0);
}
int main(int argc, char** argv)
{
int i;
sphere = gluNewQuadric();
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}
Собирать вот так:
gcc -o prog prog.c -lGL -lglut
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от stassats
Ответ на:
комментарий
от seiken
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум SDL_CreateThread() Помогите:(( (2004)
- Форум Попробуйте откомпилить у себя (2005)
- Форум openGL: почему-то не работает ничего, кроме последней функции (2011)
- Форум OpenGL. Ошибка проверки глубины. (2013)
- Форум [opengl] мерцает текст (2011)
- Форум [OpenGL] Туплю :/ (2008)
- Форум QtOpenGL. Почему-то сегфолтится на glBegin() (2011)
- Форум OpenGL: освещение (2005)
- Форум Загрузка текстуры opengl objective C (2010)
- Форум Начал изучать openGL (2009)