It's really very simple. I need to load an effect file into my 3DGS level, using effect_load(). This effect file needs to modify a texture image. But all the code generated by software I have tried to use fails with 3DGS. 3DGS also fails to allow:
texture surf <string filename = "surf.tga";>;
I'm now under the impression, though, that I have attempted to run a shader that's beyond the capabilities of my hardware. I made some initial arrors. I have a Radeon 9000 graphics card, and was trying to adapt a 14-pass fur shader from DirectX 9 (with HLSL) to DirectX 8 (without). And one early error I made was, to keep declaring the passes as stream 0 over and over again. Since I've stopped doing that, and numbering up to stream 13, I get the more meaningful error message that the effect is not supported by my hardware.
I think I read that the maximum number of streams is for a Radeon 9000 is 6.
I tried not using PixelShader 1.4 , instead rewriting the pixel shader to ps1.1 , and the result is that I could not perform alpha-blending as easily. But I still did not achieve the effect.
Yet, when I reduce the number of passes (and stream parameter) to 6 (giving stream 5), I'm back to no error message, but a completely unrendered model.
Setting AlphaBlendEnable = false does not change the behaviour.
But it would seem that your sophisticated game engine does in fact pass the mtlSkin1 ... mtlSkin4 parameters correctly, even to an external .fx file.
Dirk
Last edited by dirkmittler; 07/22/04 21:59.