Changeset 13041 for OpenSceneGraph/trunk/src/osg/PrimitiveSet.cpp
- Timestamp:
- 03/21/12 18:36:20 (14 months ago)
- Files:
-
- 1 modified
-
OpenSceneGraph/trunk/src/osg/PrimitiveSet.cpp (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/src/osg/PrimitiveSet.cpp
r11942 r13041 1 /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield 1 /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield 2 2 * 3 * This library is open source and may be redistributed and/or modified under 4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or 3 * This library is open source and may be redistributed and/or modified under 4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or 5 5 * (at your option) any later version. The full license is in LICENSE file 6 6 * included with this distribution, and on the openscenegraph.org website. 7 * 7 * 8 8 * This library is distributed in the hope that it will be useful, 9 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 11 * OpenSceneGraph Public License for more details. 12 12 */ … … 31 31 case(TRIANGLE_FAN): 32 32 case(QUAD_STRIP): 33 case(PATCHES): 33 case(PATCHES): 34 34 case(POLYGON): return 1; 35 35 } … … 37 37 } 38 38 39 void DrawArrays::draw(State& state, bool) const 40 { 41 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 42 GLenum mode = _mode; 43 if (_mode==GL_QUADS) 39 void DrawArrays::draw(State& state, bool) const 40 { 41 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 42 GLenum mode = _mode; 43 if (_mode==GL_QUADS) 44 44 { 45 45 state.drawQuads(_first, _count, _numInstances); … … 95 95 { 96 96 GLenum mode = _mode; 97 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 98 if (_mode==GL_QUADS) 97 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 98 if (_mode==GL_QUADS) 99 99 { 100 100 GLint first = _first; … … 106 106 first += *itr; 107 107 } 108 108 109 109 return; 110 110 } … … 165 165 } 166 166 167 void DrawElementsUByte::draw(State& state, bool useVertexBufferObjects) const 168 { 169 GLenum mode = _mode; 170 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 167 void DrawElementsUByte::draw(State& state, bool useVertexBufferObjects) const 168 { 169 GLenum mode = _mode; 170 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 171 171 if (mode==GL_POLYGON) mode = GL_TRIANGLE_FAN; 172 172 if (mode==GL_QUAD_STRIP) mode = GL_TRIANGLE_STRIP; … … 188 188 } 189 189 } 190 else 190 else 191 191 { 192 192 if (_numInstances>=1) state.glDrawElementsInstanced(mode, size(), GL_UNSIGNED_BYTE, &front(), _numInstances); … … 221 221 } 222 222 223 void DrawElementsUShort::draw(State& state, bool useVertexBufferObjects) const 224 { 225 GLenum mode = _mode; 226 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 223 void DrawElementsUShort::draw(State& state, bool useVertexBufferObjects) const 224 { 225 GLenum mode = _mode; 226 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 227 227 if (mode==GL_POLYGON) mode = GL_TRIANGLE_FAN; 228 228 if (mode==GL_QUAD_STRIP) mode = GL_TRIANGLE_STRIP; … … 244 244 } 245 245 } 246 else 246 else 247 247 { 248 248 if (_numInstances>=1) state.glDrawElementsInstanced(mode, size(), GL_UNSIGNED_SHORT, &front(), _numInstances); … … 277 277 } 278 278 279 void DrawElementsUInt::draw(State& state, bool useVertexBufferObjects) const 280 { 281 GLenum mode = _mode; 282 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 279 void DrawElementsUInt::draw(State& state, bool useVertexBufferObjects) const 280 { 281 GLenum mode = _mode; 282 #if defined(OSG_GLES1_AVAILABLE) || defined(OSG_GLES2_AVAILABLE) 283 283 if (mode==GL_POLYGON) mode = GL_TRIANGLE_FAN; 284 284 if (mode==GL_QUAD_STRIP) mode = GL_TRIANGLE_STRIP; … … 300 300 } 301 301 } 302 else 302 else 303 303 { 304 304 if (_numInstances>=1) state.glDrawElementsInstanced(mode, size(), GL_UNSIGNED_INT, &front(), _numInstances);
