DeprecatedRealtimeMaterialTexturemapShaderAPI.h

Go to the documentation of this file.
00001 /**********************************************************************
00002 *<
00003 FILE: DeprecatedRealtimeMaterialTexturemapShaderAPI
00004 
00005 DESCRIPTION:    Main Include for deprecated DirectX and MS Effect related code
00006                 
00007 CREATED BY:     Neil Hazzard
00008 
00009 HISTORY:        June 2010
00010 
00011 *>  Copyright (c) 2010, All Rights Reserved.
00012 **********************************************************************/
00013 #pragma once
00014 
00015 #include "maxheap.h"
00016 
00018 
00022 class MAX_DEPRECATED IHLSLCodeGenerator: public MaxHeapOperators{
00023 
00024 public:
00025     enum CodeVersion {
00026         PS_1_X,
00027         PS_2_0,
00028         PS_3_0,
00029         PS_2_X,
00030     };
00031 
00033     DllExport static IHLSLCodeGenerator * GetHLSLCodeGenerator();
00034 
00036 
00043     virtual MCHAR * GenerateFragmentCode(StdMat2 * mtl, Tab <INode *> lights, bool & transp) = 0;
00044 
00046     /*\
00047     \return A string containing the code
00048     */
00049     virtual MCHAR * GenerateVertexCode()=0;
00050 
00052 
00062     virtual MCHAR * GenerateEffectFile(StdMat2 * mtl,Tab <INode *> lights,CodeVersion code, bool & transp, int instSize, bool useLPRT = false) =0;
00063 
00065 
00072     virtual Texmap* GetShaderDefinedTexmap(StdMat2 * mat, MCHAR * mapName, bool & bump)=0;
00073 
00074 //  virtual ~IHLSLCodeGenerator() {}
00075     virtual void Release() = 0;
00076 };
00077 
00079 
00083 class MAX_DEPRECATED IHLSLCodeGenerator2
00084 {
00085 public:
00086     enum CodeVersion {
00087         PS_1_X,
00088         PS_2_0,
00089         PS_3_0,
00090         PS_2_X,
00091     };
00092 
00094 
00104     virtual MCHAR * GenerateEffectFile2(StdMat2 * mtl,Tab <INode *> lights,CodeVersion code, bool & transp, int instSize, bool useLPRT = false) =0;
00105 
00107 
00115     virtual MCHAR * GenerateFragmentCode2(StdMat2 * mtl, Tab <INode *> lights, bool & transp) = 0;
00116 
00118     DllExport static IHLSLCodeGenerator2 * GetHLSLCodeGenerator2();
00119 
00120 };
00121 
00123 #define HLSL_TEXTURE_INTERFACE Interface_ID(0xc2b2185, 0x635556bf)
00124 #pragma deprecated ("HLSL_TEXTURE_INTERFACE")
00125 
00127 class MAX_DEPRECATED TextureData: public MaxHeapOperators{
00128 public:
00130     MCHAR UIName[25];
00131 
00133     MCHAR SamplerName[25];
00134 
00136     int SubMapNum;
00137 };
00138 
00139 //typedef Tab < TextureData> TexDataList;
00140 //#pragma deprecated ("TextureData")
00142 
00146 class  MAX_DEPRECATED IHLSLTexmap : public BaseInterface
00147 {
00148 public:
00149 
00151 
00154     virtual bool DoesSupportHLSL(){return false;}
00155     
00157 
00161     virtual void GetTexmapHLSLFunction(MCHAR * code, MCHAR * entryPoint){ UNUSED_PARAM(code); UNUSED_PARAM(entryPoint); };
00162 
00164 
00169     virtual void GetTextureData(LPVOID list){ UNUSED_PARAM(list); };
00170 
00171 };