RenderOptions.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //-------------------------------------------------------------------------------
  2. /**
  3. * This program is distributed under the terms of the GNU Lesser General
  4. * Public License (LGPL).
  5. *
  6. * ASSIMP Viewer Utility
  7. *
  8. */
  9. //-------------------------------------------------------------------------------
  10. #if (!defined AV_RO_H_INCLUDED)
  11. #define AV_RO_H_INCLUDED
  12. //-------------------------------------------------------------------------------
  13. /** \brief Class to manage render options. One global instance
  14. */
  15. //-------------------------------------------------------------------------------
  16. class RenderOptions
  17. {
  18. public:
  19. // enumerates different drawing modi. POINT is currently
  20. // not supported and probably will never be.
  21. enum DrawMode {NORMAL, WIREFRAME, POINT};
  22. inline RenderOptions (void) :
  23. bMultiSample (true),
  24. bSuperSample (false),
  25. bRenderMats (true),
  26. bRenderNormals (false),
  27. eDrawMode (NORMAL),
  28. b3Lights (false),
  29. bLightRotate (false),
  30. bRotate (true),
  31. bLowQuality (false),
  32. bNoSpecular (false) {}
  33. bool bMultiSample;
  34. // SuperSampling has not yet been implemented
  35. bool bSuperSample;
  36. // Display the real material of the object
  37. bool bRenderMats;
  38. // Render the normals
  39. bool bRenderNormals;
  40. // Use 2 directional light sources
  41. bool b3Lights;
  42. // Automatically rotate the light source(s)
  43. bool bLightRotate;
  44. // Automatically rotate the asset around its origin
  45. bool bRotate;
  46. // use standard lambertian lighting
  47. bool bLowQuality;
  48. // disable specular lighting got all elements in the scene
  49. bool bNoSpecular;
  50. // wireframe or solid rendering?
  51. DrawMode eDrawMode;
  52. };
  53. #endif // !! IG