Witam, dostałem ostatnio od prowadzącej laborki z Podstaw programowania dość ambitne zadanie, mianowicie narysować za pomocą biblioteki "glut" drzewko rekurencyjne identyczne z tym: http://www.zskorzenna.ayz.pl/grfi/lgm/lgorkr_11.gif
Problem w tym, że gdy usiłuję narysować prostą linię/punkt czy cokolwiek innego program wyświetla mi tylko puste tło.
oto kod:
#include <GL/glut.h> // Header File For The GLUT Library
//#include <GL/gl.h> // Header File For The OpenGL32 Library
//#include <GL/glu.h> // Header File For The GLu32 Library
/* The number of our GLUT window */
int window;
/* A general OpenGL initialization function. Sets all of the initial parameters. */
void InitGL(int Width, int Height) // We call this right after our OpenGL window is created.
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // This Will Clear The Background Color To Black
glClearDepth(1.0); // Enables Clearing Of The Depth Buffer
glDepthFunc(GL_LESS); // The Type Of Depth Test To Do
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); // Reset The Projection Matrix
gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
}
void ReSizeGLScene(int Width, int Height)
{
if (Height==0)
Height=1;
glViewport(0, 0, Width, Height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f,(GLfloat)Width/(GLfloat)Height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
}
void DrawGLScene()
{
glutSetWindow(window);
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glBegin(GL_LINES);
glColor3f(0.0f,1.0f,0.0f);
glVertex2f(0.0f, 0.0f);
glVertex2f(50.0f, 50.0f);
glEnd();
glutSwapBuffers();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH);
glutInitWindowSize(640, 480);
glutInitWindowPosition(0, 0);
window = glutCreateWindow("Drzewko rekurencyjne");
glutDisplayFunc(&DrawGLScene);
glutIdleFunc(&DrawGLScene);
glutReshapeFunc(&ReSizeGLScene);
InitGL(640, 480);
glutMainLoop();
glutDestroyWindow(window);
return 1;
}
a to jest to co z niego wychodzi:
http://zapodaj.net/e620f02dcb842.jpg.html
Jak nie trudno się domyślić bazowałem na kodzie z tutorialu pod linkiem:
Kurs programowania GLUT
ale nie mam pojęcia czego mi brakuje do zobaczenia jakichkolwiek rezultatów.
Uprzejmie proszę o chociaż parę wskazówek, w którą stronę iść, żebym mógł samemu wykonać to zadanie.
dodanie znacznika <code class="cpp"> i usunięcie znacznika <quote> - fp