Class MTKMeshBuffer

  • All Implemented Interfaces:
    NSCopying, MDLMeshBuffer, MDLNamed, NSObject

    public class MTKMeshBuffer
    extends NSObject
    implements MDLMeshBuffer, MDLNamed
    MTKMeshBuffer Mesh buffer created by MTKMeshBufferAllocator when Model I/O needs to memory for vertex or index data backing. Memory backing these buffer are Metal buffers. Model I/O will load index and vertex data from from a model asset directly in to the Metal buffer.
    • Constructor Detail

      • MTKMeshBuffer

        protected MTKMeshBuffer​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • allocator

        public MTKMeshBufferAllocator allocator()
        Description copied from interface: MDLMeshBuffer
        [@property] allocator Allocator object used to create this buffer. This allcoator used for copy and relayout operations (such as when a new vertex descriptor is applied to a vertex buffer)
        Specified by:
        allocator in interface MDLMeshBuffer
      • buffer

        public MTLBuffer buffer()
        [@property] buffer Metal Buffer backing vertex/index data. Many MTKMeshBuffers may reference the same buffer, but each with it's own offset. (i.e. Many MTKMeshBuffers may be suballocated from a single buffer)
      • copyWithZone

        public java.lang.Object copyWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
        Specified by:
        copyWithZone in interface NSCopying
      • fillDataOffset

        public void fillDataOffset​(NSData data,
                                   long offset)
        Description copied from interface: MDLMeshBuffer
        fillData:offset: Fills buffer with data at offset Fills data.length bytes of data. Will not write beyond length of this buffer.
        Specified by:
        fillDataOffset in interface MDLMeshBuffer
        Parameters:
        data - Data to fill buffer with
        offset - Byte offset in buffer to begin filling data
      • length

        public long length()
        Description copied from interface: MDLMeshBuffer
        [@property] length Size in bytes of the buffer allocation
        Specified by:
        length in interface MDLMeshBuffer
      • map

        public MDLMeshBufferMap map()
        Description copied from interface: MDLMeshBuffer
        map CPU access to buffer's memory The buffer will remain mapped as long as the returned MDLMeshBufferMap object exists. Mapping a buffer may impose restrictions on a system. For instance, if the implementing class maps an OpenGL buffer, that buffer may be unavailable for rendering while mapped, and cause a draw failure. Precautions must be taken in such cases.
        Specified by:
        map in interface MDLMeshBuffer
        Returns:
        An MDLMeshBufferMap object to read or modify a buffer's memory
      • name

        public java.lang.String name()
        Specified by:
        name in interface MDLNamed
      • offset

        public long offset()
        [@property] offset Byte offset of the data within the metal buffer.
      • setName

        public void setName​(java.lang.String value)
        Specified by:
        setName in interface MDLNamed
      • type

        public long type()
        Description copied from interface: MDLMeshBuffer
        [@property] type the intended type of the buffer
        Specified by:
        type in interface MDLMeshBuffer
      • zone

        public MDLMeshBufferZone zone()
        Description copied from interface: MDLMeshBuffer
        [@property] zone Zone from which this buffer was created This zone will be used for copy and relayout operations (such as when a new vertex descriptor is applied to a vertex buffer). If the default zone is used this will be nil.
        Specified by:
        zone in interface MDLMeshBuffer