Skocz do zawartości

Polecane posty

Witam wszystkich bardzo serdecznie.

Przejdę szybko do rzeczy. Otóż nauczyłem się już C++, obecnie chciałem nauczyć się OpenGL, kupiłem książkę "OpenGL księga eksperta wydanie V", wszystko było ładnie, aż do pierwszego programu przykładowego w którym wystąpić miał czerwony trójkąt na niebieskim tle. Problem polega na tym, że ściągnąłem wszystkie biblioteki jakie miałem posiadać (freeglut i GLTools), wszystko na Visual C++ 2008 Express Edition, ale pierwszy program choćbym nie wiem jak się starał nie chce się uruchomić, cały czas wychodzi błąd fatal error C1020: unexpected #endif

 

Cały podany kod wygląda następująco:

------------------------------------------------------------------------------------------------------------------------------------------------------

// Triangle.cpp

#include <GLTools.h>

#include <GLShaderManager.h>

 

#define FREEGLUT_STATIC

#include <GL/glut.h>

#endif

 

GLBatch triangleBatch;

GLShaderManager shaderManager;

 

void ChangeSize(int w, int h)

{

glViewport (0, 0, w, h);

}

 

void SetupRC()

{

glClearColor(0.0f, 0.0f, 1.0f, 1.0f);

shaderManager.InitializeStockShaders();

 

GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,

0.5f, 0.0f, 0.0f,

0.0f, 0.5f, 0.0f};

triangleBatch.Begin(GL_TRIANGLES, 3);

triangleBatch.CopyVertexData3f(vVerts);

triangleBatch.End();

}

 

void RenderScene(void)

{

glClear(GL_COLOR_BUFFER_BIT | GL_DEPF_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };

shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);

triangleBatch.Draw();

glutSwapBuffers();

}

 

int main (int argc, char* argv[])

{

gltSetWorkingDirectory(argv[0]);

glutInt(&argc, argv);

glutIntDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);

glutIntWindowSize(800, 600);

glutCreateWindow("Trójkąt");

glutReshapeFunc(ChangeSize);

glutDisplayFunc(RenderScene);

 

GLenum err = glewInit();

if (GLEW_OK != err)

{

fprintf(stderr, "Błąd GLEW: %s\n", glewGetErrorString(err));

return 1;

}

SetupRC();

glutMainLoop();

return 0;

}

 

------------------------------------------------------------------------------------------------------------------------------------------------------

Wnioskuję że jest coś nie tak z nagłówkiem #endif jednak kiedy go usuwam pojawia się więcej błędów. Nie wiem jak rozwiązać ten problem, a to dopiero początek nauki więc będę wdzięczny za wszelaką pomoc :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

×