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 |