All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MergeMaterialGenerator.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2014 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 #ifndef _MERGEMATERIALGENERATOR_HH_
18 #define _MERGEMATERIALGENERATOR_HH_
19 
21 #include "gazebo/util/system.hh"
22 
23 namespace gazebo
24 {
25  namespace rendering
26  {
39  {
41  public: enum MaterialPermutations
42  {
43  // (Regular) Textures
44  MP_NO_TEXTURES = 0x00000000,
45  MP_ONE_TEXTURE = 0x00000001,
46  MP_TWO_TEXTURES = 0x00000002,
47  MP_THREE_TEXTURES = 0x00000003,
48  MP_TEXTURE_MASK = 0x0000000F,
49 
50  // Material properties
51  MP_HAS_DIFFUSE_COLOUR = 0x00000010,
52 
53  // The number of texture coordinate sets
54  MP_NO_TEXCOORDS = 0x00000000,
55  MP_ONE_TEXCOORD = 0x00000100,
56  MP_TWO_TEXCOORDS = 0x00000200,
57  MP_TEXCOORD_MASK = 0x00000700,
58 
59  // Do we have a normal map
60  MP_NORMAL_MAP = 0x00000800,
61 
62  // Are we skinned?
63  MP_SKINNED = 0x00010000
64  };
65 
67  public: static const uint32_t FS_MASK = 0x0000FFFF;
68 
70  public: static const uint32_t VS_MASK = 0x00FFFF00;
71 
73  public: static const uint32_t MAT_MASK = 0xFF00FFFF;
74 
75  public: MergeMaterialGenerator(Ogre::String _matName, bool _useDSF);
76  };
77  }
78 }
79 
80 #endif
Class for generating materials for objects to render themselves in the merging step of deferred light...
Definition: MergeMaterialGenerator.hh:38
MaterialPermutations
The relevant options for materials.
Definition: MergeMaterialGenerator.hh:41
Caching, on-the-fly material generator.
Definition: MaterialGenerator.hh:39
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48