00001 #ifndef TRANSFER_FUNCTION_TEXTURE_H
00002 #define TRANSFER_FUNCTION_TEXTURE_H
00003
00004 #include "BasicObjects.h"
00005 #include "common.h"
00006 #include "TFControlPoint.h"
00007
00008 #include "TransferFunctionGUI.h"
00009
00010 #include <vector>
00011
00012
00013 class TFControlPoint;
00014
00015
00016 enum Window
00017 {
00018 WINDOW_BOTTOM,
00019 WINDOW_RENDERING
00020 };
00021
00030 class TransferFunctionTexture
00031 {
00032
00033 public:
00034 static void initTransferFunctionTexture(int windowID, Window window);
00035
00036 static void refreshTransferFunctionTextureData();
00037 static void refreshTransferTextureDataWithControlPoints();
00038
00039 static void copyDataToTransferFunctionTexture(int windowID, Window window);
00040
00041
00042 static const int transferFunctionTextureWidth = 4096;
00043 static GLuint bottomWindowTransferFunctionTextureID;
00044 static GLuint renderWindowTransferFunctionTextureID;
00045
00046 static RGBA_Colour transferFunctionTexture[transferFunctionTextureWidth];
00047 };
00048
00049 #endif