//* Módulo : material.hpp // // _Desc_ : Declara classe Material. // _Autor_: Rodrigo P. R. de Toledo #ifndef __MATERIAL_HPP #define __MATERIAL_HPP #include #include "varios.hpp" //* classe Material #Material# // Material também poderia ser chamado de textura. // Nesta implementação do RayTrace não há refração, portanto as variáveis // indice_refracao e indice_opacidade não foram disponibilizadas // nas funções inline. class Material{ private: Cor_rgb cor_ambiente, coeficiente_difuso, coeficiente_especular; int indice_especular; float indice_reflexao, indice_refracao, indice_opacidade; Imagem *texture; public: //* Construtor e Destrutor Material( FILE *fp ); virtual ~Material() {}; //* Funções inline que retornam informações do Material Cor_rgb Ambiente() {return cor_ambiente;}; Cor_rgb Cor_difusa() {return coeficiente_difuso;}; Cor_rgb Coeficiente_especular() {return coeficiente_especular;}; int Indice_especular() {return indice_especular;}; float Indice_reflexao() {return indice_reflexao;}; Imagem* Texture() {return texture;}; }; #endif