![]()  | 
  
    SLProject
    4.2.000
    
   A platform independent 3D computer graphics framework for desktop OS,  Android,  iOS and online in web browsers 
   | 
 
SLTexColorLUT defines a lookup table as an 1D texture of (256) RGBA values. More...
#include <SLTexColorLUT.h>
Public Member Functions | |
| SLTexColorLUT (SLAssetManager *assetMgr, SLColorLUTType lutType, SLuint length=256) | |
| Default ctor color LUT of a specific SLColorLUTType.  More... | |
| SLTexColorLUT (SLAssetManager *assetMgr, SLVAlphaLUTPoint alphaVec, SLColorLUTType lutType=CLUT_RYGCB, SLuint length=256) | |
| ctor with vector of alpha values and a predefined color LUT scheme  More... | |
| SLTexColorLUT (SLAssetManager *assetMgr, SLVAlphaLUTPoint alphaValues, SLVColorLUTPoint colorValues, SLuint length=256) | |
| ctor with vector of alpha and color values  More... | |
| virtual | ~SLTexColorLUT () | 
| void | generateTexture () | 
| Generates the full 256 value LUT as 1x256 RGBA texture.  More... | |
| void | colors (SLColorLUTType lut) | 
| Colors setter function by predefined color LUT.  More... | |
| SLuint | length () | 
| SLVColorLUTPoint & | colors () | 
| SLVAlphaLUTPoint & | alphas () | 
| SLVfloat | allAlphas () | 
| Returns all alpha values of the transfer function as a float vector.  More... | |
| SLVCol3f | allColors () | 
| Returns all alpha values of the transfer function as a float vector.  More... | |
  Public Member Functions inherited from SLGLTexture | |
| SLGLTexture () | |
| Default ctor for all stack instances (not created with new)  More... | |
| SLGLTexture (SLAssetManager *assetMgr, const SLVCol4f &colors, SLint min_filter=GL_LINEAR, SLint mag_filter=GL_LINEAR, SLint wrapS=GL_REPEAT, const SLstring &name="2D-Texture") | |
| ctor for 1D texture with internal image allocation  More... | |
| SLGLTexture (SLAssetManager *assetMgr, SLint min_filter, SLint mag_filter, SLint wrapS, SLint wrapT, SLenum target=GL_TEXTURE_2D) | |
| ctor for empty 2D textures  More... | |
| SLGLTexture (SLAssetManager *assetMgr, unsigned char *data, int width, int height, int cvtype, SLint min_filter, SLint mag_filter, SLTextureType type, SLint wrapS, SLint wrapT) | |
| ctor for 2D textures from byte pointer  More... | |
| SLGLTexture (SLAssetManager *assetMgr, const SLstring &imageFilename, SLint min_filter=GL_LINEAR_MIPMAP_LINEAR, SLint mag_filter=GL_LINEAR, SLTextureType type=TT_unknown, SLint wrapS=GL_REPEAT, SLint wrapT=GL_REPEAT) | |
| ctor for 2D textures with internal image allocation  More... | |
| SLGLTexture (SLAssetManager *assetMgr, const SLVstring &imageFilenames, SLint min_filter=GL_LINEAR, SLint mag_filter=GL_LINEAR, SLint wrapS=GL_REPEAT, SLint wrapT=GL_REPEAT, const SLstring &name="3D-Texture", SLbool loadGrayscaleIntoAlpha=false) | |
| ctor for 3D texture with internal image allocation  More... | |
| SLGLTexture (SLAssetManager *assetMgr, SLint depth, const SLstring &imageFilename, SLint min_filter=GL_LINEAR, SLint mag_filter=GL_LINEAR, SLint wrapS=GL_REPEAT, SLint wrapT=GL_REPEAT, const SLstring &name="3D-Texture", SLbool loadGrayscaleIntoAlpha=false) | |
| ctor for 3D texture from a single file with depth as 3rd dimension  More... | |
| SLGLTexture (SLAssetManager *assetMgr, const SLstring &imageFilenameXPos, const SLstring &imageFilenameXNeg, const SLstring &imageFilenameYPos, const SLstring &imageFilenameYNeg, const SLstring &imageFilenameZPos, const SLstring &imageFilenameZNeg, SLint min_filter=GL_LINEAR, SLint mag_filter=GL_LINEAR, SLTextureType type=TT_unknown) | |
| ctor for cube mapping with internal image allocation  More... | |
| ~SLGLTexture () override | |
| virtual void | build (SLint texUnit) | 
| void | deleteData (SLbool deleteAlsoOnGPU) | 
| Delete all data (CVImages and GPU textures)  More... | |
| void | deleteDataGpu () | 
| Deletes the OpenGL texture objects and releases the memory on the GPU.  More... | |
| void | deleteImages () | 
| Deletes the CVImages in _images. No more texture mapping in ray tracing.  More... | |
| void | bindActive (SLuint texUnit=0) | 
| void | fullUpdate () | 
| void | drawSprite (SLbool doUpdate, SLfloat x, SLfloat y, SLfloat w, SLfloat h) | 
| Draws the texture as 2D sprite with OpenGL buffers.  More... | |
| void | cubeUV2XYZ (SLint index, SLfloat u, SLfloat v, SLfloat &x, SLfloat &y, SLfloat &z) | 
| Computes the unnormalised vector x,y,z from tex. coords. uv with cubemap index.  More... | |
| void | cubeXYZ2UV (SLfloat x, SLfloat y, SLfloat z, SLint &index, SLfloat &u, SLfloat &v) | 
| Computes the uv and cubemap image index from a unnormalised vector x,y,z.  More... | |
| SLstring | filterString (SLint glFilter) | 
| Returns OpenGL texture filter as string.  More... | |
| void | texType (SLTextureType bt) | 
| void | uvIndex (SLbyte i) | 
| void | bumpScale (SLfloat bs) | 
| void | minFiler (SLint minF) | 
| void | magFiler (SLint magF) | 
| void | needsUpdate (SLbool update) | 
| void | textureSize (int width, int height) | 
| void | deleteImageAfterBuild (SLbool delImg) | 
| If deleteImageAfterBuild is set to true you won't be able to ray trace the scene.  More... | |
| SLuint | width () | 
| SLuint | height () | 
| SLuint | depth () | 
| SLbyte | uvIndex () | 
| SLint | bytesPerPixel () | 
| SLint | bytesOnGPU () | 
| SLint | bytesInFile () | 
| CVVImage & | images () | 
| SLenum | target () const | 
| SLuint | texID () const | 
| SLTextureType | texType () | 
| SLfloat | bumpScale () const | 
| SLCol4f | getTexelf (SLfloat u, SLfloat v, SLuint imgIndex=0) | 
| SLGLTexture::getTexelf returns a pixel color from u & v texture coordinates.  More... | |
| SLCol4f | getTexelf (const SLVec3f &cubemapDir) | 
| SLGLTexture::getTexelf returns a pixel color at the specified cubemap direction.  More... | |
| SLbool | hasAlpha () | 
| SLMat4f | tm () | 
| SLbool | autoCalcTM3D () const | 
| SLbool | needsUpdate () | 
| SLstring | typeName () | 
| Returns the texture type as string.  More... | |
| SLstring | typeShortName () | 
| Returns the texture type short.  More... | |
| bool | isTexture () | 
| SLstring | minificationFilterName () | 
| SLstring | magnificationFilterName () | 
| void | build2DMipmaps (SLint target, SLuint index) | 
| SLbool | copyVideoImage (SLint camWidth, SLint camHeight, CVPixelFormatGL glFormat, SLuchar *data, SLbool isContinuous, SLbool isTopLeft) | 
| Copies the image data from a video camera into the current video image.  More... | |
| SLbool | copyVideoImage (SLint camWidth, SLint camHeight, CVPixelFormatGL srcFormat, CVPixelFormatGL dstFormat, SLuchar *data, SLbool isContinuous, SLbool isTopLeft) | 
| void | calc3DGradients (SLint sampleRadius, const function< void(int)> &onUpdateProgress=nullptr) | 
| void | smooth3DGradients (SLint smoothRadius, function< void(int)> onUpdateProgress=nullptr) | 
| SLVec2f | dudv (SLfloat u, SLfloat v) | 
  Public Member Functions inherited from SLObject | |
| SLObject (const SLstring &Name="", const SLstring &url="") | |
| virtual | ~SLObject () | 
| void | name (const SLstring &Name) | 
| void | url (const SLstring &url) | 
| const SLstring & | name () const | 
| const SLstring & | url () const | 
  Public Member Functions inherited from SLEventHandler | |
| SLEventHandler () | |
| virtual | ~SLEventHandler () | 
| virtual SLbool | onMouseDown (const SLMouseButton button, const SLint x, const SLint y, const SLKey mod) | 
| virtual SLbool | onMouseUp (const SLMouseButton button, const SLint x, const SLint y, const SLKey mod) | 
| virtual SLbool | onMouseMove (const SLMouseButton button, const SLint x, const SLint y, const SLKey mod) | 
| virtual SLbool | onDoubleClick (const SLMouseButton button, const SLint x, const SLint y, const SLKey mod) | 
| virtual SLbool | onMouseWheel (const SLint delta, const SLKey mod) | 
| virtual SLbool | onTouch2Down (const SLint x1, const SLint y1, const SLint x2, const SLint y2) | 
| virtual SLbool | onTouch2Move (const SLint x1, const SLint y1, const SLint x2, const SLint y2) | 
| virtual SLbool | onTouch2Up (const SLint x1, const SLint y1, const SLint x2, const SLint y2) | 
| virtual SLbool | onTouch3Down (const SLint x1, const SLint y1) | 
| virtual SLbool | onTouch3Move (const SLint x1, const SLint y1) | 
| virtual SLbool | onTouch3Up (const SLint x1, const SLint y1) | 
| virtual SLbool | onKeyPress (const SLKey key, const SLKey mod) | 
| virtual SLbool | onKeyRelease (const SLKey key, const SLKey mod) | 
| virtual SLbool | onRotationPYR (const SLfloat pitchRAD, const SLfloat yawRAD, const SLfloat rollRAD) | 
| void | mouseRotationFactor (SLfloat rf) | 
| SLfloat | mouseRotationFactor () | 
Protected Attributes | |
| SLuint | _length | 
| SLColorLUTType | _colorLUT | 
| Length of transfer function (default 256)  More... | |
| SLVColorLUTPoint | _colors | 
| Color LUT identifier.  More... | |
| SLVAlphaLUTPoint | _alphas | 
| vector of colors in TF  More... | |
  Protected Attributes inherited from SLGLTexture | |
| CVVImage | _images | 
| Vector of CVImage pointers.  More... | |
| SLuint | _texID | 
| OpenGL texture ID.  More... | |
| SLTextureType | _texType | 
| See SLTextureType.  More... | |
| SLint | _width | 
| Texture image width in pixels (images exist either in _images or on the GPU or on both)  More... | |
| SLint | _height | 
| Texture image height in pixels (images exist either in _images or on the GPU or on both)  More... | |
| SLint | _depth | 
| 3D Texture image depth (images exist either in _images or on the GPU or on both)  More... | |
| SLbyte | _uvIndex | 
| Texture coordinate index in SLMesh (0 = default)  More... | |
| SLint | _internalFormat | 
| Internal OpenGL format.  More... | |
| SLint | _bytesPerPixel | 
| Bytes per texture image pixel (images exist either in _images or on the GPU or on both)  More... | |
| SLint | _min_filter | 
| Minification filter.  More... | |
| SLint | _mag_filter | 
| Magnification filter.  More... | |
| SLint | _wrap_s | 
| Wrapping in s direction.  More... | |
| SLint | _wrap_t | 
| Wrapping in t direction.  More... | |
| SLenum | _target | 
| texture target  More... | |
| SLMat4f | _tm | 
| texture matrix  More... | |
| SLuint | _bytesOnGPU | 
| NO. of bytes on GPU.  More... | |
| SLuint | _bytesInFile | 
| NO. of bytes in file.  More... | |
| SLbool | _autoCalcTM3D | 
| Flag if texture matrix should be calculated from AABB for 3D mapping.  More... | |
| SLfloat | _bumpScale | 
| Bump mapping scale factor.  More... | |
| SLbool | _resizeToPow2 | 
| Flag if image should be resized to n^2.  More... | |
| SLGLVertexArray | _vaoSprite | 
| Vertex array object for sprite rendering.  More... | |
| std::atomic< bool > | _needsUpdate {} | 
| Flag if image needs an single update.  More... | |
| std::mutex | _mutex | 
| Mutex to protect parallel access (used in ray tracing)  More... | |
| SLbool | _deleteImageAfterBuild | 
| Flag if images should be deleted after build on GPU.  More... | |
| SLbool | _compressedTexture = false | 
| True for compressed texture format on GPU.  More... | |
  Protected Attributes inherited from SLObject | |
| SLstring | _name | 
| name of an object  More... | |
| SLstring | _url | 
| uniform resource locator  More... | |
  Protected Attributes inherited from SLEventHandler | |
