OgreRenderOperation.h
Go to the documentation of this file.
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
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:40:45