FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
ImageRenderer.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 #include "FAST/Data/Image.hpp"
5 
6 namespace fast {
7 
8 class FAST_EXPORT ImageRenderer : public Renderer {
10  public:
11  void loadAttributes() override;
12  void setIntensityLevel(float level);
13  float getIntensityLevel();
14  void setIntensityWindow(float window);
15  float getIntensityWindow();
16  ~ImageRenderer();
17  protected:
18  ImageRenderer();
19  void draw(Matrix4f perspectiveMatrix, Matrix4f viewingMatrix, float zNear, float zFar, bool mode2D);
20  void deleteAllTextures();
21 
22 
23  std::unordered_map<uint, uint> mTexturesToRender;
24  std::unordered_map<uint, Image::pointer> mImageUsed;
28  std::unordered_map<uint, uint64_t> mDataTimestamp;
29  std::unordered_map<uint, uint> mVAO;
30  std::unordered_map<uint, uint> mVBO;
31  std::unordered_map<uint, uint> mEBO;
32 
33  cl::Kernel mKernel;
34 
35  // Level and window intensities
36  float mWindow;
37  float mLevel;
38 
39  void drawTextures(Matrix4f &perspectiveMatrix, Matrix4f &viewingMatrix, bool mode2D);
40 };
41 
42 }
fast::Renderer
Definition: Renderer.hpp:14
Image.hpp
fast::ImageRenderer::mKernel
cl::Kernel mKernel
Definition: ImageRenderer.hpp:33
fast
Definition: AffineTransformation.hpp:7
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
Renderer.hpp
fast::ImageRenderer::mEBO
std::unordered_map< uint, uint > mEBO
Definition: ImageRenderer.hpp:31
fast::ImageRenderer::mVAO
std::unordered_map< uint, uint > mVAO
Definition: ImageRenderer.hpp:29
fast::ImageRenderer::mTexturesToRender
std::unordered_map< uint, uint > mTexturesToRender
Definition: ImageRenderer.hpp:23
fast::ImageRenderer::mVBO
std::unordered_map< uint, uint > mVBO
Definition: ImageRenderer.hpp:30
fast::ImageRenderer::mWindow
float mWindow
Definition: ImageRenderer.hpp:36
fast::ImageRenderer::mLevel
float mLevel
Definition: ImageRenderer.hpp:37
fast::ImageRenderer::mDataTimestamp
std::unordered_map< uint, uint64_t > mDataTimestamp
Definition: ImageRenderer.hpp:28
fast::ImageRenderer::mImageUsed
std::unordered_map< uint, Image::pointer > mImageUsed
Definition: ImageRenderer.hpp:24
fast::ImageRenderer
Definition: ImageRenderer.hpp:8