Cocos2d-x  v4
DeviceGL Class Reference

Use to create resoureces. More...

Inherits Device.

Public Member Functions

virtual CommandBuffer * newCommandBuffer () override
 New a CommandBuffer object, not auto released. More...
 
virtual Buffer * newBuffer (std::size_t size, BufferType type, BufferUsage usage) override
 New a Buffer object, not auto released. More...
 
virtual TextureBackend * newTexture (const TextureDescriptor &descriptor) override
 New a TextureBackend object, not auto released. More...
 
virtual DepthStencilState * createDepthStencilState (const DepthStencilDescriptor &descriptor) override
 Create an auto released DepthStencilState object. More...
 
virtual RenderPipeline * newRenderPipeline () override
 New a RenderPipeline object, not auto released. More...
 
virtual void setFrameBufferOnly (bool frameBufferOnly) override
 Design for metal.
 
virtual Program * newProgram (const std::string &vertexShader, const std::string &fragmentShader) override
 New a Program, not auto released. More...
 
- Public Member Functions inherited from Device
virtual Buffer * newBuffer (size_t size, BufferType type, BufferUsage usage)=0
 New a Buffer object, not auto released. More...
 
DeviceInfo * getDeviceInfo () const
 Get a DeviceInfo object. More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Ref * autorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Device
static Device * getInstance ()
 Returns a shared instance of the device.
 
- Public Attributes inherited from Ref
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.
 

Detailed Description

Use to create resoureces.

Member Function Documentation

◆ newCommandBuffer()

virtual CommandBuffer* newCommandBuffer ( )
overridevirtual

New a CommandBuffer object, not auto released.

Returns
A CommandBuffer object.

Implements Device.

◆ newBuffer()

virtual Buffer* newBuffer ( std::size_t  size,
BufferType  type,
BufferUsage  usage 
)
overridevirtual

New a Buffer object, not auto released.

Parameters
sizeSpecifies the size in bytes of the buffer object's new data store.
typeSpecifies the target buffer object. The symbolic constant must be BufferType::VERTEX or BufferType::INDEX.
usageSpecifies the expected usage pattern of the data store. The symbolic constant must be BufferUsage::STATIC, BufferUsage::DYNAMIC.
Returns
A Buffer object.

◆ newTexture()

virtual TextureBackend* newTexture ( const TextureDescriptor &  descriptor)
overridevirtual

New a TextureBackend object, not auto released.

Parameters
descriptorSpecifies texture description.
Returns
A TextureBackend object.

Implements Device.

◆ createDepthStencilState()

virtual DepthStencilState* createDepthStencilState ( const DepthStencilDescriptor &  descriptor)
overridevirtual

Create an auto released DepthStencilState object.

Parameters
descriptorSpecifies depth and stencil description.
Returns
An auto release DepthStencilState object.

Implements Device.

◆ newRenderPipeline()

virtual RenderPipeline* newRenderPipeline ( )
overridevirtual

New a RenderPipeline object, not auto released.

Parameters
descriptorSpecifies render pipeline description.
Returns
A RenderPipeline object.

Implements Device.

◆ newProgram()

virtual Program* newProgram ( const std::string &  vertexShader,
const std::string &  fragmentShader 
)
overridevirtual

New a Program, not auto released.

Parameters
vertexShaderSpecifes this is a vertex shader source.
fragmentShaderSpecifes this is a fragment shader source.
Returns
A Program instance.

Implements Device.


The documentation for this class was generated from the following file: