From: Johannes <JBrunen@DataSolid.de> - 2016-07-13 12:10:08
|
Hello Carsten, On 01.07.2016 18:17, Carsten Neumann wrote: > > I suspect the problem is that the texture memory is not initialized, > because there is no data specified for the OSG::Image used with the > OSG::TextureObjChunk - which is mostly fine since these textures are > used as render targets before they are read for the first time - except > for the adaptive luminance texture from the previous frame (which has > undefined content on the very first frame). > For this texture we would need a way to initialize it when it is > created. I haven't thought through all the consequences, but one way to > do this is add a field SFVector4f "ClearValues" to TextureObjChunk and > if the Image has no data issue the glClearTexImage call when creating > the OpenGL texture object in TextureObjChunk::handleTexture. > I will take a look into this. > > On linux it is more about the default compiler dialect. GCC 6.1 > (released 2016-04) is the first release that switched the default to > C++14 (previous C++98). So while it had full support for C++11 for a > long time it is not enabled by default. > That means system compiler for distributions that are widely used at > this point in time need an extra compiler switch to compile C++11 code. > I would not bother with that. C++11 and C++14 are such a huge leap that it would be a shame to stick to old C++03, at least for the long time. However, I will of course respect your decision :-) > > The overload of std::vector<T>::erase() that takes a const_iterator > overload is a C++11 addition, before erase() required a iterator > argument, see http://en.cppreference.com/w/cpp/container/vector/erase > I didn't know that. >> Third, I'm still hoping for a CMake build system solution for the >> AntTweakBar library, that allows me to easily integrate the library in >> the generated example projects. Do you have an idea how to setup things >> for that. If not, however, I will take some time to come up with a >> solution, hopefully. > > I haven't gotten around to that. If you want to take a stab at it that > would certainly be appreciated. It should be possible to model this > after the existing external dependencies (e.g. image format libs). So > add a OSG_CONFIGURE_ANTTWEAKBAR macro to > CMake/OSGConfigurePackages.cmake and call find_package() from there. For > more details I'll have to dive back into the build system myself, been a > while that I looked at it. You can find a patch file that contains the CMake build system adaptation for AntTweakBar on Wikisend: http://wikisend.com/download/506872/org.patch Besides, it contains additional changes to CMake build system in order to support some other libraries. 1. I added the Qhull library. Currently it is not used at all, but I'm planning to use it in the OpenSG Base library in the near future. Link: http://www.qhull.org/ https://github.com/qhull/qhull/wiki 2. I added the glm and vmath libraries. I do not intend to use them in any OpenSG libraries nor in any example, but here and then I use them in my examples for testing some code fragments. They are used a lot in the OpenGL community and sometimes it is quite useful to have them at hand. If the libraries are not present nothing awful will be happen. I would really appreciate support for these. The changes are really minimal. Remark 1: AntTweakBar, glm and vmath only show up in the Simple examples targets. Remark 2: I'm not that proficient in the OpenSG CMake build system that I can testimony that the changes are correct for every platform. I only work on the Microsoft Windows platform and do not know the rules for Linux, OSX, etc. On my Windows platform everythink is working fine, so. I hope that OpenSG can support these four libraries in the way I do need them. Best, Johannes |