]> git.mxchange.org Git - simgear.git/blob - simgear/scene/material/mipmap.hxx
Add mipmap control in the effect file
[simgear.git] / simgear / scene / material / mipmap.hxx
1 // Copyright (C) 2010  Frederic Bouvier\r
2 //\r
3 // This library is free software; you can redistribute it and/or\r
4 // modify it under the terms of the GNU Library General Public\r
5 // License as published by the Free Software Foundation; either\r
6 // version 2 of the License, or (at your option) any later version.\r
7 //\r
8 // This library is distributed in the hope that it will be useful,\r
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of\r
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
11 // Library General Public License for more details.\r
12 //\r
13 // You should have received a copy of the GNU General Public License\r
14 // along with this program; if not, write to the Free Software\r
15 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\r
16 \r
17 #ifndef SIMGEAR_MIPMAP_HXX\r
18 #define SIMGEAR_MIPMAP_HXX 1\r
19 \r
20 #include <boost/tuple/tuple.hpp>\r
21 \r
22 class SGPropertyNode;\r
23 \r
24 namespace osg {\r
25     class Image;\r
26 }\r
27 \r
28 namespace simgear\r
29 {\r
30 class Effect;\r
31 class SGReaderWriterXMLOptions;\r
32 \r
33 namespace effect {\r
34 enum MipMapFunction {\r
35     AUTOMATIC,\r
36     AVERAGE,\r
37     SUM,\r
38     PRODUCT,\r
39     MIN,\r
40     MAX\r
41 };\r
42 \r
43 typedef boost::tuple<MipMapFunction, MipMapFunction, MipMapFunction, MipMapFunction> MipMapTuple;\r
44 \r
45 MipMapTuple makeMipMapTuple(Effect* effect, const SGPropertyNode* props,\r
46                       const SGReaderWriterXMLOptions* options);\r
47 osg::Image* computeMipmap( osg::Image* image, MipMapTuple attrs );\r
48 } }\r
49 \r
50 #endif\r