⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch11p2_texturefire.h

📁 游戏开发特殊技巧-special.effects.game.programming
💻 H
字号:
// Ch11p2_TextureFire.h: interface for the CTextureFire class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CH11P2_TEXTUREFIRE_H__DC47117F_2750_4C69_A954_184DB6487700__INCLUDED_)
#define AFX_CH11P2_TEXTUREFIRE_H__DC47117F_2750_4C69_A954_184DB6487700__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <d3dx8.h>

class CTextureFire  
{
public:
  CTextureFire() { 
    m_pd3dDevice = NULL; m_FireBuffer1 = NULL; m_FireBuffer2 = NULL;
    m_pActiveBuffer = NULL; m_pScratchBuffer = NULL; }

  virtual ~CTextureFire() { InvalidateDeviceObjects(); DeleteDeviceObjects(); }

  virtual void InitDeviceObjects(LPDIRECT3DDEVICE8 pDevice, int iTextureSize = 128, 
    int iCoolAmount = 1);
  virtual void RestoreDeviceObjects(void);
  virtual void InvalidateDeviceObjects(void);
  virtual void DeleteDeviceObjects(void);

  virtual void SetupTextureStages(void);
  virtual void FrameMove(void);

  void SetCoolAmount(int coolamount) { m_iCoolAmount = coolamount; }
  int GetCoolAmount(void) { return(m_iCoolAmount); }

  bool LoadPaletteFromBMP(const char *strBMPfile);
  
protected:
  
  virtual void Process(void);
  virtual bool CopyToTexture(void);

  LPDIRECT3DDEVICE8 m_pd3dDevice;
  LPDIRECT3DTEXTURE8 m_pTexture;

  int m_iCoolAmount;
  int m_iTextureSize;

  unsigned char *m_FireBuffer1; // first fire array
  unsigned char *m_FireBuffer2; // 2nd fire array

  unsigned char *m_pActiveBuffer;
  unsigned char *m_pScratchBuffer;

  PALETTEENTRY m_Palette[256];

};

#endif // !defined(AFX_CH11P2_TEXTUREFIRE_H__DC47117F_2750_4C69_A954_184DB6487700__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -