Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Light.h 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: t; c-basic-offset: 3 -*- */
  2. /*================================================================
  3. *
  4. * Project : Freyja
  5. * Author : Terry 'Mongoose' Hendrix II
  6. * Website : http://www.westga.edu/~stu7440/
  7. * Email : stu7440@westga.edu
  8. * Object : Light
  9. * License : No use w/o permission (C) 2002 Mongoose
  10. * Comments: This is the GL light class
  11. *
  12. *
  13. * This file was generated using Mongoose's C++
  14. * template generator script. <stu7440@westga.edu>
  15. *
  16. *-- History ------------------------------------------------
  17. *
  18. * 2002.01.27:
  19. * Mongoose - Created
  20. ================================================================*/
  21. #ifndef __FREYJA_MONGOOSE_LIGHT_H_
  22. #define __FREYJA_MONGOOSE_LIGHT_H_
  23. #include <MatMath.h>
  24. class Light
  25. {
  26. public:
  27. typedef enum
  28. {
  29. typePoint = 1,
  30. typeSpot = 2,
  31. typeDirectional = 3
  32. } FreyjaLightType;
  33. Light();
  34. /*------------------------------------------------------
  35. * Pre :
  36. * Post : Constructs an object of Light
  37. *
  38. *-- History ------------------------------------------
  39. *
  40. * 2002.01.27:
  41. * Mongoose - Created
  42. ------------------------------------------------------*/
  43. ~Light();
  44. /*------------------------------------------------------
  45. * Pre : Light object is allocated
  46. * Post : Deconstructs an object of Light
  47. *
  48. *-- History ------------------------------------------
  49. *
  50. * 2002.01.27:
  51. * Mongoose - Created
  52. ------------------------------------------------------*/
  53. float mAmbient[4]; /* Ambient color */
  54. float mDiffuse[4]; /* Diffuse color */
  55. float mSpecular[4]; /* Specular color */
  56. vec4_t mPos; /* Light position in 3 space */
  57. vec3_t mDir; /* Light direction */
  58. float mAtt; /* */
  59. vec4_t mColor; /* Color of light */
  60. vec_t mCutoff; /* Fade out distance */
  61. FreyjaLightType mType; /* Type of light */
  62. private:
  63. //unsigned int mFlags; /* Flags for this light */
  64. //unsigned int mId; /* Unique identifier of this light */
  65. //char *mName; /* Light name */
  66. };
  67. #endif