Cocos2d-x
4.0.0
|
Create resources from MTLDevice. More...
Inherits Device.
Public Member Functions | |
Constructor, Destructor and Initializers | |
DeviceMTL () | |
~DeviceMTL () | |
![]() | |
virtual Buffer * | newBuffer (size_t size, BufferType type, BufferUsage usage)=0 |
New a Buffer object, not auto released. | |
DeviceInfo * | getDeviceInfo () const |
Get a DeviceInfo object. | |
![]() | |
void | retain () |
Retains the ownership. | |
void | release () |
Releases the ownership immediately. | |
Ref * | autorelease () |
Releases the ownership sometime soon automatically. | |
unsigned int | getReferenceCount () const |
Returns the Ref's current reference count. | |
virtual | ~Ref () |
Destructor. | |
Static Public Member Functions | |
static void | setCAMetalLayer (CAMetalLayer *metalLayer) |
Set CAMetalLayer. | |
static void | updateDrawable () |
Invoke by engine internally at the beginning of rendering a new frame. | |
static CAMetalLayer * | getCAMetalLayer () |
Get a CAMetalLayer. | |
static id< CAMetalDrawable > | getCurrentDrawable () |
Get available Drawable. | |
static void | resetCurrentDrawable () |
Reset current drawable to nil. | |
![]() | |
static Device * | getInstance () |
Returns a shared instance of the device. | |
Setters & Getters | |
virtual CommandBuffer * | newCommandBuffer () override |
New a CommandBuffer object. | |
virtual Buffer * | newBuffer (std::size_t size, BufferType type, BufferUsage usage) override |
New a Buffer object. | |
virtual TextureBackend * | newTexture (const TextureDescriptor &descriptor) override |
New a TextureBackend object. | |
virtual DepthStencilState * | createDepthStencilState (const DepthStencilDescriptor &descriptor) override |
Create a DepthStencilState object. | |
virtual RenderPipeline * | newRenderPipeline () override |
New a RenderPipeline object. | |
virtual void | setFrameBufferOnly (bool frameBufferOnly) override |
This property controls whether or not the drawables' MTLTextures may only be used for framebuffer attachments (YES) or whether they may also be used for texture sampling and pixel read/write operations (NO). | |
virtual Program * | newProgram (const std::string &vertexShader, const std::string &fragmentShader) override |
New a Program, not auto release. | |
id< MTLDevice > | getMTLDevice () const |
Get a MTLDevice object. | |
id< MTLCommandQueue > | getMTLCommandQueue () const |
Get a MTLCommandQueue object. | |
Additional Inherited Members | |
![]() | |
unsigned int | _ID |
object id, ScriptSupport need public _ID | |
int | _luaID |
Lua reference id. | |
void * | _scriptObject |
scriptObject, support for swift | |
bool | _rooted |
When true, it means that the object was already rooted. | |
Create resources from MTLDevice.
|
static |
Set CAMetalLayer.
metalLayer | A CAMetalLayer object. |
|
inlinestatic |
Get a CAMetalLayer.
|
static |
Get available Drawable.
|
overridevirtual |
|
overridevirtual |
New a Buffer object.
size | Specifies the size in bytes of the buffer object's new data store. |
type | Specifies the target buffer object. The symbolic constant must be BufferType::VERTEX or BufferType::INDEX. |
usage | Specifies the expected usage pattern of the data store. The symbolic constant must be BufferUsage::STATIC, BufferUsage::DYNAMIC. |
|
overridevirtual |
New a TextureBackend object.
descriptor | Specifies texture description. |
Implements Device.
|
overridevirtual |
Create a DepthStencilState object.
descriptor | Specifies depth and stencil description. |
Implements Device.
|
overridevirtual |
New a RenderPipeline object.
descriptor | Specifies render pipeline description. |
Implements Device.
|
overridevirtual |
This property controls whether or not the drawables' MTLTextures may only be used for framebuffer attachments (YES) or whether they may also be used for texture sampling and pixel read/write operations (NO).
frameBufferOnly | A value of YES allows CAMetalLayer to allocate the MTLTexture objects in ways that are optimized for display purposes that makes them unsuitable for sampling. The recommended value for most applications is YES. |
Implements Device.
|
overridevirtual |
|
inline |
Get a MTLDevice object.
|
inline |
Get a MTLCommandQueue object.