#include <StkFBODepthTexture.h>
|
| FBODepthTexture (int width, int height, int depth_bits=24) |
|
void | setWidth (int w) |
|
void | setHeight (int h) |
|
int | getFBHandle () |
|
void | setDepthBits (int depth) |
|
int | getDepthBits () const |
|
void | beginRTT () |
|
void | endRTT () |
|
void | activate () |
|
bool | loadInternal () |
|
void | upload () |
|
void | clearFBO () |
|
| Texture (TextureManager *tex_mgr, int texture_unit=0) |
|
| Texture (int texture_unit=0) |
|
GLuint | getHandle () const |
|
virtual void | activate ()=0 |
|
virtual void | upload ()=0 |
|
void | deactivate (GLenum target) |
|
void | unload (GLenum target) |
|
void | setHorizontalWrap (GLenum wrap) |
|
void | setVerticalWrap (GLenum wrap) |
|
void | setAnisotropy (float anisotropy) |
|
float | getAnisotropy () const |
|
GLenum | getHorizontalWrap () const |
|
GLenum | getVerticalWrap () const |
|
void | setMinFilter (GLenum min) |
|
void | setMagFilter (GLenum mag) |
|
GLenum | getMinFilter () const |
|
GLenum | getMagFilter () const |
|
int | getTextureUnit () const |
|
void | setTextureUnit (int texture_unit) |
|
void | setStatus (LoadState state) |
|
LoadState | getStatus () const |
|
void | clear () |
|
int64_t | getTimestamp () const |
|
|
bool | checkFBOStatus () const |
|
bool | initFBO () |
|
void | applyTextureParameters (GLenum target) |
|
void | getGLFormat (Image::Format fmt, GLenum &int_fmt, GLenum &data_fmt, GLenum &data_type) |
|
void | uploadTexture (const STK::Image &img, GLenum target) |
|
virtual bool | loadInternal ()=0 |
|
|
GLint | prev_fb_ {0} |
|
GLuint | fb_ { 0 } |
|
GLuint | rb_ { 0 } |
|
int | width_ { 0 } |
|
int | height_ { 0 } |
|
int | depth_bits_ { 0 } |
|
TextureManager * | tex_mgr_ |
|
GLuint | handle_ |
|
int | texture_unit_ |
|
GLenum | vertical_wrap_ |
|
GLenum | horizontal_wrap_ |
|
GLenum | mag_filter_ |
|
GLenum | min_filter_ |
|
GLfloat | anisotropy_ |
|
int64_t | timestamp_ |
|
int | memsize_ |
|
std::atomic< int > | load_state_ |
|
|
enum | LoadState { INITIAL
, LOADING
, LOADED
, FAILED
} |
|
static int | getNumActiveTextures () |
|
static int | s_numActiveTextures = 0 |
|
FBODepthTexture - FBO Depth texture. This class can be used for rendering to a depth texture. This is for instance used in shadow mapping.
◆ activate()
void FBODepthTexture::activate |
( |
| ) |
|
|
virtual |
Activate texture. This method will upload the texture data to OpenGL if not already done, and set this texture as current texture for all texture operations on the current texture unit.
Implements STK::Texture.
◆ beginRTT()
void FBODepthTexture::beginRTT |
( |
| ) |
|
Start rendering to texture. This method will initialize the the frame buffer if necessary All OpenGL drawing after this is done in the frame buffer
◆ endRTT()
void FBODepthTexture::endRTT |
( |
| ) |
|
Finish rendering to texture. This method will finish the rendering and create a GL texture from the contents of the frame buffer.
◆ loadInternal()
bool FBODepthTexture::loadInternal |
( |
| ) |
|
|
virtual |
Load from disk and upload to graphics card. This method should load the texture resources from disk.
Implements STK::Texture.
◆ setDepthBits()
void STK::FBODepthTexture::setDepthBits |
( |
int |
depth | ) |
|
|
inline |
Set z buffer depth for offscreen rendering. If this value > 0, an offscreen render buffer for z buffering will be created with the specified depth or closest matching depth.
◆ upload()
void FBODepthTexture::upload |
( |
| ) |
|
|
virtual |
Upload texture data to graphics card. This requires a valid OpenGL context. If threaded GL and shared contexts are supported this can be done from the texture loader thread.
Implements STK::Texture.
The documentation for this class was generated from the following files:
- Native/SilentToolkit/StkScene/StkFBODepthTexture.h
- Native/SilentToolkit/StkScene/StkFBODepthTexture.cpp