00001
00005 #pragma once
00006 #include "d3d.h"
00007 #include "d3d10drv.h"
00008
00009 class TexConversion
00010 {
00011 private:
00012
00016 struct TextureFormat
00017 {
00018 bool supported;
00019 char blocksize;
00020 bool directAssign;
00021 DXGI_FORMAT d3dFormat;
00022 void (*conversionFunc)(FTextureInfo&, DWORD, void *, int);
00023 };
00024 static TexConversion::TextureFormat formats[];
00025
00028 static void fromPaletted(FTextureInfo& Info,DWORD PolyFlags,void *target, int mipLevel);
00029 static void fromBGRA7(FTextureInfo& Info,DWORD PolyFlags,void *target,int mipLevel);
00031
00032 static void convertMip(FTextureInfo& Info,TextureFormat &format, DWORD PolyFlags,int mipLevel, D3D10_SUBRESOURCE_DATA &data);
00033
00034 public:
00035 static void convertAndCache(FTextureInfo& Info, DWORD PolyFlags);
00036 static void update(FTextureInfo& Info,DWORD PolyFlags);
00037
00038 };