SLProject  4.2.000
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
SLGLTexture.h File Reference
#include <SLObject.h>
#include <CVImage.h>
#include <SLGLVertexArray.h>
#include <SLMat4.h>
#include <atomic>
#include <mutex>
Include dependency graph for SLGLTexture.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SLGLTexture
 Texture object for OpenGL texturing. More...
 

Macros

#define SL_ANISOTROPY_MAX   (GL_LINEAR_MIPMAP_LINEAR + 1)
 
#define SL_ANISOTROPY_2   (GL_LINEAR_MIPMAP_LINEAR + 2)
 
#define SL_ANISOTROPY_4   (GL_LINEAR_MIPMAP_LINEAR + 4)
 
#define SL_ANISOTROPY_8   (GL_LINEAR_MIPMAP_LINEAR + 8)
 
#define SL_ANISOTROPY_16   (GL_LINEAR_MIPMAP_LINEAR + 16)
 
#define SL_ANISOTROPY_32   (GL_LINEAR_MIPMAP_LINEAR + 32)
 
#define GL_TEXTURE_MAX_ANISOTROPY_EXT   0x84FE
 
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT   0x84FF
 
#define SL_HDR_GL_INTERNAL_FORMAT   GL_RGB16F
 
#define SL_HDR_GL_FORMAT   GL_RGB
 
#define SL_HDR_GL_TYPE   GL_FLOAT
 
#define SL_HDR_PIXEL_BYTES   3
 
#define SL_BRDF_LUT_GL_INTERNAL_FORMAT   GL_RG16F
 
#define SL_BRDF_LUT_GL_FORMAT   GL_RG
 
#define SL_BRDF_LUT_GL_TYPE   GL_FLOAT
 
#define SL_BRDF_LUT_PIXEL_BYTES   4
 
#define SL_READ_PIXELS_GL_FORMAT   GL_RGB
 
#define SL_READ_PIXELS_CV_FORMAT   PF_rgb
 

Typedefs

typedef vector< SLGLTexture * > SLVGLTexture
 STL vector of SLGLTexture pointers. More...
 

Enumerations

enum  SLTextureType {
  TT_unknown , TT_diffuse , TT_normal , TT_height , TT_specular , TT_emissive ,
  TT_occlusion , TT_roughness , TT_metallic , TT_roughMetal , TT_occluRoughMetal , TT_font ,
  TT_hdr , TT_environmentCubemap , TT_irradianceCubemap , TT_roughnessCubemap , TT_brdfLUT , TT_videoBkgd ,
  TT_numTextureType
}
 Texture type enumeration & their filename appendix for auto type detection. More...
 

Detailed Description

Date
July 2014
Authors
Marcus Hudritsch, Martin Christen
Remarks
Please use clangformat to format the code. See more code style on https://github.com/cpvrlab/SLProject4/wiki/SLProject-Coding-Style

Definition in file SLGLTexture.h.

Macro Definition Documentation

◆ GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT

#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT   0x84FF

Definition at line 46 of file SLGLTexture.h.

◆ GL_TEXTURE_MAX_ANISOTROPY_EXT

#define GL_TEXTURE_MAX_ANISOTROPY_EXT   0x84FE

Definition at line 43 of file SLGLTexture.h.

◆ SL_ANISOTROPY_16

#define SL_ANISOTROPY_16   (GL_LINEAR_MIPMAP_LINEAR + 16)

Definition at line 38 of file SLGLTexture.h.

◆ SL_ANISOTROPY_2

#define SL_ANISOTROPY_2   (GL_LINEAR_MIPMAP_LINEAR + 2)

Definition at line 35 of file SLGLTexture.h.

◆ SL_ANISOTROPY_32

#define SL_ANISOTROPY_32   (GL_LINEAR_MIPMAP_LINEAR + 32)

Definition at line 39 of file SLGLTexture.h.

◆ SL_ANISOTROPY_4

#define SL_ANISOTROPY_4   (GL_LINEAR_MIPMAP_LINEAR + 4)

Definition at line 36 of file SLGLTexture.h.

◆ SL_ANISOTROPY_8

#define SL_ANISOTROPY_8   (GL_LINEAR_MIPMAP_LINEAR + 8)

Definition at line 37 of file SLGLTexture.h.

◆ SL_ANISOTROPY_MAX

#define SL_ANISOTROPY_MAX   (GL_LINEAR_MIPMAP_LINEAR + 1)

Definition at line 34 of file SLGLTexture.h.

◆ SL_BRDF_LUT_GL_FORMAT

#define SL_BRDF_LUT_GL_FORMAT   GL_RG

Definition at line 56 of file SLGLTexture.h.

◆ SL_BRDF_LUT_GL_INTERNAL_FORMAT

#define SL_BRDF_LUT_GL_INTERNAL_FORMAT   GL_RG16F

Definition at line 55 of file SLGLTexture.h.

