For ease I think ill seperate the Muxes from the flags. Rendermode ================================== Use SetGeometryMode(Texture, Z, shade, smoothshade, fog) unless otherwise stated ************************************************************************* * WARNING! * * 1 Cycle mode MUST copy to BOTH mux in Rendermode AND Combiner. * * Failure to do so will crash the RSP * * e.g. Mux1 CLR_FOG*A_SHADE + CLR_IN*1-A * * Mux2 CLR_FOG*A_SHADE + CLR_IN*1-A * ************************************************************************* MUX Fog CLR_FOG*A_SHADE + CLR_IN*1-A CLR_IN *A_SHADE + CLR_MEM*1-A Fogless CLR_IN *A_SHADE + CLR_IN*1-A // If also ClearGeometryMode(FOG) CLR_IN *A_SHADE + CLR_MEM*1-A // Will allow vert Alpha. Remember to set again after FadeAway CLR_MEM*A_SHADE + CLR_IN*1-A //Fades to invisible with distance, very cool CLR_IN *A_IN + CLR_MEM*1-A 1C FadeAway CLR_MEM*A_IN + CLR_IN*1-A //Special Combiner, very cool Flags A Transparent mode is required for ANY Alpha Register, including Texture Alpha. AA ZBuffered Opaque AA_EN, Z_CMP, Z_UPD, IM_RD, A_CVG, CLAMP, OPA AA ZBuffered Interpenetrated AA_EN, Z_CMP, Z_UPD, IM_RD, A_CVG, CLAMP, INTER //Use if intersections are pixleated AA ZBuffered Transparent AA_EN, Z_CMP, Z_UPD, IM_RD, CVG*A, WRAP, XLU AA ZBuffered Decal (OPA) AA_EN, Z_CMP, WRAP, DECAL Decal Transparent Texture FC_BL IM_RD, FULL, DECAL //Transparent Textures AA Opaque AA_EN, IM_RD, A_CVG, CLAMP, OPA //Use Pre-Ordering AA Interpenetrated AA_EN, IM_RD, A_CVG, CLAMP, INTER //Use if intersections are pixleated AA Transparent AA_EN, IM_RD, CVG*A, WRAP, XLU 1C FOG ZBuffered Opaque Z_CMP, Z_UPD, FC_BL WRAP, OPA // No AA (Internal AA cool) 1C FOG AA ZBuffered Opaque AA_EN, Z_CMP, Z_UPD, IM_RD, FC_BL WRAP, OPA //AA YAY 1C AA ZBuffered Transparent Z_CMP, Z_UPD, IM_RD, FC_BL, WRAP, XLU // Can be used with 1C FadeAway Combiner =================================== First Cycle is normally TRILERP CC (Tex1 - Tex0) * LOD_Frac + Tex0 | AC (Tex1 - Tex0) * LOD_Frac + Tex0 Normally these are all 2nd cycle (Apart from 1C Fadeaway) but they will work with 1 cycle too, Replace Comb with Tex0 and Copy to 2nd mux. Untextured CC (0 - 0) * 0 + Shade | AC (0 - 0) * 0 + Shade Normal Texture CC (Comb - 0) * Shade + 0 | AC (0 - 0) * 0 + 1 Brighten Texture CC (Shade - Comb) * Shade + Comb | AC (0 - 0) * 0 + 1 Transparent Types By Default I have set EnvColour_Alpha to FF Normal Texture CC (Comb - 0) * Shade + 0 | AC (Comb - 0) * Env + 0 Brighten Texture CC (Shade - Comb) * Shade + Comb | AC (Comb - 0) * Env + 0 Transparent Texture CC (Comb - 0) * Shade + 0 | AC (Comb - 0) * Env + 0 WireFrame Texture CC (Comb - 0) * Shade + 0 | AC (Comb - 0) * Env + Tex0 1C FadeAway CC (0 - 0) * 0 + Shade | AC (1 - 0) * Env + Shade Special Modes ===================================== Heat Distortion (Blurr Texture Edge) Transparent Texture + AlphaCompare(Dither) Flies/Partical System EnvColour_Alpha = 20 AlphaCompare(Dither) CC (Tex0 - 0) * Shade + 0 | AC (Tex0 - Shade) * Env + 0