|
| | D3DHost_FrameBuffer () |
| | Empty constructor.
|
| |
| | ~D3DHost_FrameBuffer () |
| | Destructor, should be called after Release().
|
| |
| virtual void | Release (OpenGl_Context *theCtx) override |
| | Releases D3D and OpenGL resources.
|
| |
| Standard_Boolean | Init (const Handle< OpenGl_Context > &theCtx, IDirect3DDevice9 *theD3DDevice, const Standard_Boolean theIsD3dEx, const Standard_Integer theSizeX, const Standard_Integer theSizeY) |
| | Initializes OpenGL FBO for Direct3D interoperability or in fallback mode. Color pixel format is always GL_RGBA8/D3DFMT_X8R8G8B8, no MSAA; depth-stencil pixel format is GL_DEPTH24_STENCIL8.
|
| |
| Standard_Boolean | InitD3dInterop (const Handle< OpenGl_Context > &theCtx, IDirect3DDevice9 *theD3DDevice, const Standard_Boolean theIsD3dEx, const Standard_Integer theSizeX, const Standard_Integer theSizeY, const Standard_Integer theDepthFormat) |
| | Initializes OpenGL FBO for Direct3D interoperability. Color pixel format is always GL_RGBA8/D3DFMT_X8R8G8B8, no MSAA.
|
| |
| Standard_Boolean | InitD3dFallback (const Handle< OpenGl_Context > &theCtx, IDirect3DDevice9 *theD3DDevice, const Standard_Boolean theIsD3dEx, const Standard_Integer theSizeX, const Standard_Integer theSizeY, const Standard_Integer theDepthFormat) |
| | Initializes OpenGL FBO + Direct3D surface for copying memory using fallback. Color pixel format is always GL_RGBA8/D3DFMT_X8R8G8B8, no MSAA.
|
| |
| Standard_Boolean | registerD3dBuffer (const Handle< OpenGl_Context > &theCtx) |
| | Binds Direct3D color buffer to OpenGL texture.
|
| |
| virtual void | BindBuffer (const Handle< OpenGl_Context > &theCtx) override |
| | Binds Direct3D objects for OpenGL drawing. Should be called before LockSurface() and followed by UnlockSurface();.
|
| |
| virtual void | LockSurface (const Handle< OpenGl_Context > &theCtx) |
| | Acquires D3D resource for OpenGL usage.
|
| |
| virtual void | UnlockSurface (const Handle< OpenGl_Context > &theCtx) |
| | Releases D3D resource.
|
| |
| IDirect3DSurface9 * | D3dColorSurface () |
| | Returns D3D surface used as color buffer.
|
| |
| void * | D3dColorSurfaceShare () |
| | Returns WDDM handle for D3D color surface.
|
| |
| Standard_Boolean | D3dFallback () const |
| | Returns TRUE if FBO has been initialized without WGL/D3D interop.
|
| |
| Standard_Boolean | IsSRGBReady () const |
| | Returns TRUE if color buffer is sRGB ready; FALSE by default. Requires D3DSAMP_SRGBTEXTURE sampler parameter being set on D3D level for rendering D3D surface.
|
| |
| void | SetSRGBReady (Standard_Boolean theIsReady) |
| | Set if color buffer is sRGB ready.
|
| |
| | OpenGl_FrameBuffer (const TCollection_AsciiString &theResourceId=TCollection_AsciiString()) |
| | Empty constructor.
|
| |
| virtual | ~OpenGl_FrameBuffer () |
| | Destructor.
|
| |
| Standard_Integer | NbSamples () const |
| | Number of multisampling samples.
|
| |
| Standard_Integer | NbColorBuffers () const |
| | Number of color buffers.
|
| |
| bool | HasColor () const |
| | Return true if FBO has been created with color attachment.
|
| |
| bool | HasDepth () const |
| | Return true if FBO has been created with depth attachment.
|
| |
| Graphic3d_Vec2i | GetSize () const |
| | Return textures width x height.
|
| |
| Standard_Integer | GetSizeX () const |
| | Textures width.
|
| |
| Standard_Integer | GetSizeY () const |
| | Textures height.
|
| |
| Graphic3d_Vec2i | GetVPSize () const |
| | Return viewport width x height.
|
| |
| Standard_Integer | GetVPSizeX () const |
| | Viewport width.
|
| |
| Standard_Integer | GetVPSizeY () const |
| | Viewport height.
|
| |
| Graphic3d_Vec2i | GetInitVPSize () const |
| | Return viewport width x height.
|
| |
| Standard_Integer | GetInitVPSizeX () const |
| | Viewport width.
|
| |
| Standard_Integer | GetInitVPSizeY () const |
| | Viewport height.
|
| |
| Standard_Boolean | IsValid () const |
| | Returns true if current object was initialized.
|
| |
| Standard_Boolean | Init (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec2i &theSize, const OpenGl_ColorFormats &theColorFormats, const Handle< OpenGl_Texture > &theDepthStencilTexture, const Standard_Integer theNbSamples=0) |
| | Initialize FBO for rendering into single/multiple color buffer and depth textures.
|
| |
| Standard_Boolean | Init (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec2i &theSize, const Standard_Integer theColorFormat, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | Initialize FBO for rendering into textures.
|
| |
| Standard_Boolean | Init (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec2i &theSize, const OpenGl_ColorFormats &theColorFormats, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | Initialize FBO for rendering into single/multiple color buffer and depth textures.
|
| |
| Standard_Boolean | InitLazy (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec2i &theViewportSize, const Standard_Integer theColorFormat, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | (Re-)initialize FBO with specified dimensions.
|
| |
| Standard_Boolean | InitLazy (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec2i &theViewportSize, const OpenGl_ColorFormats &theColorFormats, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | (Re-)initialize FBO with specified dimensions.
|
| |
| Standard_Boolean | InitLazy (const Handle< OpenGl_Context > &theGlCtx, const OpenGl_FrameBuffer &theFbo, const Standard_Boolean theToKeepMsaa=true) |
| | (Re-)initialize FBO with properties taken from another FBO.
|
| |
| Standard_Boolean | InitRenderBuffer (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec2i &theSize, const OpenGl_ColorFormats &theColorFormats, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | (Re-)initialize FBO with specified dimensions. The Render Buffer Objects will be used for Color, Depth and Stencil attachments (as opposite to textures).
|
| |
| Standard_Boolean | InitWithRB (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec2i &theSize, const Standard_Integer theColorFormat, const Standard_Integer theDepthFormat, const unsigned int theColorRBufferFromWindow) |
| | (Re-)initialize FBO with specified dimensions. The Render Buffer Objects will be used for Color, Depth and Stencil attachments (as opposite to textures).
|
| |
| Standard_Boolean | InitWrapper (const Handle< OpenGl_Context > &theGlCtx) |
| | Initialize class from currently bound FBO. Retrieved OpenGL objects will not be destroyed on Release.
|
| |
| Standard_Boolean | InitWrapper (const Handle< OpenGl_Context > &theGlContext, const NCollection_Sequence< Handle< OpenGl_Texture > > &theColorTextures, const Handle< OpenGl_Texture > &theDepthTexture=Handle< OpenGl_Texture >()) |
| | Wrap existing color textures.
|
| |
| void | SetupViewport (const Handle< OpenGl_Context > &theGlCtx) |
| | Setup viewport to render into FBO.
|
| |
| void | ChangeViewport (const Standard_Integer theVPSizeX, const Standard_Integer theVPSizeY) |
| | Override viewport settings.
|
| |
| virtual void | BindDrawBuffer (const Handle< OpenGl_Context > &theGlCtx) |
| | Bind frame buffer for drawing GL_DRAW_FRAMEBUFFER (to render into the texture).
|
| |
| virtual void | BindReadBuffer (const Handle< OpenGl_Context > &theGlCtx) |
| | Bind frame buffer for reading GL_READ_FRAMEBUFFER.
|
| |
| virtual void | UnbindBuffer (const Handle< OpenGl_Context > &theGlCtx) |
| | Unbind frame buffer.
|
| |
| const Handle< OpenGl_Texture > & | ColorTexture (const Standard_Integer theColorBufferIndex=0) const |
| | Returns the color texture for the given color buffer index.
|
| |
| const Handle< OpenGl_Texture > & | DepthStencilTexture () const |
| | Returns the depth-stencil texture.
|
| |
| bool | IsColorRenderBuffer () const |
| | Returns TRUE if color Render Buffer is defined.
|
| |
| unsigned int | ColorRenderBuffer () const |
| | Returns the color Render Buffer.
|
| |
| bool | IsDepthStencilRenderBuffer () const |
| | Returns TRUE if depth Render Buffer is defined.
|
| |
| unsigned int | DepthStencilRenderBuffer () const |
| | Returns the depth Render Buffer.
|
| |
| virtual Standard_Size | EstimatedDataSize () const override |
| | Returns estimated GPU memory usage for holding data without considering overheads and allocation alignment rules.
|
| |
| Standard_Boolean | initRenderBuffer (const Handle< OpenGl_Context > &theGlCtx, const Graphic3d_Vec2i &theSize, const OpenGl_ColorFormats &theColorFormats, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples, const unsigned int theColorRBufferFromWindow) |
| | (Re-)initialize FBO with specified dimensions. The Render Buffer Objects will be used for Color, Depth and Stencil attachments (as opposite to textures).
|
| |
| bool | Init (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theSizeX, const Standard_Integer theSizeY, const OpenGl_ColorFormats &theColorFormats, const Handle< OpenGl_Texture > &theDepthStencilTexture, const Standard_Integer theNbSamples=0) |
| | Initialize FBO for rendering into single/multiple color buffer and depth textures.
|
| |
| bool | Init (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theSizeX, const Standard_Integer theSizeY, const Standard_Integer theColorFormat, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | Initialize FBO for rendering into textures.
|
| |
| bool | Init (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theSizeX, const Standard_Integer theSizeY, const OpenGl_ColorFormats &theColorFormats, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | Initialize FBO for rendering into single/multiple color buffer and depth textures.
|
| |
| bool | InitLazy (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theViewportSizeX, const Standard_Integer theViewportSizeY, const Standard_Integer theColorFormat, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | (Re-)initialize FBO with specified dimensions.
|
| |
| bool | InitLazy (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theViewportSizeX, const Standard_Integer theViewportSizeY, const OpenGl_ColorFormats &theColorFormats, const Standard_Integer theDepthFormat, const Standard_Integer theNbSamples=0) |
| | (Re-)initialize FBO with specified dimensions.
|
| |
| bool | InitWithRB (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theSizeX, const Standard_Integer theSizeY, const Standard_Integer theColorFormat, const Standard_Integer theDepthFormat, const unsigned int theColorRBufferFromWindow=0) |
| | (Re-)initialize FBO with specified dimensions. The Render Buffer Objects will be used for Color, Depth and Stencil attachments (as opposite to textures).
|
| |
| | OpenGl_NamedResource (const TCollection_AsciiString &theId) |
| | Empty constructor.
|
| |
| const TCollection_AsciiString & | ResourceId () const |
| | Return resource name.
|
| |
| | OpenGl_Resource () |
| | Empty constructor.
|
| |
| virtual | ~OpenGl_Resource () |
| | Destructor. Inheritors should call Clean (NULL) within it.
|
| |
| virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
| | Dumps the content of me into the stream.
|
| |
Public Member Functions inherited from Standard_Transient |
| | Standard_Transient () |
| | Empty constructor.
|
| |
| | Standard_Transient (const Standard_Transient &) |
| | Copy constructor – does nothing.
|
| |
| Standard_Transient & | operator= (const Standard_Transient &) |
| | Assignment operator, needed to avoid copying reference counter.
|
| |
| virtual | ~Standard_Transient () |
| | Destructor must be virtual.
|
| |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| | Returns a type descriptor about this object.
|
| |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| | Returns a true value if this is an instance of Type.
|
| |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| | Returns a true value if this is an instance of TypeName.
|
| |
| Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
| | Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
|
| |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| | Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
|
| |
| Standard_Transient * | This () const |
| | Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
|
| |
| Standard_Integer | GetRefCount () const noexcept |
| | Get the reference counter of this object.
|
| |
| void | IncrementRefCounter () noexcept |
| | Increments the reference counter of this object.
|
| |
| Standard_Integer | DecrementRefCounter () noexcept |
| | Decrements the reference counter of this object; returns the decremented value.
|
| |
| virtual void | Delete () const |
| | Memory deallocator for transient classes.
|
| |
Implements bridge FBO for direct rendering to Direct3D surfaces.