◆ SL_BRDF_LUT_GL_TYPE

#define SL_BRDF_LUT_GL_TYPE   GL_FLOAT

Definition at line 57 of file SLGLTexture.h.

◆ SL_BRDF_LUT_PIXEL_BYTES

#define SL_BRDF_LUT_PIXEL_BYTES   4

Definition at line 58 of file SLGLTexture.h.

◆ SL_HDR_GL_FORMAT

#define SL_HDR_GL_FORMAT   GL_RGB

Definition at line 52 of file SLGLTexture.h.

◆ SL_HDR_GL_INTERNAL_FORMAT

#define SL_HDR_GL_INTERNAL_FORMAT   GL_RGB16F

Definition at line 51 of file SLGLTexture.h.

◆ SL_HDR_GL_TYPE

#define SL_HDR_GL_TYPE   GL_FLOAT

Definition at line 53 of file SLGLTexture.h.

◆ SL_HDR_PIXEL_BYTES

#define SL_HDR_PIXEL_BYTES   3

Definition at line 54 of file SLGLTexture.h.

◆ SL_READ_PIXELS_CV_FORMAT

#define SL_READ_PIXELS_CV_FORMAT   PF_rgb

Definition at line 60 of file SLGLTexture.h.

◆ SL_READ_PIXELS_GL_FORMAT

#define SL_READ_PIXELS_GL_FORMAT   GL_RGB

Definition at line 59 of file SLGLTexture.h.

Typedef Documentation

◆ SLVGLTexture

typedef vector<SLGLTexture*> SLVGLTexture

STL vector of SLGLTexture pointers.

Definition at line 342 of file SLGLTexture.h.

Enumeration Type Documentation

◆ SLTextureType

Texture type enumeration & their filename appendix for auto type detection.

Enumerator
TT_unknown 
TT_diffuse 
TT_normal 
TT_height 
TT_specular 
TT_emissive 
TT_occlusion 
TT_roughness 
TT_metallic 
TT_roughMetal 
TT_occluRoughMetal 
TT_font 
TT_hdr 
TT_environmentCubemap 
TT_irradianceCubemap 
TT_roughnessCubemap 
TT_brdfLUT 
TT_videoBkgd 
TT_numTextureType 

Definition at line 75 of file SLGLTexture.h.

76 {
77  TT_unknown, // Will be handled as color maps
78  TT_diffuse, // D: Diffuse color map (aka albedo or just color map)
79  TT_normal, // N: Normal map for normal bump mapping
80  TT_height, // H: Height map for height map bump or parallax mapping
81  TT_specular, // S: Specular map
82  TT_emissive, // E: Emissive map
83  TT_occlusion, // O: Ambient occlusion map
84  TT_roughness, // R: Roughness map (PBR Cook-Torrance roughness 0-1)
85  TT_metallic, // M: Metalness map (PBR Cook-Torrance metallic 0-1)
86  TT_roughMetal, // RM: Roughness on G, metallness on B (R unused)
87  TT_occluRoughMetal, // ORM: Occlusion on R, roughness on G, metallness on B
88  TT_font, // F: Texture map for fonts
89  TT_hdr, // High Dynamic Range images
90  TT_environmentCubemap, // Environment cubemap generated from HDR Textures
91  TT_irradianceCubemap, // Irradiance cubemap generated from HDR Textures
92  TT_roughnessCubemap, // Prefilter roughness cubemap
93  TT_brdfLUT, // BRDF 2D look up table Texture
94  TT_videoBkgd, // Video background
95  TT_numTextureType // New texture types must be before TT_numTextureType
96 };
@ TT_occluRoughMetal
Definition: SLGLTexture.h:87
@ TT_brdfLUT
Definition: SLGLTexture.h:93
@ TT_height
Definition: SLGLTexture.h:80
@ TT_videoBkgd
Definition: SLGLTexture.h:94
@ TT_metallic
Definition: SLGLTexture.h:85
@ TT_unknown
Definition: SLGLTexture.h:77
@ TT_irradianceCubemap
Definition: SLGLTexture.h:91
@ TT_environmentCubemap
Definition: SLGLTexture.h:90
@ TT_roughnessCubemap
Definition: SLGLTexture.h:92
@ TT_roughMetal
Definition: SLGLTexture.h:86
@ TT_roughness
Definition: SLGLTexture.h:84
@ TT_specular
Definition: SLGLTexture.h:81
@ TT_numTextureType
Definition: SLGLTexture.h:95
@ TT_normal
Definition: SLGLTexture.h:79
@ TT_diffuse
Definition: SLGLTexture.h:78
@ TT_occlusion
Definition: SLGLTexture.h:83
@ TT_hdr
Definition: SLGLTexture.h:89
@ TT_emissive
Definition: SLGLTexture.h:82
@ TT_font
Definition: SLGLTexture.h:88