31 #include <pbrt_parser.h> 32 #include <cugar/linalg/vector.h> 33 #include <cugar/linalg/matrix.h> 56 FermatImporter(
const char* filename,
MeshStorage* mesh,
Camera* camera, std::vector<DirectionalLight>* dir_lights, std::vector<std::string>* scene_dirs);
59 virtual void identity();
61 virtual void rotate(
const float angle,
const float x,
const float y,
const float z);
62 virtual void scale(
const float x,
const float y,
const float z);
63 virtual void translate(
const float x,
const float y,
const float z);
65 const float ex,
const float ey,
const float ez,
66 const float lx,
const float ly,
const float lz,
67 const float ux,
const float uy,
const float uz);
69 virtual void integrator(
const char* name,
const ParameterList& params) {}
70 virtual void sampler(
const char* name,
const ParameterList& params) {}
71 virtual void pixel_filter(
const char* name,
const ParameterList& params) {}
72 virtual void film(
const char* name,
const ParameterList& params);
73 virtual void camera(
const char* name,
const ParameterList& params);
75 virtual void world_begin();
76 virtual void world_end();
78 virtual void attribute_begin();
79 virtual void attribute_end();
81 virtual void transform_begin();
82 virtual void transform_end();
84 virtual void texture(
const char* name,
const char* texel_type,
const char* texture_type,
const ParameterList& params);
86 virtual void make_named_medium(
const char* name,
const ParameterList& params);
87 virtual void make_named_material(
const char* name,
const ParameterList& params);
88 virtual void named_material(
const char* name);
89 virtual void medium_interface(
const char* name1,
const char* name2);
90 virtual void material(
const char* type,
const ParameterList& params);
91 virtual void area_light_source(
const char* type,
const ParameterList& params);
92 virtual void light_source(
const char* type,
const ParameterList& params);
94 virtual void shape(
const char* type,
const ParameterList& params);
100 typedef std::map<std::string, uint32> texture_map_type;
101 typedef std::map<std::string, uint32> material_map_type;
106 std::vector<DirectionalLight>* m_dir_lights;
107 std::vector<std::string>& m_dirs;
108 texture_map_type m_texture_map;
109 material_map_type m_material_map;
110 std::vector<MeshMaterial> m_materials;
111 std::vector<std::string> m_material_names;
112 std::stack<cugar::Matrix4x4f> m_transform_stack;
113 std::stack<int> m_material_stack;
114 std::stack<cugar::Vector3f> m_emission_stack;
115 int m_default_material;
void transform(const uint32 n, const Iterator in, const Output out, const Functor functor)
Definition: primitives_inl.h:357
Definition: pbrt_parser.h:198
CUGAR_HOST_DEVICE Matrix< T, 4, 4 > translate(const Vector< T, 3 > &vec)
Definition: matrix_inline.h:524
Definition: pbrt_importer.cpp:41
Definition: pbrt_importer.h:54
Definition: MeshView.h:55
Definition: pbrt_importer.h:46
Matrix< T, 4, 4 > look_at(const Vector< T, 3 > &eye, const Vector< T, 3 > ¢er, const Vector< T, 3 > &up, bool flip_sign=false)
Definition: matrix_inline.h:568
Definition: MeshStorage.h:44
Definition: pbrt_parser.h:186
Definition: pbrt_parser.h:74
CUGAR_HOST_DEVICE Matrix< T, 4, 4 > scale(const Vector< T, 3 > &vec)
build a 3d scaling matrix
Definition: matrix_inline.h:539