VSL is now at GitHub. It includes a Visual Studio 2012 project, source code for all the libs, shaders, font definition files, and a 3D model for a fountain, with textures, from project Ponte de Lima 3D.
The sample requires the following external libs:
- FreeGLUT for window management
- Assimp 3.0 library for model loading
- Devil for image loading
- GLEW for OpenGL post 1.1 functions
- TinyXML for font definition parsing
Found this some days ago and it seems perfect for something I want to do! But, I’m having trouble building it and I just can’t figure it out.
After installing all the necessary dependencies (and compiling TinyXML for that), VS11 is throwing this error: LNK1104: cannot open file ‘kernel32.lib’
Do you have any clue to what it might be?
Btw, it would be great if you could have a separate .zip with precompiled dependencies because, there might be new versions that break functionality and that might be the source of all this type of problems, for instance, the new version of ASSIMP (3.0.1270) isn’t compatible with the version you used (figured it was 2.0.863).
Sometimes there are issues when porting things from VS2010 to VS2012. I’m going to get a 2012 version soon, and also update it to support Assimp 3.0. The code samples in “CG Stuff” are already using Assimp 3.0.
Strange, I tought I had wrote another comment some minutes after but it’s not here. Anw, I’ve figured a way to “solve” this, just created a new project and copy pasted the code files there.
That being said, thank you for the response and your work!
Hi Brilliant idea, and really making the latest versions of openGL user friendly.
One issue with Ubuntu GCC 4.6+ I get huge numbers of warnings. Some I can fix, unused variables, comparison between signed and unsigned, ect. However some such as
empty macro arguments are undefined in ISO C90 and ISO C++98
anonymous variadic macros were introduced in C99
ISO C++ 1998 does not support ‘long long’
and several more I can only get rid of by setting my make to ignore errors, which I don’t think is the best thing for portabillity. eg
CPFLAGS = -Wall -g -DILUT_USE_OPENGL -Wno-reorder -Wno-long-long -Wno-variadic-macros
Would it be possible in future to make some aspects more easy to run on Gcc machines? Thanks brilliant job and hope you don’t think I’m being out of place.
Many thanks for the feedback. You’re quite right, Windows is too relaxed as far as C compiling goes. I’ll check the issues you mention regarding gcc.
I tried to compile the lib on ubuntu 12.04. I get a huge number of errors about undefined symbols. Here’s an example:
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Iinclude -I/usr/X11R6/include -I. -o vsProfileLib.o source/vsProfileLib.cpp
source/vsProfileLib.cpp: In member function ‘void VSProfileLib::createNewSection(std::string&, double, bool)’:
source/vsProfileLib.cpp:154:32: error: ‘GL_TIMESTAMP’ was not declared in this scope
source/vsProfileLib.cpp:154:44: error: ‘glQueryCounter’ was not declared in this scope
source/vsProfileLib.cpp: In member function ‘void VSProfileLib::updateSection(int, double)’:
source/vsProfileLib.cpp:191:32: error: ‘GL_TIMESTAMP’ was not declared in this scope
source/vsProfileLib.cpp:191:44: error: ‘glQueryCounter’ was not declared in this scope
source/vsProfileLib.cpp: In member function ‘void VSProfileLib::accumulate()’:
source/vsProfileLib.cpp:209:92: error: ‘GL_TIMESTAMP’ was not declared in this scope
source/vsProfileLib.cpp:209:104: error: ‘glQueryCounter’ was not declared in this scope
source/vsProfileLib.cpp: In static member function ‘static void VSProfileLib::DumpLevels(int, int, double)’:
All these functions are defined in glext.h or glew.h, but strangely enough, it cannot finds it.
What did I miss??
Could it be that your version of OpenGL does not yet support OpenGL timer queries?