Implementation of CompositorPass This implementation will copy one DepthBuffer to another DepthBuffer from two RTs.
More...
#include <OgreCompositorPassDepthCopy.h>
|
| | CompositorPassDepthCopy (const CompositorPassDepthCopyDef *definition, const RenderTargetViewDef *rtv, CompositorNode *parentNode) |
| |
| virtual void | _placeBarriersAndEmulateUavExecution (BoundUav boundUavs[64], ResourceAccessMap &uavsAccess, ResourceLayoutMap &resourcesLayout) |
| | Emulates the execution of a UAV to understand memory dependencies, and adds a memory barrier / resource transition if we need to. More...
|
| |
| void | _removeAllBarriers (void) |
| |
| void | addResourceTransition (ResourceLayoutMap::iterator currentLayout, ResourceLayout::Layout newLayout, uint32 readBarrierBits) |
| |
| virtual void | execute (const Camera *lodCamera) |
| |
| Vector2 | getActualDimensions (void) const |
| |
| const CompositorPassDef * | getDefinition (void) const |
| |
| const CompositorNode * | getParentNode (void) const |
| |
| RenderPassDescriptor * | getRenderPassDesc (void) const |
| |
| const CompositorTextureVec & | getTextureDependencies (void) const |
| |
| CompositorPassType | getType () const |
| |
| virtual void | notifyCleared (void) |
| | CompositorNode::_notifyCleared More...
|
| |
| virtual void | notifyDestroyed (TextureGpu *channel) |
| | CompositorNode::notifyDestroyed More...
|
| |
| virtual void | notifyDestroyed (const UavBufferPacked *buffer) |
| |
| virtual bool | notifyRecreated (const TextureGpu *channel) |
| | CompositorNode::notifyRecreated More...
|
| |
| virtual void | notifyRecreated (const UavBufferPacked *oldBuffer, UavBufferPacked *newBuffer) |
| |
| void | operator delete (void *ptr) |
| |
| void | operator delete (void *ptr, void *) |
| |
| void | operator delete (void *ptr, const char *, int, const char *) |
| |
| void | operator delete[] (void *ptr) |
| |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| | operator new, with debug line info More...
|
| |
| void * | operator new (size_t sz) |
| |
| void * | operator new (size_t sz, void *ptr) |
| | placement operator new More...
|
| |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| | array operator new, with debug line info More...
|
| |
| void * | operator new[] (size_t sz) |
| |
| void | profilingBegin (void) |
| |
| void | profilingEnd (void) |
| |
| virtual void | resetNumPassesLeft (void) |
| |
Implementation of CompositorPass This implementation will copy one DepthBuffer to another DepthBuffer from two RTs.
- Author
- Matias N. Goldberg
- Version
- 1.0
◆ CompositorPassDepthCopy()
◆ _placeBarriersAndEmulateUavExecution()
Emulates the execution of a UAV to understand memory dependencies, and adds a memory barrier / resource transition if we need to.
- Parameters
-
| boundUavs | [in/out] An array of the currently bound UAVs by slot. The derived class CompositorPassUav will write to them as part of the emulation. The base implementation reads from this value. |
| uavsAccess | [in/out] A map with the last access flag used for each RenderTarget. We need it to identify RaR situations, which are the only ones that don't need a barrier (and also WaW hazards, when explicitly allowed by the pass). Note: We will set the access to ResourceAccess::Undefined to signal other passes that the UAV hazard already has a barrier (just in case there was one already created). |
| resourcesLayout | [in/out] A map with the current layout of every RenderTarget used so far. Needed to identify if we need to change the resource layout to an UAV. |
Reimplemented from Ogre::CompositorPass.
◆ _removeAllBarriers()
| void Ogre::CompositorPass::_removeAllBarriers |
( |
void |
| ) |
|
|
inherited |
◆ addResourceTransition()
| void Ogre::CompositorPass::addResourceTransition |
( |
ResourceLayoutMap::iterator |
currentLayout, |
|
|
ResourceLayout::Layout |
newLayout, |
|
|
uint32 |
readBarrierBits |
|
) |
| |
|
inherited |
◆ execute()
| virtual void Ogre::CompositorPassDepthCopy::execute |
( |
const Camera * |
lodCamera | ) |
|
|
virtual |
◆ getActualDimensions()
| Vector2 Ogre::CompositorPass::getActualDimensions |
( |
void |
| ) |
const |
|
inherited |
◆ getDefinition()
◆ getParentNode()
| const CompositorNode* Ogre::CompositorPass::getParentNode |
( |
void |
| ) |
const |
|
inlineinherited |
◆ getRenderPassDesc()
◆ getTextureDependencies()
◆ getType()
◆ notifyCleared()
| virtual void Ogre::CompositorPass::notifyCleared |
( |
void |
| ) |
|
|
virtualinherited |
◆ notifyDestroyed() [1/2]
| virtual void Ogre::CompositorPass::notifyDestroyed |
( |
TextureGpu * |
channel | ) |
|
|
virtualinherited |
◆ notifyDestroyed() [2/2]
| virtual void Ogre::CompositorPass::notifyDestroyed |
( |
const UavBufferPacked * |
buffer | ) |
|
|
virtualinherited |
◆ notifyRecreated() [1/2]
| virtual bool Ogre::CompositorPass::notifyRecreated |
( |
const TextureGpu * |
channel | ) |
|
|
virtualinherited |
◆ notifyRecreated() [2/2]
◆ operator delete() [1/3]
◆ operator delete() [2/3]
◆ operator delete() [3/3]
◆ operator delete[]() [1/2]
◆ operator delete[]() [2/2]
◆ operator new() [1/3]
template<class Alloc >
| void* Ogre::AllocatedObject< Alloc >::operator new |
( |
size_t |
sz, |
|
|
const char * |
file, |
|
|
int |
line, |
|
|
const char * |
func |
|
) |
| |
|
inlineinherited |
operator new, with debug line info
◆ operator new() [2/3]
◆ operator new() [3/3]
◆ operator new[]() [1/2]
template<class Alloc >
| void* Ogre::AllocatedObject< Alloc >::operator new[] |
( |
size_t |
sz, |
|
|
const char * |
file, |
|
|
int |
line, |
|
|
const char * |
func |
|
) |
| |
|
inlineinherited |
array operator new, with debug line info
◆ operator new[]() [2/2]
◆ profilingBegin()
| void Ogre::CompositorPass::profilingBegin |
( |
void |
| ) |
|
|
inherited |
◆ profilingEnd()
| void Ogre::CompositorPass::profilingEnd |
( |
void |
| ) |
|
|
inherited |
◆ resetNumPassesLeft()
| virtual void Ogre::CompositorPass::resetNumPassesLeft |
( |
void |
| ) |
|
|
virtualinherited |
The documentation for this class was generated from the following file: