4 #include "vmtkFrameBufferObject.h" 5 #include "importDicom.h" 8 #include "transferFunction.h" 45 void resize(
int width,
int height);
93 vmath::Matrix4f m_registration_matrix, m_registration_matrix_inv;
94 float m_refThreshold, m_blender;
95 unsigned int *m_mapRef, *m_mapFloat;
98 GLuint m_floatTexture;
101 GLuint m_ColorShader;
102 GLuint m_RaytraceShader;
117 struct VertexDataCube
119 vmath::Vector3f position;
127 vmath::Vector2f position;
128 vmath::Vector2f texCoord;
133 vmath::Vector2f v1, v2, v3, v4;
137 vmath::Vector2f vt1, vt2, vt3, vt4;
141 vmath::Vector3f vc1, vc2, vc3, vc4, vc5, vc6, vc7, vc8, vc9, vc10, vc11, vc12,
142 vc13, vc14, vc15, vc16, vc17, vc18, vc19, vc20, vc21, vc22, vc23, vc24;
147 float m_fClipYBottom;
154 vmath::Matrix4f m_projectionMatrix;
155 vmath::Matrix4f m_modelViewMatrix;
156 vmath::Matrix4f m_rotationMatrix;
157 vmath::Matrix4f m_scalationMatrix;
158 vmath::Matrix4f m_translationMatrix;
160 float m_refScaleFactors[4];
161 float m_floatScaleFactors[4];
162 float m_refPhyDimensions[4];
163 float m_floatPhyDimensions[4];
174 void createVectorPlanes();
179 void loadVolumetoTexture();
183 void loadTransferFtoTexture();
188 void createBuffers();
193 void initRenderPlane();
206 void drawPlaneRayTraced();
209 #endif // VMTKRENDER3D_H void render()
renders the data with the specified redering mode.
void preRender(vmath::Matrix4f mvp)
renders the color cube in the fbos.
void initialize(int width, int height)
initializes 3D volume rendering
void initDrawCube()
initializes the geometry of a cube to be rendered for getting back and front depth maps...
vmtkRender3D()
vmtkRenderer3D constructor
void itlDrawColorCube(vmath::Matrix4f mvp)
draws a unit cube to get the front and the back depth maps of the volume cube, after updating the cli...
void resize(int width, int height)
resizes the dimensions of the display
void setThreshold(int threshold)
sets the threshold.
void setBlender(float blender)
sets the blender factor.
void setClipLeftX(float left_x)
sets the clipping plane.
bool readMatrix(const char *s)
reads the co-register matrix.
void setRotation(float ax, float ay, float az)
sets the rotation matrix.
int getMaxSliceLeft()
gets the maximum number of the slices from the axis X.
void setAcquisition(Import::ImgFormat *acq1, Import::ImgFormat *acq2)
sets the volumes to be registered