File indexing completed on 2026-09-28 09:21:03
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef _OpenGl_DepthPeeling_HeaderFile
0016 #define _OpenGl_DepthPeeling_HeaderFile
0017
0018 #include <OpenGl_FrameBuffer.hxx>
0019 #include <OpenGl_NamedResource.hxx>
0020
0021
0022 class OpenGl_DepthPeeling : public OpenGl_NamedResource
0023 {
0024 DEFINE_STANDARD_RTTIEXT(OpenGl_DepthPeeling, OpenGl_NamedResource)
0025 public:
0026
0027 Standard_EXPORT OpenGl_DepthPeeling();
0028
0029
0030 Standard_EXPORT ~OpenGl_DepthPeeling() override;
0031
0032
0033 Standard_EXPORT void Release(OpenGl_Context* theGlCtx) override;
0034
0035
0036
0037 Standard_EXPORT size_t EstimatedDataSize() const override;
0038
0039
0040
0041 Standard_EXPORT void AttachDepthTexture(
0042 const occ::handle<OpenGl_Context>& theCtx,
0043 const occ::handle<OpenGl_Texture>& theDepthStencilTexture);
0044
0045
0046
0047 Standard_EXPORT void DetachDepthTexture(const occ::handle<OpenGl_Context>& theCtx);
0048
0049
0050 const occ::handle<OpenGl_FrameBuffer>* DepthPeelFbosOit() const { return myDepthPeelFbosOit; }
0051
0052
0053 const occ::handle<OpenGl_FrameBuffer>* FrontBackColorFbosOit() const
0054 {
0055 return myFrontBackColorFbosOit;
0056 }
0057
0058
0059 const occ::handle<OpenGl_FrameBuffer>& BlendBackFboOit() const { return myBlendBackFboOit; }
0060
0061 private:
0062 occ::handle<OpenGl_FrameBuffer> myDepthPeelFbosOit[2];
0063 occ::handle<OpenGl_FrameBuffer> myFrontBackColorFbosOit[2];
0064 occ::handle<OpenGl_FrameBuffer> myBlendBackFboOit;
0065 };
0066
0067 #endif