Materials/MtlBase.h File Reference

MtlBase.h File Reference
#include "../Quat.h"
#include "../Ref.h"
#include "TexHandle.h"
#include "ISubMap.h"

Classes

class  MtlBase
 
class  MtlMakerCallback
 

Macros

#define MTL_IN_SCENE   (1<<0)
 The material is being used in the scene. More...
 
#define MTL_BEING_EDITED   (1<<1)
 The material's parameters are being displayed in the Material Editor. More...
 
#define MTL_SUB_BEING_EDITED   (1<<2)
 This material OR sub-material texmap is being displayed in the Material Editor. More...
 
#define MTL_TEX_DISPLAY_ENABLED   (1<<3)
 Viewport display enabled for this material (see MTL_SUB_DISPLAY_ENABLED). More...
 
#define MTL_MEDIT_BACKGROUND   (1<<8)
 Material has the background shown in Material Editor. More...
 
#define MTL_MEDIT_BACKLIGHT   (1<<9)
 Material is backlight in the Material Editor. More...
 
#define MTL_OBJTYPE_SHIFT   10
 
#define MTL_MEDIT_OBJTYPE   (1<<MTL_OBJTYPE_SHIFT)
 Object type displayed in Material Editor. More...
 
#define MTL_MEDIT_OBJTYPE_MASK   ((1<<MTL_OBJTYPE_SHIFT)|(1<<(MTL_OBJTYPE_SHIFT+1))|(1<<(MTL_OBJTYPE_SHIFT+2)))
 
#define MTL_TILING_SHIFT   13
 
#define MTL_MEDIT_TILING   (1<<MTL_TILING_SHIFT)
 
#define MTL_MEDIT_TILING_MASK   ((1<<MTL_TILING_SHIFT)|(1<<(MTL_TILING_SHIFT+1))|(1<<(MTL_TILING_SHIFT+2)))
 
#define MTL_MEDIT_VIDCHECK   (1<<16)
 
#define MTL_BROWSE_OPEN1   (1<<18)
 For internal use. More...
 
#define MTL_BROWSE_OPEN2   (1<<19)
 For internal use. More...
 
#define MTL_SUB_DISPLAY_ENABLED   (1<<20)
 Indicates that texture display is enabled for map or material in this subtree. More...
 
#define MTL_CLONED   (1<<28)
 Indicates material or texture was created by being cloned from another material or texture. More...
 
#define MTL_HW_MAT_PRESENT   (1<<29)
 
#define MTL_HW_MAT_ENABLED   (1<<30)
 
#define MTL_WORK_FLAG   (1<<31)
 
#define MTL_DISPLAY_ENABLE_FLAGS   (MTL_TEX_DISPLAY_ENABLED|MTL_SUB_DISPLAY_ENABLED)
 Interactive texture display enabled for THIS mtl base. More...
 
#define MTL_HW_TEX_ENABLED   (1<<17)
 Indicates that the texture should be part of the realtime shader. More...
 
#define MTLREQ_2SIDE   (1<<0)
 The material is 2-sided. More...
 
#define MTLREQ_WIRE   (1<<1)
 The material is wire frame material. More...
 
#define MTLREQ_WIRE_ABS   (1<<2)
 Wire frame material, absolute size. More...
 
#define MTLREQ_TRANSP   (1<<3)
 The material uses transparency. More...
 
#define MTLREQ_UV   (1<<4)
 The material requires UVW coordinates. More...
 
#define MTLREQ_FACEMAP   (1<<5)
 The material uses "face map" UV coordinates. More...
 
#define MTLREQ_XYZ   (1<<6)
 The material requires object XYZ coordinates. More...
 
#define MTLREQ_OXYZ   (1<<7)
 The material requires object ORIGINAL XYZ coordinates. More...
 
#define MTLREQ_BUMPUV   (1<<8)
 The Material requires UV bump vectors. More...
 
#define MTLREQ_BGCOL   (1<<9)
 The material requires background color (e.g. More...
 
#define MTLREQ_PHONG   (1<<10)
 The material requires interpolated normal. More...
 
#define MTLREQ_AUTOREFLECT   (1<<11)
 The material needs to build auto-reflect map. More...
 
#define MTLREQ_AUTOMIRROR   (1<<12)
 The material needs to build auto-mirror map. More...
 
#define MTLREQ_NOATMOS   (1<<13)
 This is used by the Matte material for example. More...
 
#define MTLREQ_ADDITIVE_TRANSP   (1<<14)
 Normally, if this is not specified, the background color is attenuated. More...
 
#define MTLREQ_VIEW_DEP   (1<<15)
 Maps or materials which depend on the view should set this bit in their Requirements() method. More...
 
#define MTLREQ_UV2   (1<<16)
 The material requires second uv channel values (vertex colors). More...
 
#define MTLREQ_BUMPUV2   (1<<17)
 The material requires second uv channel bump vectors. More...
 
#define MTLREQ_PREPRO   (1<<18)
 Pre-processing. More...
 
#define MTLREQ_DONTMERGE_FRAGMENTS   (1<<19)
 No longer used. More...
 
#define MTLREQ_DISPLACEMAP   (1<<20)
 Material has a Displacement map channel. More...
 
#define MTLREQ_SUPERSAMPLE   (1<<21)
 This tells the scanline renderer that you want super sampling - the Standard material uses this. More...
 
#define MTLREQ_WORLDCOORDS   (1<<22)
 This flag is set by UVGen and XYZGen when world coordinates are involved. More...
 
#define MTLREQ_TRANSP_IN_VP   (1<<23)
 This flag should be returned true for any material that wants to be transparent in the viewport. More...
 
#define MTLREQ_FACETED   (1<<24)
 The material should be rendered faceted in the viewports. More...
 
#define MTLREQ_NOEXPOSURE   (1<<25)
 Do not do the tone-op (ie, for matte/shadow material, etc) More...
 
#define MTLREQ_SS_GLOBAL   (1<<26)
 Material requires supersampling but use global sampler. More...
 
#define MTLREQ_REND1   (1<<28)
 USED IN RENDERER. More...
 
#define MTLREQ_REND2   (1<<29)
 USED IN RENDERER. More...
 
#define MTLREQ_REND3   (1<<30)
 USED IN RENDERER. More...
 
#define MTLREQ_REND4   (1<<31)
 USED IN RENDERER. More...