00001 /* 00002 ----------------------------------------------------------------------------- 00003 This source file is part of OGRE 00004 (Object-oriented Graphics Rendering Engine) 00005 For the latest info, see http://www.ogre3d.org/ 00006 00007 Copyright (c) 2000-2013 Torus Knot Software Ltd 00008 00009 Permission is hereby granted, free of charge, to any person obtaining a copy 00010 of this software and associated documentation files (the "Software"), to deal 00011 in the Software without restriction, including without limitation the rights 00012 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00013 copies of the Software, and to permit persons to whom the Software is 00014 furnished to do so, subject to the following conditions: 00015 00016 The above copyright notice and this permission notice shall be included in 00017 all copies or substantial portions of the Software. 00018 00019 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00020 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00021 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00022 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00023 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00024 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00025 THE SOFTWARE. 00026 ----------------------------------------------------------------------------- 00027 */ 00028 #ifndef _RenderOperation_H__ 00029 #define _RenderOperation_H__ 00030 00031 #include "OgrePrerequisites.h" 00032 #include "OgreVertexIndexData.h" 00033 #include "OgreHeaderPrefix.h" 00034 00035 namespace Ogre { 00036 00037 00045 class _OgrePrivate RenderOperation { 00046 public: 00048 enum OperationType { 00050 OT_POINT_LIST = 1, 00052 OT_LINE_LIST = 2, 00054 OT_LINE_STRIP = 3, 00056 OT_TRIANGLE_LIST = 4, 00058 OT_TRIANGLE_STRIP = 5, 00060 OT_TRIANGLE_FAN = 6, 00062 OT_PATCH_1_CONTROL_POINT = 7, 00063 OT_PATCH_2_CONTROL_POINT = 8, 00064 OT_PATCH_3_CONTROL_POINT = 9, 00065 OT_PATCH_4_CONTROL_POINT = 10, 00066 OT_PATCH_5_CONTROL_POINT = 11, 00067 OT_PATCH_6_CONTROL_POINT = 12, 00068 OT_PATCH_7_CONTROL_POINT = 13, 00069 OT_PATCH_8_CONTROL_POINT = 14, 00070 OT_PATCH_9_CONTROL_POINT = 15, 00071 OT_PATCH_10_CONTROL_POINT = 16, 00072 OT_PATCH_11_CONTROL_POINT = 17, 00073 OT_PATCH_12_CONTROL_POINT = 18, 00074 OT_PATCH_13_CONTROL_POINT = 19, 00075 OT_PATCH_14_CONTROL_POINT = 20, 00076 OT_PATCH_15_CONTROL_POINT = 21, 00077 OT_PATCH_16_CONTROL_POINT = 22, 00078 OT_PATCH_17_CONTROL_POINT = 23, 00079 OT_PATCH_18_CONTROL_POINT = 24, 00080 OT_PATCH_19_CONTROL_POINT = 25, 00081 OT_PATCH_20_CONTROL_POINT = 26, 00082 OT_PATCH_21_CONTROL_POINT = 27, 00083 OT_PATCH_22_CONTROL_POINT = 28, 00084 OT_PATCH_23_CONTROL_POINT = 29, 00085 OT_PATCH_24_CONTROL_POINT = 30, 00086 OT_PATCH_25_CONTROL_POINT = 31, 00087 OT_PATCH_26_CONTROL_POINT = 32, 00088 OT_PATCH_27_CONTROL_POINT = 33, 00089 OT_PATCH_28_CONTROL_POINT = 34, 00090 OT_PATCH_29_CONTROL_POINT = 35, 00091 OT_PATCH_30_CONTROL_POINT = 36, 00092 OT_PATCH_31_CONTROL_POINT = 37, 00093 OT_PATCH_32_CONTROL_POINT = 38 00094 }; 00095 00097 VertexData *vertexData; 00098 00100 OperationType operationType; 00101 00106 bool useIndexes; 00107 00109 IndexData *indexData; 00111 const Renderable* srcRenderable; 00112 00115 size_t numberOfInstances; 00116 00119 bool useGlobalInstancingVertexBufferIsAvailable; 00120 00121 RenderOperation() : 00122 vertexData(0), operationType(OT_TRIANGLE_LIST), useIndexes(true), 00123 indexData(0), srcRenderable(0), numberOfInstances(1), 00124 useGlobalInstancingVertexBufferIsAvailable(true) {} 00125 00126 00127 }; 00130 } 00131 00132 #include "OgreHeaderSuffix.h" 00133 00134 #endif
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:40:45