/* ==================================================================== * ÆÄ ÀÏ : CullingProcess.h * ¸ñ Àû : NiCullingProcess¸¦ º¯ÇüÇÏ¿©.. ¾ËÆÄºí·£µùÀ» Áß½ÉÀ¸·Î * µÎ°³ÀÇ ÀúÀå°ø°£¿¡ ³ª´©¾î ÀúÀå. * ¶ÇÇÑ, °´Ã¼ÀÇ µ¥ÀÌÅÍÇüÀ¸·Î cEntity¸¦ »ç¿ëÇϰí, ÃÖÁ¾ÀûÀ¸·Î * µÎ°³ÀÇ NiVisibleArray¿¡ ºÐ»êÀûÀ¸·Î µ¥ÀÌÅ͸¦ ÀûÀçÇÑ´Ù. * ÀÛ ¼º ÀÚ : À̹ý¼® * ÀÛ ¼º ÀÏ : 2006.03 * ÁÖÀÇ»çÇ× : * =================================================================== */ #pragma once class cSceneNode; /// ÀÌÆåÆ® ³ëµå Àü¿ë Ä÷¯ class cCullingProcess : public NiMeshCullingProcess //NiCullingProcess { public: cCullingProcess( NiVisibleArray* palphaArray, NiVisibleArray* alphaTestArray, NiVisibleArray* psolidArray ); virtual ~cCullingProcess(); /// 󸮺Πvoid Cull( const NiCamera* pcamera, cSceneNode* pnode); protected: virtual void AppendVirtual( NiRenderObject& geom ); virtual void Process( NiAVObject* pobj ); protected: NiVisibleArray* mpAlphaArray; NiVisibleArray* mpAlphaTestArray; }; class cModifierProcess : public NiMeshCullingProcess { public: cModifierProcess(); virtual ~cModifierProcess(); void Cull( const NiCamera* pcamera, cSceneNode* pnode ); protected: virtual void AppendVirtual( NiRenderObject& /*geom*/ ){} virtual void Process( NiAVObject* pobj ); virtual void Process(const NiCamera* pkCamera, NiAVObject* pkScene, NiVisibleArray* pkVisibleSet); };