SoC2006 XSITool         Tool for one-step solution for artists - GSoC 2006

Summer of Code 2006: Tool for one-step solution for artists

Student: Lois Desplat (Lodes)

Mentor: Steve Streeting (sinbad)

Status: Ongoing development in ogreaddons/xsitool

This proposal for this project is two-fold. The main part is a plugin to Softimage XSI which integrates an Ogre Viewport to provide real-time or near real-time preview of models inside the Ogre engine, as well as integrates a full material editor supporting shaders along with other things. The second part, is a library which is supposed to do common tasks that all tool developers have to do and that could be used by normal applications as well.

OGRE-XSI Integration


These features are listed by order of implementation as detailed in my proposal:

  • Real Time and Push-button previewing of models in integrated OGRE Viewport (The current exporter already creates the Mesh/Skeleton/Material in-memory already and thus it will be used since it already works).
  • Ability to export
  • Ability to move lights and cameras in XSI and have them move at the same time on the OGRE viewport
  • Ability to play animations in XSI and see them play at the same time on the OGRE Viewport.
  • Full Ogre Material Editor.
  • Real-time shader support (Artists can create real-time shaders, Cg, HLSL, GLSL, in XSI and thus the material editor needs to be able to use them)
  • Support for official scene managers and the oFusion scene manager. (If designed correctly, other people could then have it support other scene managers without any problems)
  • Run in Windows and uses options that will make it easy to get a Linux Port out but Linux support is not planned for this proposal.

Tasks Completed

  • Ogre is created inside xsi and rendering window shows up
  • Submitted OpenGL RenderSystem patch

Critical Issues

  • OpenGL renders random data in the card buffer instead of what it is told to render. DirectX works 100%.See this help thread

Current Issues

  • Have to put Ogre DLLS in Application/bin folder, figure out if by changing the CurrentDirectory, we can actually have the dlls wherever we want. Would be very nice for installation purposes and for users and to not mix debug and release rendersystem dlls *ahem*.

In Progress

  • Resolve current issues
  • Camera and Light communications between Ogre and XSI

Will Not Be Coded

  • Linux Support (Can't get XSI to work under Linux). Spent a whole day on this but it's a mess unless you use a supported distribution and even then the linux version won't accept my license key (but that can be worked out :-) )

OGRE Tool Library

What this library needs to do was elequently put by Tuan Kuranes in the forums as:
Some code to get mesh info (vertices num, indices num, vertex buffer list bones list/hierarchy) as list of string properties , some code to get texture list in a material, material info as list of properties, xml serializers, buffer optimisation, animation list (to check difference between modeler and results), animations blender, Ogre Resource group handling... All Ogre resource manipulation code would go in that library.''

A first release of this library is scheduled for soon after July 20th.