Jump to content

Archived

This topic is now archived and is closed to further replies.

Recommended Posts

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 :)

Share this post


Link to post
Share on other sites

×
×
  • Create New...