Hank
29-08-2009 06:10:04
So I managed to get Mogre for Ogre 1.6.3 to build this evening from the svn sources, but it's not a pretty process. It seems that there are a number of things that could be done make the process easier and less time consuming. I'm going to offer up a couple of suggestions here and hope for some feedback/commentary from others who have managed to get this thing to build.
1. It seems like a really good idea to split mogre.dll into two pieces, mogre_core.dll that contains only the CLR objects and mogre.dll that contains everything else. Then mogre_core.dll becomes very stable and not dependent on the ogre libraries. Ogre could then link to mogre_core instead of mogre and we could avoid the double ogre build process.
2. It seems that a little work with the autowrap tool could yield some big benefits in usability. A configuration dialog for directories would be an excellent start. We could also have it launch build.bat and validate that the results looked somewhat reasonable before continuing.
3. This one is a lot of work, but I seriously wonder if the whole technique of having the ogre object maintain a manged object is worth the misery. I wonder if we could instead simply keep a hash table of ogre object pointers and their associated managed objects that mogre had already seen. Then when a function returns an ogre object it could be looked up in the hash table rather than asked for it's managed object. It would be a little slower, but it would allow mogre to run against the regular ogre builds without the patching and rebuilding process.
Any thoughts?
Hank
1. It seems like a really good idea to split mogre.dll into two pieces, mogre_core.dll that contains only the CLR objects and mogre.dll that contains everything else. Then mogre_core.dll becomes very stable and not dependent on the ogre libraries. Ogre could then link to mogre_core instead of mogre and we could avoid the double ogre build process.
2. It seems that a little work with the autowrap tool could yield some big benefits in usability. A configuration dialog for directories would be an excellent start. We could also have it launch build.bat and validate that the results looked somewhat reasonable before continuing.
3. This one is a lot of work, but I seriously wonder if the whole technique of having the ogre object maintain a manged object is worth the misery. I wonder if we could instead simply keep a hash table of ogre object pointers and their associated managed objects that mogre had already seen. Then when a function returns an ogre object it could be looked up in the hash table rather than asked for it's managed object. It would be a little slower, but it would allow mogre to run against the regular ogre builds without the patching and rebuilding process.
Any thoughts?
Hank