Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetSharedDepthSurface()

unsafe IntPtr Microsoft.Xna.Framework.Graphics.RenderTargetHelper.GetSharedDepthSurface ( object managedObject)
inlinepackage

Definition at line 144 of file RenderTargetHelper.cs.

145 {
146 RenderTargetHelper helper;
147 if (managedObject is RenderTarget2D renderTarget2D)
148 {
149 helper = renderTarget2D.helper;
150 }
151 else
152 {
153 if (!(managedObject is RenderTargetCube renderTargetCube))
154 {
155 return IntPtr.Zero;
156 }
157 helper = renderTargetCube.helper;
158 }
159 if (helper != null && helper.usage == RenderTargetUsage.DiscardContents && helper.width == width && helper.height == height && helper.depthFormat == depthFormat && helper.multiSampleCount == multiSampleCount)
160 {
161 IDirect3DSurface9* ptr = helper.pDepthSurface;
162 if (ptr != null)
163 {
164 ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint>)(int)(*(uint*)(*(int*)ptr + 4)))((nint)ptr);
165 return new IntPtr(ptr);
166 }
167 }
168 return IntPtr.Zero;
169 }
unsafe RenderTargetHelper(IDynamicGraphicsResource texture, int width, int height, SurfaceFormat format, DepthFormat depthFormat, int multiSampleCount, RenderTargetUsage usage, ProfileCapabilities profileCapabilities)
static readonly IntPtr Zero
Definition IntPtr.cs:18

References Microsoft.Xna.Framework.Graphics.RenderTargetHelper.depthFormat, Microsoft.Xna.Framework.Graphics.RenderTargetHelper.height, Microsoft.Xna.Framework.Graphics.RenderTargetHelper.multiSampleCount, Microsoft.Xna.Framework.Graphics.RenderTargetHelper.pDepthSurface, Microsoft.Xna.Framework.Graphics.RenderTargetHelper.usage, Microsoft.Xna.Framework.Graphics.RenderTargetHelper.width, and System.IntPtr.Zero.

Referenced by Microsoft.Xna.Framework.Graphics.RenderTargetHelper.CreateSurfaces().