2 #ifndef GRAMODS_GRAPHICS_OBJRENDERER 
    3 #define GRAMODS_GRAPHICS_OBJRENDERER 
    5 #include <gmGraphics/Renderer.hh> 
    6 #include <gmGraphics/ImageTexture.hh> 
    8 #include <gmCore/io_eigen.hh> 
    9 #include <gmCore/OFactory.hh> 
   11 BEGIN_NAMESPACE_GMGRAPHICS;
 
   29     Eigen::Vector3f color_ambient;
 
   31     Eigen::Vector3f color_diffuse;
 
   33     Eigen::Vector3f color_specular;
 
   35     Eigen::Vector3f color_emissive;
 
   44     std::shared_ptr<gmGraphics::ImageTexture> texture_ambient = 0;
 
   46     std::shared_ptr<gmGraphics::ImageTexture> texture_diffuse = 0;
 
   48     std::shared_ptr<gmGraphics::ImageTexture> texture_specular = 0;
 
   50     std::shared_ptr<gmGraphics::ImageTexture> texture_emissive = 0;
 
   59   void initialize() 
override;
 
   64   void render(
const Camera &camera, 
const Eigen::Affine3f &Mm) 
override;
 
   72   void getNearFar(
const Camera &camera,
 
   73                   const Eigen::Affine3f &Mm,
 
   82   void setFile(std::filesystem::path file);
 
   90   void setRecenter(
bool on);
 
   95   std::vector<Material> getMaterials() 
const;
 
  101   void setMaterials(
const std::vector<Material> &materials);
 
  114   std::unique_ptr<Impl> _impl;
 
  118 END_NAMESPACE_GMGRAPHICS;
 
The base of graphics Camera implementations.
Definition: Camera.hh:19
A renderer that draws an obj file.
Definition: ObjRenderer.hh:17
The base of graphics Renderer implementations.
Definition: Renderer.hh:17
Line for intersection with ray or segment.
Definition: IntersectionLine.hh:15
Definition: ObjRenderer.cpp:29
Data struct for material data used in the obj file rendering.
Definition: ObjRenderer.hh:26
float shininess
Shininess, i.e.
Definition: ObjRenderer.hh:41