[SoC 2006] Softimage XSI Plugin

Threads related to Google Summer of Code
Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

Okay, I installed a version of XSI on my laptop and I am getting the same error. I'll fix it asap.. I have no idea what's going on yet but will find out soon.

EDIT: I think I figured it out. I must have a version of DirectX that is newer on my desktop. I am switching it to OpenGL right now and I'll see if that works out.

EDIT2: Figured out the problem. You need to have April 2006 DirectX or later. You can get it at
http://www.microsoft.com/windows/directx/default.mspx
I will figure out a way to make this either transparent to the user or use an earlier version of DirectX in my next release on Sunday.
OpenGL did not work, I forgot there was an index buffer bug that has been lurking there since I started. It a bug somewhere in Ogre, and I need to dig in there someday.

Does anybody know how to properly deploy DirectX applications? I see there are Redists inside my SDK folder. My guess is that I have to include the Apr2006_d3dx9_30_x86.cab. Do I need to make a seperate installer for the 64 bit version of DirectX?

Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

Okay, I am downloading the DirectX SDK from December 2004 which is the latest one that windows 2k users have access to and this should be as enough far back as it needs to be. So all future versions of the tool will require a December 2004 version or later of DirectX.

Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

UPDATE: The Installer was updated and the tool is now compiled against the December 2004 DirectX SDK. There should be no more problem of failing to load the Direct3D9 Render System. If you still get such a problem.. then you need to direly update.

http://www.loisdesplat.com/xsi/OgreXSITool.msi

Slicky
Bronze Sponsor
Bronze Sponsor
Posts: 599
Joined: Mon Apr 14, 2003 11:48 pm
Location: Was LA now France
x 20

Post by Slicky »

Ok I made some progress.

I wonder if I should update my sdk and I'm on XP so I'm not sure how that should be affecting a runtime.

Anyway, back to the xsi stuff.

I now can get an ogre view to appear. However, so far I cannot get an object to display. I tried an untextured cone and I just get an empty window.

I still don't see a cone.mesh in the bin directory so maybe the exporter isn't creating anything to work with?

Also:
-----------------------------------
Details:
-----------------------------------
Error #: 7
Function: SceneManager::getMovableObject
Description: Object named 'Camera_Interest' does not exist..
File: ..\src\OgreSceneManager.cpp
Line: 4903
Stack unwinding: <<beginning of stack>>

Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

It is not automatic yet. So the steps to get a mesh to display might be a bit tricky for now :)

Take a new scene, create a new cube primitive and add an ExportProperty to it, don't worry about the settings for that. Create an OgreView inside a viewport, have the Camera inside another viewport. Click on Update Scene. Now move the camera around and you should see your mesh inside the OgreView.

Sorry that it is so complicated for now. It will improve, I swear :)

For the exception in the Ogre log this is normal. When Ogre doesn't find a node it throws an exception and logs it. I don't keep track of the node names yet so these exceptions are fine.

Also, to run this you don't need a SDK just the runtime. Like I said, I recompiled it all using an old DirectX9 SDK so that it is not an issue anymore.

Slicky
Bronze Sponsor
Bronze Sponsor
Posts: 599
Joined: Mon Apr 14, 2003 11:48 pm
Location: Was LA now France
x 20

Post by Slicky »

Yep I already used those steps in that order but the display was blank. I will try again tonight.

Should I see an exported mesh in the bin directory?

Is the ogre viewport centered on the camera view so it should immediately show an object if it is in the camera's view?

Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

If the display is blank when you updateScene then you are seeing the object. So move the XSI camera around, or press the s key inside the OgreView to move back. If you want to move another XSI camera then go to control panel when you have an OgreView open and select another Camera. By default, Camera is attached.

You need to move the Camera once the OgreView is opened in XSI to update the Camera view. This will be done automatically next release.

Slicky
Bronze Sponsor
Bronze Sponsor
Posts: 599
Joined: Mon Apr 14, 2003 11:48 pm
Location: Was LA now France
x 20

Post by Slicky »

It now works for me. I thought I had done those steps but I'm happy to say I that I now have a white cube. When you need more testing I'll try and help.

This may be useful also:
OgreUpdateScene
SelectObj "cone", , True
SelectObj "cone", , True
SelectObj "cone"
SetValue "cone.Name", "cone1"
'INFO : ** Begin OGRE Mesh Export **
'INFO : -- Traversing cone1
'INFO : -- Queueing cone1
'INFO : -- cone1 --
'Points: 26
'Triangles: 48
'Normals: 112
'Num UVs: 0
'
'INFO : Calculating edge lists
'INFO : ** OGRE Mesh Export Complete **
'INFO : ** Begin OGRE Skeleton Export **
'FATAL : Resource with the name export already exists.
'INFO : An exception has been thrown!
'
'-----------------------------------
'Details:
'-----------------------------------
'Error #: 6
'Function: ResourceManager::add
'Description: Resource with the name export already exists..
'File: ..\src\OgreResourceManager.cpp
'Line: 89
'Stack unwinding: <<beginning of stack>>
OgreUpdateScene

Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

