OGRE-Next: Ogre::GL3PlusTextureGpuHeadlessWindow Class Reference

| OGRE-Next 3.0.0 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Public Member Functions | List of all members
Ogre::GL3PlusTextureGpuHeadlessWindow Class Referencefinal

`#include <OgreGL3PlusTextureGpuWindow.h>`

Inheritance diagram for Ogre::GL3PlusTextureGpuHeadlessWindow:
[legend]

## Public Member Functions
| GL3PlusTextureGpuHeadlessWindow (GpuPageOutStrategy::GpuPageOutStrategy pageOutStrategy, VaoManager *vaoManager, IdString name, uint32 textureFlags, TextureTypes::TextureTypes initialType, TextureGpuManager *textureManager, GL3PlusContext *context, Window *window)
| ~GL3PlusTextureGpuHeadlessWindow () override
void | _notifyTextureSlotChanged (const TexturePool *newPool, uint16 slice) override
void | getCustomAttribute (IdString name, void *pData) override
bool | isOpenGLRenderWindow () const override
| OpenGL RenderWindows are a bit specific:
void | setTextureType (TextureTypes::TextureTypes textureType) override
void | swapBuffers () override
| Only valid for TextureGpu classes.
Public Member Functions inherited from Ogre::GL3PlusTextureGpuRenderTarget
| GL3PlusTextureGpuRenderTarget (GpuPageOutStrategy::GpuPageOutStrategy pageOutStrategy, VaoManager *vaoManager, IdString name, uint32 textureFlags, TextureTypes::TextureTypes initialType, TextureGpuManager *textureManager)
| ~GL3PlusTextureGpuRenderTarget () override
void | _setDepthBufferDefaults (uint16 depthBufferPoolId, bool preferDepthTexture, PixelFormatGpu desiredDepthBufferFormat) override
| These 3 values are used as defaults for the compositor to use, but they may be explicitly overriden by a RenderPassDescriptor.
uint16 | getDepthBufferPoolId () const override
PixelFormatGpu | getDesiredDepthBufferFormat () const override
OrientationMode | getOrientationMode () const override
bool | getPreferDepthTexture () const override
void | setOrientationMode (OrientationMode orientationMode) override
| Sets the given orientation.
Public Member Functions inherited from Ogre::GL3PlusTextureGpu
| GL3PlusTextureGpu (GpuPageOutStrategy::GpuPageOutStrategy pageOutStrategy, VaoManager *vaoManager, IdString name, uint32 textureFlags, TextureTypes::TextureTypes initialType, TextureGpuManager *textureManager)
| ~GL3PlusTextureGpu () override
void | _autogenerateMipmaps (CopyEncTransitionMode::CopyEncTransitionMode transitionMode=CopyEncTransitionMode::Auto) override
| Tells the API to let the HW autogenerate mipmaps.
bool | _isDataReadyImpl () const override
| For internal use.
void | _setToDisplayDummyTexture () override
void | copyTo (TextureGpu *dst, const TextureBox &dstBox, uint8 dstMipLevel, const TextureBox &srcBox, uint8 srcMipLevel, bool keepResolvedTexSynced=true, CopyEncTransitionMode::CopyEncTransitionMode srcTransitionMode=CopyEncTransitionMode::Auto, CopyEncTransitionMode::CopyEncTransitionMode dstTransitionMode=CopyEncTransitionMode::Auto) override
GLuint | getDisplayTextureName () const
| Returns the GLuid of the texture that is being displayed.
GLuint | getFinalTextureName () const
| Always returns the internal handle that belongs to this texture.
GLenum | getGlTextureTarget () const
| Returns GL_TEXTURE_2D / GL_TEXTURE_2D_ARRAY / etc.
GLuint | getMsaaFramebufferName () const
| If MSAA > 1u and TextureFlags::MsaaExplicitResolve is not set, this returns the handle to the temporary MSAA renderbuffer used for rendering, which will later be resolved into the resolve texture.
void | getSubsampleLocations (vector< Vector2 >::type locations) override
| Get the MSAA subsample locations.
void | notifyDataIsReady () override
| Notifies it is safe to use the real data. Everything has been uploaded.
Public Member Functions inherited from Ogre::TextureGpu
| TextureGpu (GpuPageOutStrategy::GpuPageOutStrategy pageOutStrategy, VaoManager *vaoManager, IdString name, uint32 textureFlags, TextureTypes::TextureTypes initialType, TextureGpuManager *textureManager)
| ~TextureGpu () override
uint8 * | _getSysRamCopy (uint8 mipLevel)
TextureBox | _getSysRamCopyAsBox (uint8 mipLevel)
size_t | _getSysRamCopyBytesPerImage (uint8 mipLevel)
| Note: Returns non-zero even if there is no system ram copy.
uint32 | _getSysRamCopyBytesPerRow (uint8 mipLevel)
| Note: Returns non-zero even if there is no system ram copy.
bool | _isManualTextureFlagPresent () const
void | _notifySysRamDownloadIsReady (uint8 *sysRamPtr, bool resyncOnly)
| Do not call directly.
void | _resetTextureManager ()
void | _resolveTo (TextureGpu *resolveTexture)
| Immediately resolves this texture to the resolveTexture argument.
virtual void | _setNextLayout (ResourceLayout::Layout layout)
| Sets the layout the texture should be transitioned to after the next copy operation (once the copy encoder gets closed)
void | _setSampleDescription (SampleDescription desc, SampleDescription validatedSampleDesc)
| For internal use.
void | _setSourceType (uint8 type)
void | _syncGpuResidentToSystemRam ()
| Forces downloading data from GPU to CPU, usually because the data on GPU changed and we're in strategy AlwaysKeepSystemRamCopy.
void | _transitionTo (GpuResidency::GpuResidency newResidency, uint8 *sysRamCopy, bool autoDeleteSysRamCopy=true)
| This function may be called manually (if user is manually managing a texture) or automatically (e.g.
void | addListener (TextureGpuListener *listener)
bool | allowsAutoMipmaps () const
void | copyContentsToMemory (TextureBox src, TextureBox dst, PixelFormatGpu dstFormat, bool automaticResolve=true)
| Writes the current contents of the render target to the memory.
void | copyParametersFrom (TextureGpu *src)
virtual ResourceLayout::Layout | getCurrentLayout () const
ResourceLayout::Layout | getDefaultLayout (bool bIgnoreDiscardableFlag=false) const
uint32 | getDepth () const
| For TypeCube & TypeCubeArray, this value returns 1.
uint32 | getDepthOrSlices () const
TextureBox | getEmptyBox (uint8 mipLevel)
uint32 | getHeight () const
uint32 | getInternalHeight () const
| Real API height accounting for TextureGpu::getOrientationMode. See getInternalWidth.
uint16 | getInternalSliceStart () const
TextureTypes::TextureTypes | getInternalTextureType () const
uint32 | getInternalWidth () const
| Real API width accounting for TextureGpu::getOrientationMode If orientation mode is 90° or 270° then getInternalWidth returns the height and getInternalHeight returns the width.
const vector< TextureGpuListener * >::type & | getListeners () const
String | getNameStr () const override
| Note: This returns the alias name of the texture.
uint8 | getNumMipmaps () const
uint32 | getNumSlices () const
| For TypeCube this value returns 6.
PixelFormatGpu | getPixelFormat () const
virtual String | getRealResourceNameStr () const
| Returns the real name (e.g. disk in file) of the resource.
SampleDescription | getRequestedSampleDescription () const
| Returns original requested sample description, i.e. the raw input to setSampleDescription.
virtual String | getResourceGroupStr () const
SampleDescription | getSampleDescription () const
| Returns effective sample description supported by the API.
String | getSettingsDesc () const
size_t | getSizeBytes () const
| Returns total size in bytes used in GPU by this texture (not by its pool) including mipmaps.
uint8 | getSourceType () const
| This setting is for where the texture is created, e.g.
TextureGpuManager * | getTextureManager () const
const TexturePool * | getTexturePool () const
uint32 | getTexturePoolId () const
TextureTypes::TextureTypes | getTextureType () const
uint32 | getWidth () const
bool | hasAutomaticBatching () const
bool | hasAutoMipmapAuto () const
bool | hasEquivalentParameters (TextureGpu *other) const
bool | hasMsaaExplicitResolves () const
bool | isDataReady () const
| True if this texture is fully ready to be used for displaying.
bool | isDiscardableContent () const
bool | isManualTexture () const
bool | isMetadataReady () const
| It is threadsafe to call this function from main thread.
virtual bool | isMsaaPatternSupported (MsaaPatterns::MsaaPatterns pattern)
bool | isMultisample () const
bool | isPoolOwner () const
bool | isReinterpretable () const
bool | isRenderToTexture () const
bool | isRenderWindowSpecific () const
bool | isTexture () const
bool | isTextureGpu () const override
bool | isUav () const
void | notifyAllListenersTextureChanged (uint32 reason, void *extraData=0)
bool | prefersLoadingFromFileAsSRGB () const
void | removeListener (TextureGpuListener *listener)
bool | requiresTextureFlipping () const
void | scheduleReupload (Image2 *image=0, bool autoDeleteImage=true, bool bSkipMultiload=false)
| There are times where you want to reload a texture again (e.g.
void | scheduleTransitionTo (GpuResidency::GpuResidency nextResidency, Image2 *image=0, bool autoDeleteImage=true, bool bSkipMultiload=false)
| Same as unsafeScheduleTransitionTo, but first checks if we're already in the residency state we want to go to, or if it has already been scheduled; thus it can be called multiple times.
void | setNumMipmaps (uint8 numMipmaps)
void | setPixelFormat (PixelFormatGpu pixelFormat)
| Sets the pixel format.
void | setResolution (uint32 width, uint32 height, uint32 depthOrSlices=1u)
void | setSampleDescription (SampleDescription desc)
void | setTexturePoolId (uint32 poolId)
| 2D Texture with automatic batching will be merged with other textures into the same pool as one big 2D Array texture behind the scenes.
virtual bool | supportsAsDepthBufferFor (TextureGpu *colourTarget) const
void | unsafeScheduleTransitionTo (GpuResidency::GpuResidency nextResidency, Image2 *image=0, bool autoDeleteImage=true, bool bSkipMultiload=false)
| Schedules an async transition in residency.
void | waitForData ()
| Blocks main thread until data is ready.
void | waitForMetadata ()
| Blocks main thread until metadata is ready.
void | writeContentsToFile (const String &filename, uint8 minMip, uint8 maxMip, bool automaticResolve=true)
| Writes the current contents of the render target to the named file.
Public Member Functions inherited from Ogre::GpuTrackedResource
virtual | ~GpuTrackedResource ()
Public Member Functions inherited from Ogre::GpuResource
| GpuResource (GpuPageOutStrategy::GpuPageOutStrategy pageOutStrategy, VaoManager *vaoManager, IdString name)
virtual | ~GpuResource ()
void | _addPendingResidencyChanges (uint32 value)
void | _setNextResidencyStatus (GpuResidency::GpuResidency nextResidency)
GpuPageOutStrategy::GpuPageOutStrategy | getGpuPageOutStrategy () const
IdString | getName () const
GpuResidency::GpuResidency | getNextResidencyStatus () const
| When getResidencyStatus() != getNextResidencyStatus(), residency changes happen in the main thread, while some preparation may be happening in the background.
uint32 | getPendingResidencyChanges () const
| Returns the number of pending residency changes.
GpuResidency::GpuResidency | getResidencyStatus () const

## Additional Inherited Members
Static Public Attributes inherited from Ogre::TextureGpu
static OrientationMode | msDefaultOrientationMode
| PUBLIC VARIABLE.
static const IdString | msFinalTextureBuffer
static const IdString | msMsaaTextureBuffer

## Constructor & Destructor Documentation

## ◆ GL3PlusTextureGpuHeadlessWindow()

Ogre::GL3PlusTextureGpuHeadlessWindow::GL3PlusTextureGpuHeadlessWindow | ( | GpuPageOutStrategy::GpuPageOutStrategy | pageOutStrategy,
|  | VaoManager * | vaoManager,
|  | IdString | name,
|  | uint32 | textureFlags,
|  | TextureTypes::TextureTypes | initialType,
|  | TextureGpuManager * | textureManager,
|  | GL3PlusContext * | context,
|  | Window * | window )

## ◆ ~GL3PlusTextureGpuHeadlessWindow()

Ogre::GL3PlusTextureGpuHeadlessWindow::~GL3PlusTextureGpuHeadlessWindow | ( |  | ) |
| override

## Member Function Documentation

## ◆ _notifyTextureSlotChanged()

void Ogre::GL3PlusTextureGpuHeadlessWindow::_notifyTextureSlotChanged | ( | const TexturePool * | newPool,
|  | uint16 | slice )
| overridevirtual

Reimplemented from Ogre::GL3PlusTextureGpu.

## ◆ getCustomAttribute()

void Ogre::GL3PlusTextureGpuHeadlessWindow::getCustomAttribute | ( | IdString | name,
|  | void * | pData )
| overridevirtual

Reimplemented from Ogre::GL3PlusTextureGpu.

## ◆ isOpenGLRenderWindow()

bool Ogre::GL3PlusTextureGpuHeadlessWindow::isOpenGLRenderWindow | ( |  | ) | const
| overridevirtual

OpenGL RenderWindows are a bit specific:

- Their origins are upside down. Which means we need to flip Y.
- They can access resolved contents of MSAA even if hasMsaaExplicitResolves = true
- Headless windows return false since internally they're FBOs. However isRenderWindowSpecific will return true

Reimplemented from Ogre::TextureGpu.

## ◆ setTextureType()

void Ogre::GL3PlusTextureGpuHeadlessWindow::setTextureType | ( | TextureTypes::TextureTypes | textureType | ) |
| overridevirtual

Reimplemented from Ogre::GL3PlusTextureGpu.

## ◆ swapBuffers()

void Ogre::GL3PlusTextureGpuHeadlessWindow::swapBuffers | ( |  | ) |
| overridevirtual

Only valid for TextureGpu classes.

TODO: This may be moved to a different class.

Reimplemented from Ogre::TextureGpu.

The documentation for this class was generated from the following file:

- OgreGL3PlusTextureGpuWindow.h