render_engine.hpp
Go to the documentation of this file.
1 /*
2 ** TP CPE Lyon
3 ** Copyright (C) 2013 Damien Rohmer
4 **
5 ** This program is free software: you can redistribute it and/or modify
6 ** it under the terms of the GNU General Public License as published by
7 ** the Free Software Foundation, either version 3 of the License, or
8 ** (at your option) any later version.
9 **
10 ** This program is distributed in the hope that it will be useful,
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ** GNU General Public License for more details.
14 **
15 ** You should have received a copy of the GNU General Public License
16 ** along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef RENDER_ENGINE_HPP
20 #define RENDER_ENGINE_HPP
21 
22 
23 #include <scene.hpp>
24 #include <shading.hpp>
25 
26 
27 namespace cpe
28 {
29 class image_zbuffer;
30 class vertex;
31 class mesh;
32 class vec3;
33 class pos2;
34 
37 {
38 public:
39 
41  render_engine(image_zbuffer& im,const scene& scene_parameter,const shading& shading_parameter);
42 
44  void render(const vertex& v0,const vertex& v1,const vertex& v2);
46  void render(const mesh& m);
47 
48 private:
49 
56 };
57 
58 
60 pos2 real_coordinate_to_image_coordinate(const vec3& p,int Nx,int Ny);
61 
62 }
63 
64 #endif