00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __GR_RenderHook__
00022 #define __GR_RenderHook__
00023
00024 #include "GR_API.h"
00025 #include <GEO/GEO_PrimType.h>
00026
00027 class RE_Render;
00028 class GU_Detail;
00029 class GR_AttribOffset;
00030 class GU_PrimGroupClosure;
00031 class GR_DisplayOption;
00032
00033 class GR_API GR_RenderHook
00034 {
00035 public:
00036 GR_RenderHook() {}
00037 virtual ~GR_RenderHook() {}
00038
00039
00040
00041
00042 virtual int getWireMask(GU_Detail * ,
00043 const GR_DisplayOption * ) const
00044 {
00045 return GEOPRIMALL;
00046 }
00047
00048
00049 virtual void renderWire(GU_Detail *gdp,
00050 RE_Render &ren,
00051 const GR_AttribOffset &ptinfo,
00052 const GR_DisplayOption *dopt,
00053 float lod,
00054 const GU_PrimGroupClosure *hidden_geometry) = 0;
00055
00056 virtual int getShadedMask(GU_Detail * ,
00057 const GR_DisplayOption * ) const
00058 {
00059 return GEOPRIMALL;
00060 }
00061
00062
00063 virtual void renderShaded(GU_Detail *gdp,
00064 RE_Render &ren,
00065 const GR_AttribOffset &ptinfo,
00066 const GR_DisplayOption *dopt,
00067 float lod,
00068 const GU_PrimGroupClosure *hidden_geometry) = 0;
00069
00070
00071
00072
00073
00074 virtual const char *getName() const = 0;
00075 protected:
00076 };
00077
00078 #endif
00079