Model.shaderList() and lightwave export 2003-11-17 - By NoiseCrime
Back
-- -- Original Message -- -- From: "andries odendaal" <andries@(protected)>
> thanks so much for taking the time to post such a comprehensive reply.
Ah well it wasn't meant to be, just kinda turned out that way ;)
> yep also found it a bit strange ... say I have a model in the scene, with a shader called "myShader" ... and delete the model, > modelresource and all shaders, textures, modifiers etc. When I clone that model back into the 3d member, then the new model will > have a shader called "myShader-clone1" and so on even though testing for shader("myShader") proves false ... so this had me a bit > baffled.
Took me a while to work out what you were saying there. However you're right it appears to be a bug. I tested with a model that had 3 shaders and 2 textures. I started with an empty w3d member, and cloned the model into it. The first run i got TextureA TextureB ShaderA ShaderB ShaderC
That is the cloned models original names for textures and shaders. I then deleted all the cloned models, resources, shaders and textures, leaving just the default elements in each palette. After which I cloned the same model again and got TextureA_clone1 TextureB_clone2 ShaderA_clone1 ShaderB_clone2 ShaderC_clone3
Repeat the process a third time for TextureA_clone2 TextureB_clone3 ShaderA_clone2 ShaderB_clone3 ShaderC_clone4
So it looks to me like SW3D is not clearing its own lookuptable of what shaders have been made/cloned in the member. So when a shader is cloned again, it believes it is the nth time for the shader appending the _clone state.
Not sure there is anything that can be done about this. Obviously a reset world() will reset the lookuptable of cloned shaders, but not sure if thats any help.
NoiseCrime 2003 www.noisecrime.com Purveyor of cool Shockwave games, toys and new media content.
__ ____ ____ ____ ____ ____ ____ ____ ____ ____ Dir3d-l mailing list Dir3d-l@(protected) http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l
|
|