C++ IRenderer
Render State flags
What are these? Well they set the state of the renderer. Typically used for 2D textures but can influence 3D. For example, a 2D texture was drawn in such a way that it could be hidden by 3D objects when too near to them. Bizarre. Far from being useless, these are used in a very important project or two.
They are used as arguments to the IRenderer's SetState function.
Such as: m_pRenderer->SetState( GS_NODEPTHTEST );

It is not unusual to see three or more of them being used at the same time. There is great power within, but there is no real documentation. It's hard to describe what they do exactly, but they can blend textures together or perform binary operations on them. Especially when trying to achieve fancy results, the names are not clear enough to predict what the result will be. Either CryTek expects us to just know what these are, or it's the sort of info a game studio would pay to get. There is the option to read the CE 5 source code and understand how these work, but that's not a task for the faint of heart :)

• GS_BLSRC_MASK
• GS_BLSRC_ZERO
• GS_BLSRC_ONE
• GS_BLSRC_DSTCOL
• GS_BLSRC_ONEMINUSDSTCOL
• GS_BLSRC_SRCALPHA
• GS_BLSRC_ONEMINUSSRCALPHA
• GS_BLSRC_DSTALPHA
• GS_BLSRC_ONEMINUSDSTALPHA
• GS_BLSRC_ALPHASATURATE

• GS_BLDST_MASK
• GS_BLDST_ZERO
• GS_BLDST_ONE
• GS_BLDST_SRCCOL
• GS_BLDST_ONEMINUSSRCCOL
• GS_BLDST_SRCALPHA
• GS_BLDST_ONEMINUSSRCALPHA
• GS_BLDST_DSTALPHA
• GS_BLDST_ONEMINUSDSTALPHA

• GS_BUMP
• GS_ENV

• GS_DXT1
• GS_DXT3
• GS_DXT5

• GS_BLEND_MASK

• GS_DEPTHWRITE

• GS_MODULATE
• GS_NOCOLMASK
• GS_ADDITIONALSTATE

• GS_POLYLINE
• GS_TEXPARAM_CLAMP
• GS_TEXPARAM_UCLAMP
• GS_TEXPARAM_VCLAMP
• GS_COLMASKONLYALPHA
• GS_NODEPTHTEST
• GS_COLMASKONLYRGB
• GS_DEPTHFUNC_EQUAL
• GS_DEPTHFUNC_GREAT
• GS_STENCIL
• GS_TEXANIM

• GS_ALPHATEST_MASK
• GS_ALPHATEST_GREATER0
• GS_ALPHATEST_LESS128
• GS_ALPHATEST_GEQUAL128
• GS_ALPHATEST_GEQUAL64
FarOut