| SLfloat | _mouseRotationFactor | 
| Mouse rotation sensibility.  More... | |
| SLfloat | _keyboardDeltaPos | 
| Delta dist. for keyboard translation.  More... | |
Additional Inherited Members | |
  Static Public Member Functions inherited from SLGLTexture | |
| static SLTextureType | detectType (const SLstring &filename) | 
| Detects the texture type from the filename appendix (See SLTexType def.)  More... | |
| static string | internalFormatStr (int internalFormat) | 
| Returns the internal pixel format from OpenGL.  More... | |
  Static Public Attributes inherited from SLGLTexture | |
| static SLfloat | maxAnisotropy = -1.0f | 
| Returns the derivation as [s,t].  More... | |
| static SLuint | totalNumBytesOnGPU = 0 | 
| Total NO. of bytes used for textures on GPU.  More... | |
  Protected Member Functions inherited from SLGLTexture | |
| void | load (const SLstring &filename, SLbool flipVertical=true, SLbool loadGrayscaleIntoAlpha=false) | 
| Loads the texture, converts color depth & applies vertical mirroring.  More... | |
| void | load (const SLVCol4f &colors) | 
| Loads the 1D color data into an image of height 1.  More... | |
SLTexColorLUT defines a lookup table as an 1D texture of (256) RGBA values.
SLTexColorLUT defines an RGBA color lookup table (LUT). It can be used to define a transfer function that are generated from a set of color and alpha points where all in-between points are linearly interpolated. Such a color/alpha lookup table is used as a transfer function e.g. in volume rendering (see the shader VolumeRenderingRayCast). All values (RGB color, alpha and position) are values between 0-1 and are mapped to 0-255 when the texture image of size 1x256 is generated.
Definition at line 68 of file SLTexColorLUT.h.
| SLTexColorLUT::SLTexColorLUT | ( | SLAssetManager * | assetMgr, | 
| SLColorLUTType | lutType, | ||
| SLuint | length = 256  | 
        ||
| ) | 
Default ctor color LUT of a specific SLColorLUTType.
Definition at line 16 of file SLTexColorLUT.cpp.
| SLTexColorLUT::SLTexColorLUT | ( | SLAssetManager * | assetMgr, | 
| SLVAlphaLUTPoint | alphaVec, | ||
| SLColorLUTType | lutType = CLUT_RYGCB,  | 
        ||
| SLuint | length = 256  | 
        ||
| ) | 
ctor with vector of alpha values and a predefined color LUT scheme
Definition at line 38 of file SLTexColorLUT.cpp.
| SLTexColorLUT::SLTexColorLUT | ( | SLAssetManager * | assetMgr, | 
| SLVAlphaLUTPoint | alphaValues, | ||
| SLVColorLUTPoint | colorValues, | ||
| SLuint | length = 256  | 
        ||
| ) | 
ctor with vector of alpha and color values
Definition at line 64 of file SLTexColorLUT.cpp.
      
  | 
  virtual | 
Definition at line 90 of file SLTexColorLUT.cpp.
| SLVfloat SLTexColorLUT::allAlphas | ( | ) | 
Returns all alpha values of the transfer function as a float vector.
Definition at line 315 of file SLTexColorLUT.cpp.
| SLVCol3f SLTexColorLUT::allColors | ( | ) | 
Returns all alpha values of the transfer function as a float vector.
Definition at line 330 of file SLTexColorLUT.cpp.
      
  | 
  inline | 
Definition at line 95 of file SLTexColorLUT.h.
      
  | 
  inline | 
Definition at line 94 of file SLTexColorLUT.h.
| void SLTexColorLUT::colors | ( | SLColorLUTType | lut | ) | 
Colors setter function by predefined color LUT.
Definition at line 97 of file SLTexColorLUT.cpp.
| void SLTexColorLUT::generateTexture | ( | ) | 
Generates the full 256 value LUT as 1x256 RGBA texture.
Definition at line 190 of file SLTexColorLUT.cpp.
      
  | 
  inline | 
Definition at line 93 of file SLTexColorLUT.h.
      
  | 
  protected | 
vector of colors in TF
Definition at line 103 of file SLTexColorLUT.h.
      
  | 
  protected | 
Length of transfer function (default 256)
Definition at line 101 of file SLTexColorLUT.h.
      
  | 
  protected | 
Color LUT identifier.
Definition at line 102 of file SLTexColorLUT.h.
      
  | 
  protected | 
Definition at line 100 of file SLTexColorLUT.h.