Light.h
资源名称:g.rar [点击查看]
上传用户:laitongbao
上传日期:2021-02-20
资源大小:8176k
文件大小:1k
源码类别:

射击游戏

开发平台:

Visual C++

  1. #pragma once
  2. #include "NodeObject.h"
  3. /*
  4.   灯光类:继承NodeObject
  5. */
  6. class Light : public NodeObject
  7. {
  8. friend class TransitionController;
  9. friend class ShaderController;
  10. friend class FileController;
  11. friend class SceneTree;
  12. public:
  13. Light(Light& light);
  14. Light(TCHAR* name, VECTOR3 pos = VECTOR3(),float mutiple=1,DWORD diffuseColor=0xffffffff);
  15. Light(TCHAR* name,LIG_TYPE type, DWORD diffuseColor,DWORD specularColor,
  16.   DWORD ambientColor, float mutiple ,VECTOR3 pos ,
  17.   VECTOR3 direction,float range );
  18. void      Enable(bool enable);
  19. virtual   ~Light();
  20. void      SetDirection(VECTOR3 direction);
  21.     VECTOR3   GetDirection()const;
  22.     void      SetDiffuseColor(DWORD color);
  23. DWORD     GetDiffuseColor()const;
  24. void      SetSpecularColor(DWORD color);
  25. DWORD     GetSpecularColor()const;
  26. void      SetAmbientColor(DWORD color);
  27. DWORD     GetAmbientColor()const;
  28. void      SetLightType(LIG_TYPE type);
  29. LIG_TYPE  GetLightType()const;
  30. void      SetMutiple(float mut);
  31. float     GetMutiple()const;
  32. void      SetRange(float range);
  33. float     GetRange()const;
  34.  void     DrawObject(){};       //绘制虚拟物体(灯)********没有实现
  35.  void     PreDraw();//设置灯光
  36. void      CleanUp();
  37.         
  38. private:
  39. static int ID;//公有ID
  40. int        m_ID;//私有ID
  41. LIG_TYPE   m_lightType;
  42. float      m_mutiple;
  43. D3DXVECTOR3    m_vecDirection;
  44. D3DLIGHT9      m_light;
  45. bool           enable;
  46. };