-Due to spam, wiki editing has been restricted to the dev team only. Sorry for any inconvenience-
Completion Status
From IrrlichtSharp
This is a list of what is currently done, or underway. There is a lot more hidden development going on than currently appears in this page ! This should give our developers and potential new developers an idea of what other areas need working on immediately, as well as users a small clue to what's really going on.
Notes
This status report relates to Irrlicht# in the Subversion repository.
Last status updates on this page by
- --the_bob 18:32, 5 June 2006 (PDT)
- --Braneloc 11:58, 20 November 2006 (PST)
- --austcro 10:24, 18 September 2006 (PDT)
Contents |
3D Graphics/Scene
Interfaces
- All interfaces are in there ported 1:1 from the native version of Irrlicht. Will be subject to some refactoring in the coming months. Many interfaces have already been replaced with classes.
SceneManager
The scenemanager has been refactored, and is pretty much complete. Features are being added to the scenemanager as they become available. The following scenenodes are currently available, and seem to be pretty much working. Please report any bugs.
- AnimatedMeshSceneNode
- BillboardSceneNode
- CameraFPSSceneNode
- LightSceneNode
- MeshSceneNode
- SkyBoxSceneNode
- TestSceneNode
- ParticleSystemSceneNode
- RigidTerrainSceneNode - Functional, Under development
MeshLoaders
MeshLoaders are of the highest priority at this stage in the project (20 Nov 06) If you would like to contribute a meshloader for ANY file format, it would be greatly received.
- X loader - Functional.
- 3DS loader - Under development
- MD2 loader - Possibly under development
- BGF/EGF loader - Planned
Video
We recommend the DX9 driver, it is the most complete and tested. The OpenGL driver is available in the 1.1 port due to be merged into the main distribution, and the XNA driver is under development. We will not be supporting DirectX8.
Managed DirectX9 Driver
The MDX9 driver is pretty much complete and under testing, and is recommended for use over the other drivers. This is the one everyone is currently using.
- Working through all the existing Irrlicht classes and converting whatever is sensible from C++/NativeDX to C#/MDX.
- Have most of the low level "worker" type classes done. Details below:
- D3D9MaterialRenderer - 100% complete
- D3D9NormalMapRenderer - 100% complete, untested
- D3D9ParallaxMapRenderer - 100% complete, untested
- D3D9ShaderMaterialRenderer - 100% complete, untested
- D3D9HLSLMaterialRenderer - 100% complete, untested
- D3D9Texture - 100% complete, untested
- D3D9Driver - Finally got up the courage to start working on the Direct3D9 driver class now.
- About 15% complete... Maybe...
- Just getting going with porting a method at a time. It might be a little while yet, but I plan to start devoting more time to this class in the coming weeks.
Null Driver
The null driver is inherited by all other drivers, and is functional, though untested on it's own.
- Going through the null driver and cleaning up all of the messy code. Wrapping all of the crap with helpers
- Helpers - 50% complete, untested
Software Driver
The software driver is currently considered experimental.
- Valnarus now has some functionality which can draw to the screen. An initial screenshot can be seen here: News 05-06 He is still working to improve and increase the functionality, so it will be interesting to see what's yet to come.
OpenGL Driver
- Designing a new software/hardware buffering system so that custom interleaved arrays work with .NET
- This is quite complex as it will be emulating D3D's approach to buffering. Wrapping all of the opengl code into custom objects
- Will run with the original code for testing until the Managed OpenGL wrapper is done. Will be implementing only the minimal features required for this to work
- OpenGL Device - 50% - Is creating a context and drawing to it. Still much work ahead
- OpenGL SoftwareVertexBuffer - 100%
- OpenGL HardwareVertexBuffer - 100%
- OpenGL SoftwareIndexBuffer - 100%
- OpenGL HardwareIndexBuffer - 100%
- OpenGL GraphicsStream - 100%
- OpenGLDriver - 85%
- The OpenGLDriver is to be heavily refactored using the new device. It will look much cleaner and will be easier to work with.
- Other classes categorised under the OpenGLDriver - only the template classes are there, no implementation yet
- The primary development is being done with VS2003. There will be a port to .NET 2.0 when the driver is stable
- The Managed OGL wrapper is only 10% tested and verified to be working. It is subject to change over the next few months.
- There will be a slight performance penalty by wrapping OGL but it will be no worse than Managed D3D and we get full reusability.
- There is an impending commit to SVN shortly for the .NET 1.1 port - 18 Sep 2006
XNA Driver
The XNA driver has been started work upon, and is currently considered experimental. It is hoped that it might replace the DX9 driver when XNA leaves beta.
- Experimental
- Works only with Beta2 of XNA
GUI
- Interfaces
- Most, if not all of the interfaces are in place. This is a namespace in need of some redesign. However, the video namespace is higher on the list of priorities
- Braneloc is working on a new gui system to replace the Irrlicht style original. This is expected to support graphic engine drivers including Irrlicht#, Truevision3D, XNA and Managed DirectX. [1]
Core
- Core
- This is mostly complete. However, much of the custom stuff may be turfed for their .NET equivalents
IO-System
The IO system has been completely redesigned from Irrlicht - None of the original design was appropriate for a .net based library.
- FileManager
- 100% - Stream access to all files
- 100% - Stream access to compressed zip files
- 100% - Auto-loads from all "known" directories and archives
- System Log
- 100% - Internal system logging (customisable)
- 100% - User (external) logging (customisable)
