Hello everyone,
I've been interested in evaluating Horde3D for a while now, and with a new project spooling up I thought it would be the perfect time to see if it suited my needs. After two days of experimenting, I've come to the conclusion that it is one fantastic piece of software. I find the API super clean and consistent, and I really like how slim, lightweight, and straight forward it is to integrate your library; especially how it doesn't require 500,000 external prebuilt dependencies (read: Ogre3D). However, I have run into one significant stumbling block.
Ubuntu is one of our target platforms; more specifically we would like to support non-proprietary drivers (since moving forward it appears as if the non-proprietary drivers are going to be seeing more support than the vendor built ones anyway). With the recent addition of DXT format support (SOIL?) via the EXT_texture_compression_s3tc OpenGL extension, it is no longer possible for environments running open source drivers to run games developed using Horde3D (see:
http://en.swpat.org/wiki/OpenGL)
Basically, there are patents being held on the proprietary formats that are required in order to use those particular texture compressions.
Now, that leaves me with two options (maybe 3, with your help) for proposing to the team.
1 - I can offer to manually disable the requirement. This would take me a small but non-trivial amount of time, and would require us to continually apply our patch and test against every release of Horde3D during our (projected many year) development cycle. I know that the extension is a relatively new addition and I can create a diffpatch between the two versions specifically calling out the areas that will need to get rolled back - hopefully making the maintenance not as terrible in the long term. Even so this is overhead we'd like to avoid. (We don't have a graphics programmer on the team, and boy do we dislike doing graphics =] )
2 - We can roll back the version of Horde3D we use, and lock into that version. Our product isn't particularly necessarily graphics intensive, so this is a viable (but unsavory) option. I am not a fan of this.
3 - With your help, we could integrate a cmake option to disable the extension by: not including source files that require it, and adding a compiler define to prevent it's use. I could probably hack it out for myself, but in order to integrate it into the trunk source tree, I'd like some community oversight (or, even better, if any of you knows how to do it quickly, that would save me some time! I'll buy you a cookie!)
So that's a LOT of text to say "Is there a way to be able to easily disable EXT_texture_compression_s3tc requirements from Horde3D, and in a way that will make it easy to continue to apply version updates from the Horde community? And hey, maybe I'm not the only one interested in targeting OSes with non-proprietary drivers!"
Thanks for your time and thanks for your efforts on this great graphics engine~
-Howard