// special combiners/blendmodes
typedef enum	VIDBlendColor_e{
	VID_UNSET				,
	VID_REPLACE			,
	// tex
	VID_REPLACE_PREV			,
	// prev
	VID_REPLACE_VERTEX			,
	// vertex
	VID_REPLACE_CONST			,
	// const
	VID_MODULATE			,
	// prev*tex
	VID_PASSTHRU,
	// prev (also for alpha)

	VID_DECAL				,
	// prev lerp(tex.alpha) tex
	VID_DECAL_PREV			,
	// prev lerp(prev.alpha) tex
	VID_DECAL_VERTEX			,
	// prev lerp(vertex.alpha) tex
	VID_DECAL_CONST		,
	// prev lerp(const.alpha) tex


	VID_DECAL_CONSTMOD,
	// crossbar needed
	// will turn to VID_DECAL_PREV
	// prev alpha = tex*const.alpha


	VID_DECALCLR				,
	// prev lerp(tex.color) tex
	VID_DECALCLR_PREV			,
	// prev lerp(prev.color) tex
	VID_DECALCLR_VERTEX			,
	// prev lerp(vertex.color) tex
	VID_DECALCLR_CONST		,
	// prev lerp(const.color) tex


	VID_ADD				,
	// prev + tex
	VID_ADD_INV			,
	// prev + tex.invert
	VID_ADD_VERTEX		,
	// prev + vertex
	VID_ADD_CONST			,
	// prev + tex.const
	VID_AMODADD			,
	// prev + tex*tex.alpha
	VID_AMODADD_PREV		,
	// prev + tex*prev.alpha
	VID_AMODADD_VERTEX		,
	// prev + tex*vertex.alpha
	VID_AMODADD_CONST		,
	// prev + tex*const.alpha

	VID_AMODADD_CONSTMOD,
	// crossbar needed
	// will turn to VID_AMODADD_PREV
	// prev alpha = tex*const.alpha

// internal helpers
	VID_AMOD				,
	// tex*tex.alpha
	VID_AMOD_PREV			,
	// tex*prev.alpha
	VID_AMOD_VERTEX			,
	// tex*vertex.alpha
	VID_AMOD_CONST			,
	// tex*const.alpha

	VID_CMOD			,
	// tex*vertex
	VID_CMOD_PREV				,
	//	prev*vertex
	VID_SQUARE			,
	//	color*color

	VID_CMODADD_VERTEX		,
	// prev + tex*vertex.color
	VID_ADDCMOD_VERTEX		,
	// prev*vertex.color + tex*vertex.color

// crossbar functionality
	// same as normal ones just that action
	// is between tex0 & tex1
	VID_ADD_C				,
	VID_DECAL_C			    ,
	VID_DECAL_PREV_C		,
	VID_DECAL_VERTEX_C		,
	VID_DECAL_CONST_C		,
	// operation is between
	// texX & prev
	VID_DECAL_C2			,
	VID_DECAL_C3			,

	VID_DECALCLR_C			    ,
	VID_DECALCLR_PREV_C		,
	VID_DECALCLR_VERTEX_C		,
	VID_DECALCLR_CONST_C		,
	VID_DECALCLR_C2			,
	VID_DECALCLR_C3			,

//	special combiners
	VID_NORMALMAP				,
	VID_BUMP_CUBE			,

	VID_COLOR_USER,
}VIDBlendColor_t;

typedef enum VIDBlendAlpha_e{
	VID_A_UNSET,
	VID_A_SETBYCOLOR,
	VID_A_REPLACE,
	// tex
	VID_A_REPLACE_CONST,
	// const
	VID_A_REPLACE_VERTEX,
	// vertex
	VID_A_REPLACE_PREV,
	// prev
	VID_A_MODULATE,
	// prev*tex
	VID_A_CMOD,
	// tex*vertex
	VID_A_CMOD_PREV,
	// prev*vertex

// crossbar
	VID_A_CONSTMOD_C,
	// const*tex1
	VID_A_CONSTMOD_C2,
	VID_A_CONSTMOD_C3,

	VID_ALPHA_USER,
}VIDBlendAlpha_t;