Yep, thank you. I know of that issue as well. This is a very early release and there are a lot of issues. The current design is appropriate but it make some things hacky and causes some issues (like I have to move objects around and put them back in their place and that's not good since it can mess with undo/redo and all that stuff). I tried refactoring it, the week before SoC ended but I screwed up and had to revert back to the old design. So, I am in the process of refactoring it properly now :)

I don't think I will make another release this weekend but the next I will definitely make one. What I am going to try to do for this next release is to fix all these issues and improve the workflow. There are a lot of unecessary steps that you need to do and the more steps, the worst it is. OpenGL will still not be usable though because I don't think I'll have time to figure out why I have an Index Buffer issue whenever I export. I'll also work on getting all the documentation done, I need to do the netview pages + the help for the material shader nodes. The material editor will not be present yet, but will be in the release following the next one.

Once all of that is done, I think the tool will be usable by artists and I will be able to properly promote the tool and try to get contributions for new features.

I really appreciate, you trying it out. It pointed out some major flaws in the workflow and helped me make a better installer. Thank you very much.

Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

Hi,

It has a been a very long time since I have given an update. The tool got pretty close to being very useful. The problems it is facing right now are caused by my original unwillingness to conform to good design and just get it working first. The problem is that I never refactored the code and it is currently showing as sometimes updates break other things, code is starting to be spaghetti like and there are no clear responsibilities for each classes.

With that said, I am currently rewriting/refactoring the entire tool. I have a complete schedule that I am keeping up with to release during the second week of January (13 or 14th). It is fast to rewrite it because all the code works despite a few bugs that are being fixed during the rewrite. It will include the following disappointing features (I was hoping for more but alas, life got the better of me for now):
  • * Ogre Viewport embedded inside XSI
    * Complete Ogre material editor (does not include shaders)
    * Exports to DotScene
    * Easy access to exporting whole scenes with their respective meshes/animations/materials, lights, cameras, nulls, scene node animations, in full hierarchal fashion along with skyboxes/skydomes/skyplanes and other scene elements that you can set in Ogre.
    * Complete configurability in how each distinct mesh is exported but setting these options are not required at all and most likely do not need to be changed on a mesh per mesh basis as defaults can be set globally and animations are exported automatically.
    * Updates preview scene as elements are moved/updated in XSI (re-exports only what's needed if a mesh changed).
    * Compatible with XSI 5.1 and 5.11 (maybe 5.0). XSI 6.0, I can't test because I did not upgrade (none of the new features were useful for me).
That's all,

Thanks to e-motek, pjcast, Sinbad, Google, and others who have contacted me privately with bug reports, test data and contributions.

billrobertson42
Kobold
Posts: 31
Joined: Mon Nov 27, 2006 1:29 am
x 1

Post by billrobertson42 »

Hi Lodes, I should be buying XSI 6.0 soon, and I ought to be able to help you test.

If you're interested, please send me a private message with your email in it, or just post here I guess.

Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Post by Vectrex »

anything happening with this? We're seriously considering swapping to XSI from max and can't see any dotScene exporter apart from this one.
A live viewport would be the clincher :)

Lodes
Google Summer of Code Student
Google Summer of Code Student
Posts: 228
Joined: Mon Mar 17, 2003 12:02 am
Location: San Jose, CA, USA

Post by Lodes »

Hi Vectrex,

The exporter works with Dagon for now and is available in ogreaddons. I have actually planned to upgrade the XSI exporter to the latest Eihort and have a schedule starting next week in which I will be devoting about 6 hours per week to it until August 24th.

I've been wanting to do that for a while but never had the time with so many new things coming into my life. I'll be giving weekly updates and hopefully finally release a 1.0 :)

It will be a XSI 5.1 and 5.11 only release. I do not have XSI 6.0 so that will have to be compiled by someone else but it should be pretty easy to do since Softimage tries really hard to maintain backwards compatibility with their SDK.

User avatar
Alexander
Gremlin
Posts: 175
Joined: Sat Aug 05, 2006 3:55 am

Post by Alexander »

Lodes,

As I have communicated over PM, we are VERY interested in this project. We're looking forward to seeing this project updated!

Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Post by Vectrex »

Good news. We've been trying XSI for only one day and have a fully rigged and skinned character that we just couldn't get working in max.
The main thing missing is XSI is a dotScene exporter (at least until the ogre collada loader is finished). We're using all shaders so the fixed function material stuff isn't important to us (or anyone anymore?)
Thanks!

User avatar
Anathema
Gnoblar
Posts: 17
Joined: Fri Aug 03, 2007 8:31 am
Location: Sweden
Contact:

Post by Anathema »

Go Lodes,

I'll flag for hyper interest too. Plugging Ogre right into the XSI viewport is too good to be true. Using 6.02 if you need testpilots down the line. I can't program for the life of me, but maybe I can help out with idiot (namely me) style documentation?

User avatar
cottonbelly
Gnoblar
Posts: 12
Joined: Fri Mar 23, 2007 11:48 am

any plans to update the code for Ogre 1.4.x ?

Post by cottonbelly »

Hi Lodes,

Just wanted to know if there were any plans to update the code for Ogre 1.4.x ?

I am very interested in the XSI Tool, as it could be tremendously helpful in my XSI->Ogre workflow. So I'd be glad to know the current status of the project, know if any help is needed...

Thanks in advance,

Post Reply