diff options
| author | Don Kjer <don@lindenlab.com> | 2012-09-03 06:12:50 +0000 | 
|---|---|---|
| committer | Don Kjer <don@lindenlab.com> | 2012-09-03 06:12:50 +0000 | 
| commit | c355fb98d3f4040196b7b8586dc9328fccb906d2 (patch) | |
| tree | be4ca12c6bf33070ab4d7b591056cadb2fec227c /indra/llrender | |
| parent | 51fabc385079a0b5fab4611bb5b16fea5dc26372 (diff) | |
Extracted texture baking system into llappearance library.
Diffstat (limited to 'indra/llrender')
| -rw-r--r-- | indra/llrender/llglslshader.h | 2 | ||||
| -rw-r--r-- | indra/llrender/lltexture.h | 46 | 
2 files changed, 46 insertions, 2 deletions
| diff --git a/indra/llrender/llglslshader.h b/indra/llrender/llglslshader.h index 5c68cb46eb..cf21101e35 100644 --- a/indra/llrender/llglslshader.h +++ b/indra/llrender/llglslshader.h @@ -159,6 +159,8 @@ public:  extern LLGLSLShader			gUIProgram;  //output vec4(color.rgb,color.a*tex0[tc0].a)  extern LLGLSLShader			gSolidColorProgram; +//Alpha mask shader (declared here so llappearance can access properly) +extern LLGLSLShader			gAlphaMaskProgram;  #endif diff --git a/indra/llrender/lltexture.h b/indra/llrender/lltexture.h index 569a65c2e0..a23aa72520 100644 --- a/indra/llrender/lltexture.h +++ b/indra/llrender/lltexture.h @@ -32,10 +32,12 @@  #ifndef LL_TEXTURE_H  #define LL_TEXTURE_H +#include "llgltypes.h"  #include "llrefcount.h" -class LLImageGL ; -class LLTexUnit ; +#include "llrender.h" +  class LLFontGL ; +class LLImageRaw ;  //  //this is an abstract class as the parent for the class LLViewerTexture @@ -52,6 +54,39 @@ protected:  public:  	LLTexture(){} +	enum EBoostLevel +	{ +		BOOST_NONE 			= 0, +		BOOST_AVATAR_BAKED	, +		BOOST_AVATAR		, +		BOOST_CLOUDS		, +		BOOST_SCULPTED      , +		 +		BOOST_HIGH 			= 10, +		BOOST_BUMP          , +		BOOST_TERRAIN		, // has to be high priority for minimap / low detail +		BOOST_SELECTED		,		 +		BOOST_AVATAR_BAKED_SELF	, +		BOOST_AVATAR_SELF	, // needed for baking avatar +		BOOST_SUPER_HIGH    , //textures higher than this need to be downloaded at the required resolution without delay. +		BOOST_HUD			, +		BOOST_ICON			, +		BOOST_UI			, +		BOOST_PREVIEW		, +		BOOST_MAP			, +		BOOST_MAP_VISIBLE	,		 +		BOOST_MAX_LEVEL, + +		//other texture Categories +		LOCAL = BOOST_MAX_LEVEL, +		AVATAR_SCRATCH_TEX, +		DYNAMIC_TEX, +		MEDIA, +		ATLAS, +		OTHER, +		MAX_GL_IMAGE_CATEGORY +	}; +  	//  	//interfaces to access LLViewerTexture  	// @@ -62,6 +97,13 @@ public:  	virtual void       setActive() = 0 ;  	virtual S32	       getWidth(S32 discard_level = -1) const = 0 ;  	virtual S32	       getHeight(S32 discard_level = -1) const = 0 ; +	virtual BOOL       hasGLTexture() const  = 0; +	virtual BOOL       createGLTexture(S32 discard_level, const LLImageRaw* imageraw, S32 usename = 0, BOOL to_create = TRUE, S32 category = LLTexture::OTHER) = 0; +	virtual void       setExplicitFormat(LLGLint internal_format, LLGLenum primary_format, LLGLenum type_format = 0, BOOL swap_bytes = FALSE) = 0; +	virtual void       setAddressMode(LLTexUnit::eTextureAddressMode mode) = 0; +	virtual LLTexUnit::eTextureAddressMode getAddressMode(void) const = 0; +	virtual S8         getComponents() const = 0; +	virtual            const LLUUID& getID() const = 0;  private:  	//note: do not make this function public. | 
