| 160 }; |
160 }; |
| 161 |
161 |
| 162 constexpr ArrayClass ARRAY_CLASSES[] = {ArrayClass::Lines, ArrayClass::Triangles, ArrayClass::Quads, ArrayClass::ConditionalLines}; |
162 constexpr ArrayClass ARRAY_CLASSES[] = {ArrayClass::Lines, ArrayClass::Triangles, ArrayClass::Quads, ArrayClass::ConditionalLines}; |
| 163 constexpr int NUM_ARRAY_CLASSES = countof(ARRAY_CLASSES); |
163 constexpr int NUM_ARRAY_CLASSES = countof(ARRAY_CLASSES); |
| 164 |
164 |
| |
165 // Different ways to render the scene |
| 165 enum class RenderStyle |
166 enum class RenderStyle |
| 166 { |
167 { |
| |
168 // Normal rendering style |
| 167 Normal, |
169 Normal, |
| |
170 // Render all polygons as lines |
| 168 Wireframe, |
171 Wireframe, |
| |
172 // Use green colour for front faces and red colour for back faces |
| 169 BfcRedGreen, |
173 BfcRedGreen, |
| |
174 // Use a different colour for each object |
| 170 RandomColors, |
175 RandomColors, |
| |
176 // Render so that the colour of an object has an one to one correspondence with its id |
| 171 PickScene |
177 PickScene |
| 172 }; |
178 }; |
| 173 |
179 |
| |
180 // Different ways to render fragments. |
| 174 // These are also defined in shaders |
181 // These are also defined in shaders |
| 175 enum class FragmentStyle |
182 enum class FragmentStyle |
| 176 { |
183 { |
| |
184 // Use normal colours |
| 177 Normal = 0, |
185 Normal = 0, |
| |
186 // Use a distinctive green colour for BFC red/green view |
| 178 BfcGreen = 1, |
187 BfcGreen = 1, |
| |
188 // Use a distinctive red colour for BFC red/green view |
| 179 BfcRed = 2, |
189 BfcRed = 2, |
| |
190 // Use a colour based on the object to distinguish objects |
| 180 RandomColors = 3, |
191 RandomColors = 3, |
| |
192 // Use a colour that codes the object's id |
| 181 Id = 4, |
193 Id = 4, |
| 182 }; |
194 }; |
| 183 |
195 |
| 184 // User options for rendering |
196 // User options for rendering |
| 185 struct RenderPreferences |
197 struct RenderPreferences |