// HouseObject.h: interface for the CHouseObject class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_HOUSEOBJECT_H__F85E679D_0A78_40BA_91F8_DABE3690E8F1__INCLUDED_) #define AFX_HOUSEOBJECT_H__F85E679D_0A78_40BA_91F8_DABE3690E8F1__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "BaseDataDefine.h" #include "MeshObject.h" #include "MeshObjectContainer.h" #include "OctreeScene.h" #include "LightObjectScene.h" #include "ObjectScene.h" #include "InHouseObjectMap.h" #include "BspScene.h" #include "SectorLight.h" #include "LoadedObj.h" #include "ByteDataObj.h" class CHouseObject { public: void RenderGlare(LPDIRECT3DDEVICE8 pd3dDevice); static DWORD m_dwShadowMapVertexShader; static DWORD m_dwShadowMapPixelShader; static DWORD m_dwHouseDiffuseVertexShader; static DWORD m_dwHouseDiffusePixelShader; static DWORD m_dwHouseSpecularVertexShader; static DWORD m_dwHouseSpecularPixelShader; static LPDIRECT3DCUBETEXTURE8 m_pNormalizeCubeMap; matrix RenderShadow(LPDIRECT3DDEVICE8 pd3dDevice); COctreeScene *m_pOctree; void GetPolygon(); void CalcBox(vector3 &MinBox,vector3 &MaxBox,int iSelect = 0); List m_LightList; List m_ObjectList; void GenerateOctree(); void Render(LPDIRECT3DDEVICE8 pd3dDevice); void GenerateLightmap(matrix matSet,matrix matHouseTM,int LightmapMode); void GenerateNewLightmap(int ivalue,matrix matSet,matrix matHouseTM,CSectorLight *pLights,int iLights); void GenerateCaldronLightmap(matrix matSet,matrix matHouseTM,CSectorLight *pLights,int iLights); void GenerateCaldronPointLightmap(matrix matSet,matrix matHouseTM,CSectorLight *pLights,int iLights); bool SettingNight(bool bNight); CMeshObject *m_pInHouseObject; CMeshObject *m_pMedHouseObject; CMeshObject *m_pOutHouseObject; CMeshObject *m_pLodHouseObject; CBspScene *m_pBspObject; CInHouseObjectMap *m_pInHouseMap; CTexture m_Lightmap; CTexture m_InLightmap; CTexture m_Detailmap; bool m_isHaveLightmap; bool m_isHaveInLightmap; CHouseObject(); virtual ~CHouseObject(); List m_pVertex; List m_nVertex; List m_pIndices; List m_nIndices; // Night ¿ë ¼¼ÆÃ µÇ¾ú´ÂÁö bool m_bConvertNight; bool m_bNightMap; bool m_bNightUv; bool m_bModulate2X; // Night ¿ë µ¥ÀÌÅ͵é List m_pBackupVertex; List m_pBackupTmp; CTexture m_BackupLightmap; //======================== // Glare Å×½ºÆ® //======================== void RenderBlack( LPDIRECT3DDEVICE8 pd3dDevice ); }; #endif // !defined(AFX_HOUSEOBJECT_H__F85E679D_0A78_40BA_91F8_DABE3690E8F1__INCLUDED_)