![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00006 00007 #pragma once 00008 00009 #include <vrvGraphics/vrvGraphics.h> 00010 00011 namespace makVrv 00012 { 00013 00014 class DtOverlayResourceProvider; 00015 00018 class DT_DLL_VRVGRAPHICS DtPrimitiveRenderer 00019 { 00020 public: 00021 00022 enum RenderModes 00023 { 00024 RenderMode_VertexArray = 1, 00025 RenderMode_VertexBufferObject, 00026 RenderMode_SortedVertexArray, 00027 RenderMode_SortedVertexBufferObject, 00028 RenderModes_End 00029 }; 00030 00031 enum OrderModes 00032 { 00033 OrderMode_None = 0, 00034 OrderMode_Queue, 00035 OrderMode_Group, 00036 OrderModes_end 00037 }; 00038 00039 DtPrimitiveRenderer(DtOverlayResourceProvider& provider); 00040 virtual ~DtPrimitiveRenderer(); 00041 00043 virtual int numberOfPrimitives() const = 0; 00044 00046 virtual void releaseResources() = 0; 00047 00049 virtual bool isRenderModeSupported(int mode) = 0; 00050 00051 // Set the render mode 00052 void setRenderMode(int mode); 00053 00054 // Get the render mode 00055 int renderMode() const; 00056 00057 // Get the number of render modes 00058 int numberOfRenderModes() const; 00059 00062 void setOrderMode(int mode); 00063 00065 int orderMode() const; 00066 00067 void addGroupRef( unsigned int group ); 00068 00069 void removeGroupRef( unsigned int group ); 00070 00071 unsigned int groupCount() const; 00072 00073 protected: 00074 00075 DtOverlayResourceProvider& myProvider; 00076 int myRenderMode; 00077 int myOrderMode; 00078 bool myForceUpdate; 00079 00080 }; 00081 }