View previous topic :: View next topic |
Author |
Message |
baxissimo
Joined: 23 Oct 2006 Posts: 241 Location: Tokyo, Japan
|
Posted: Sun Sep 23, 2007 8:28 pm Post subject: Porting status |
|
|
Howdy and welcome to OpenMesh/D.
The code has now been checked into the project's SVN repository.
Project page:
http://www.dsource.org/projects/openmeshd
SVN:
http://svn.dsource.org/projects/openmeshd/trunk
This port has been made and tested using DMD 1.021 with Phobos, and built using dsss.
Tango support probably wouldn't be too difficult to add since there's already an IO subsystem that wraps the Phobos' streams used in most places that do IO in the code. Just would need to make a Tango io wrapper implementation of that.
I've ported most of it, so probably the easiest is to list the things that haven't been ported.
- Readers/Writers - I've only ported Wavefront OBJ and OFF read/write so far. Porting the others shouldn't be hard following those examples. This would be a good place for others to contribute.
- VDPM - view dependent progressive meshes. I don't really have a need for this. Again this would be a good place for anyone who needs this functionality to contribute.
- Apps - The Apps with the C++ mostly depended on Qt, and I didn't really like the way the class structure was set up anyway. For the time being I've made one simple Derelict/OpenGL based viewer demo. Demos are always a good place to contribute.
- Copy constructors - the C++ version uses default copy constructors and operator= implementations for some things. When translating to D classes those are lost. The .assign method seems to work, and I added one .dup on the top level mesh types, but top level doesn't seem like the ideal place for it.
- Specialization for bool Properties - Property.d has a specialization commented out for bool properties that uses something like a bitarray rather than a full bool[]. (The commented code is still C++ and needs to be converted.)
Beyond that there are wishlist items for things that go beyond the C++ version.
- Improved handling of textures and other attribute maps
- Improved loaders (they currently discard a lot of information that they don't understand
- [DONE] Adding opApply's somewhere to provide more D-ish iteration. My thought is that putting opApplys on the iterators makes the most sense.
- Improved property system that takes more advantage of D's compile time code gen capabilities. (Jascha's ideas)
I've put some more detailed porting notes up at http://www.dsource.org/projects/openmeshd/wiki/PortDoc .
UPDATES
- 2007/10/16 - Added PLY reader and writer, both support ASCII and binary modes. This is not a port. C++ OpenMesh doesn't support PLY.
- 2007/10/15 - Ported STL reader and writer.
- 2007/10/11 - Fixed bug with OFF binary mode
- 2007/10/11 - Ported OpenMesh.Apps.Subdivision demo (and fixed bugs in the Tools.Subdivision modules)
- 2007/10/10 - Got doc generation (and library compilation working)
- 2007/10/8 - Ported OpenMesh.Apps.Smoothing demo (and fixed bugs in the Tools.Smoothing modules)
- 2007/10/6 - Ported OFF reader writer -- binary mode still has troubles
- 2007/10/6 - Reorganized SVN directory structure
- 2007/10/2 - Added dup() and copy() methods
|
|
Back to top |
|
|
Phrozen
Joined: 07 Aug 2007 Posts: 8
|
Posted: Thu Mar 12, 2009 10:10 am Post subject: |
|
|
Any hope this port will go up to OpenMesh 2.0 and Tango compatible someday? Cause I'll really like to use this and I know many people who would. Thanx for al lu have done for this D community, it is really appreciated. |
|
Back to top |
|
|
baxissimo
Joined: 23 Oct 2006 Posts: 241 Location: Tokyo, Japan
|
Posted: Thu Mar 12, 2009 10:36 am Post subject: |
|
|
Phrozen wrote: | Any hope this port will go up to OpenMesh 2.0 and Tango compatible someday? Cause I'll really like to use this and I know many people who would. Thanx for al lu have done for this D community, it is really appreciated. |
I use it with Tango all the time, with Tangobos.
As for OpenMesh 2.0 I haven't yet looked to see how big a change that is. My suspicion is that 2.0 isn't all that different from the 1.95 (?) beta that I based the port off of. I was thinking it was more of just making 1.95 official, and maybe fixing a couple of bugs. |
|
Back to top |
|
|
|