MTLRenderPassDepthAttachmentDescriptor.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using static Veldrid.MetalBindings.ObjectiveCRuntime;
  3. namespace Veldrid.MetalBindings
  4. {
  5. public struct MTLRenderPassDepthAttachmentDescriptor
  6. {
  7. public readonly IntPtr NativePtr;
  8. public MTLRenderPassDepthAttachmentDescriptor(IntPtr ptr) => NativePtr = ptr;
  9. public MTLTexture texture
  10. {
  11. get => objc_msgSend<MTLTexture>(NativePtr, Selectors.texture);
  12. set => objc_msgSend(NativePtr, Selectors.setTexture, value.NativePtr);
  13. }
  14. public MTLLoadAction loadAction
  15. {
  16. get => (MTLLoadAction)uint_objc_msgSend(NativePtr, Selectors.loadAction);
  17. set => objc_msgSend(NativePtr, Selectors.setLoadAction, (uint)value);
  18. }
  19. public MTLStoreAction storeAction
  20. {
  21. get => (MTLStoreAction)uint_objc_msgSend(NativePtr, Selectors.storeAction);
  22. set => objc_msgSend(NativePtr, Selectors.setStoreAction, (uint)value);
  23. }
  24. public double clearDepth
  25. {
  26. get => double_objc_msgSend(NativePtr, sel_clearDepth);
  27. set => objc_msgSend(NativePtr, sel_setClearDepth, value);
  28. }
  29. public UIntPtr slice
  30. {
  31. get => UIntPtr_objc_msgSend(NativePtr, Selectors.slice);
  32. set => objc_msgSend(NativePtr, Selectors.setSlice, value);
  33. }
  34. public UIntPtr level
  35. {
  36. get => UIntPtr_objc_msgSend(NativePtr, Selectors.level);
  37. set => objc_msgSend(NativePtr, Selectors.setLevel, value);
  38. }
  39. private static readonly Selector sel_clearDepth = "clearDepth";
  40. private static readonly Selector sel_setClearDepth = "setClearDepth:";
  41. }
  42. }