|
The Vish Visualization Shell 0.3
Vish
|
Classes | |
| struct | MultiviewCapability |
| Check whether the OVR Multiview and other multiview-related extensions are available. More... | |
Public Member Functions | |
| void | BlitToDrawBuffer (VRenderContext &Context, const ViewportGeometry &VP, unsigned NumberOfEyes, unsigned ActiveEye, const RefPtr< Framebuffer > &Target) |
| Ensures depth writes occur during fullscreen blit passes. | |
| RefPtr< ChunkBase > | getColors (bool As16Bit) const |
| Read the entire color texture. | |
| RefPtr< ChunkBase > | getColors (const ViewportGeometry &VP, int Eye, bool As16Bit) const |
| Read a subset of the colors. | |
Public Member Functions inherited from MemCore::Interface< MultiviewOVR > | |
| const type_info & | getInterfaceDomain () const |
| Run-time information about the type used for InterCube registration. | |
Public Member Functions inherited from MemCore::InterfaceBase | |
| virtual bool | apply (Intercube &I, const RefPtr< InterfaceIterationParameter > &) |
| modifyable callback function | |
| virtual bool | apply_const (const Intercube &I, const RefPtr< InterfaceIterationParameter > &) |
| constant callback function | |
| InterfaceBase () throw () | |
| Constructor. | |
Public Member Functions inherited from MemCore::ReferenceBase< InterfaceBase > | |
| auto | getObjectCountID () const noexcept |
| Get a unique ID for this object in the given domain. | |
| bool | isIdentical (const WeakPtr< InterfaceBase, InterfaceBase > &PossibleSelf) const noexcept |
| Check if this object is identical to the one used by the given pointer. | |
| void | mkAutoDestructive () |
| Marks this object as being automatically destructed, e.g. | |
| refcount_t | refcount () const noexcept |
| The strong reference count. | |
| ReferenceBase (InterfaceBase *that) noexcept | |
| Constructor, initializes reference counter to zero. | |
| const auto & | self () const |
| Return weak pointer to the object self. | |
| refcount_t | wrefcount () const noexcept |
| The weak reference count. | |
Public Attributes | |
| WeakPtr< AnemoneBasicCreator > | UserBlitAnemoneCreator |
| Overriding the way how the framebuffer texture is blit to the screen. | |
| WeakPtr< RenderAble > | UserBlitterObject |
| The visibility of this RenderAble defines whether the user Blit Anemone will be used instead of the default Anemone. | |
Additional Inherited Members | |
Public Types inherited from MemCore::Interface< MultiviewOVR > | |
| using | InterfaceDomain_t = MultiviewOVR |
| Compile-time information about the type used for InterCube registration. | |
Public Types inherited from MemCore::ReferenceBase< InterfaceBase > | |
| using | reference_domain_t = InterfaceBase |
| The type of the base class. | |
| using | SelfPtr_t = WeakPtr< InterfaceBase, InterfaceBase > |
| Type for a pointer to this object itself. | |
Protected Member Functions inherited from MemCore::InterfaceBase | |
| ~InterfaceBase () | |
| Destructor. | |
Protected Member Functions inherited from MemCore::ReferenceBase< InterfaceBase > | |
| virtual void | extremeUnction () |
| A virtual function that will be called just before the object is destroyed. | |
| ReferenceBase & | operator= (const ReferenceBase &R) |
| Protected assignment operator (should not be called). | |
| void | suicide () |
| Delete this. | |
| virtual | ~ReferenceBase () |
| Virtual destructor. | |
| void Wizt::MultiviewOVR::BlitToDrawBuffer | ( | VRenderContext & | Context, |
| const ViewportGeometry & | VP, | ||
| unsigned | NumberOfEyes, | ||
| unsigned | ActiveEye, | ||
| const RefPtr< Framebuffer > & | Target | ||
| ) |
Ensures depth writes occur during fullscreen blit passes.
When performing a fullscreen blit that writes a custom depth value via gl_FragDepth, the depth test must remain enabled. Disabling the depth test (glDisable(GL_DEPTH_TEST)) can cause some drivers to bypass the entire depth pipeline, which prevents gl_FragDepth from updating the default framebuffer's depth buffer even if depthMask is enabled. To guarantee correct depth writes, enable depth testing and use GL_ALWAYS as the depth function:
glEnable(GL_DEPTH_TEST); glDepthFunc(GL_ALWAYS);
This keeps the depth pipeline active while ensuring all fragments pass and the shader-provided depth value is written as intended.
| WeakPtr<AnemoneBasicCreator> Wizt::MultiviewOVR::UserBlitAnemoneCreator |
Overriding the way how the framebuffer texture is blit to the screen.
The AnemoneCreator must be stored at some RenderAble object such that this WeakPtr recognizes when this object has been removed.