This topic is now archived and is closed to further replies.


texture stage problems

Recommended Posts

I''ve been having problems with texture stages... I want to mix two textures depending on vertex alpha, with a final pass of the vertex rgb over the top. This was done with the following texture states... (I can''t remember the actual names, but you should get the idea) SetTextureStageState(0,COLOR_OP,SELECT_ARG_2) SetTextureStageState(1,COLOR_OP,BLEND_VERTEX_ALPHA) SetTextureStageState(2,COLOR_ARG_1,VERTEX_RGB) SetTextureStageState(2,COLOR_OP,MODULATE) This works fine with the reference rasteriser, but I can''t get it going with either a voodoo3 or geforce2. It''s annoying me, as each card gives the capacities of two simultaneous textures with at least 3 simultaneous texture stages. Thanks in advance. (btw, has anyone actually got a voodoo3 to do multitexturing at all? Mine spits it with a simple SetTextureStageState(1,COLOR_OP,MULTIPLY))

Share this post

Link to post
Share on other sites
1. Bung a ValidateDevice in after the state setup, it''ll tell you why the driver isn''t doing what you want.

2. The chips you list only expose a small set of 3 stage blends in their drivers, almost all 2 stage blends will work, but you have to do a lot of playing around to get more (they do have special 4 stage ops, but only for one specific type of blend).
Thats why ValidateDevice is there, its impossible for them to express which combinations they do actually support with simple caps. The caps may say 3 and 4, but theres only one setup where that''ll work

3. What are the other TextureStageStates set to ?, the COLORARGs for each stage, the Stage 3 settings, the ALPHAOP/ARGS ? - [*never* rely on the default values mentioned in the docs, some drivers don''t abide by them!]

Welcome to the wonderful world of scalability for PC 3D hardware - just wait until some publisher type asks you make it work on a 2Mb ViRGE

Simon O''''Connor
Creative Asylum Ltd

Share this post

Link to post
Share on other sites