Progress of new backend API

Progress of new backend API
0

#22

Update:

  • implement some basic feature of metal backend
  • can run the project, but nothing is drawn, i found the vertex data is correct, don’t know why

If somebody is metal expert, please help to fix it too.


#23

Update:

the first metal test case can run, it is because i don’t set window width and height, then the view port size is 0. Currently, i just write metal shader by hand, not translate it to metal shader in runtime. It can polish the API more quickly.


IOS and openGL?
#24

Update:

GLSL shader works on metal backend. We are using glsl-optimizer to translate GLSL shader to metal shader. glsl-optimizer doesn’t translate GLSL builtin functions, we are fixing it.


#25

Update: texture is supported in metal backend, texture array currently is not supported. And i created an issue to trace the progress of GLSL builtin functions supporting.


#26

I think this is a standalone project which should not depend on cocos2d-x.
It’s cocos2d-x uses this module instead.
So autorelease stuff may not be in this project.


#27

It seems that this design doesn’t consider multi-thread usage.
There isn’t any concept of Fence, Event, Semaphore.


#28

@dumganhar it is part of cocos2d-x. For convenient, i use a separate repo when developing. I learned from mac and fixed it:

  • createXXX return an autoreleased object
  • newXXX return a not autoreleased object

Yep, multiple thread concept is not included now. I don’t know if it is needed, the first purpose is to support metal, and we can optimize it if it is needed.


#29

Update: blending is supported on metal, and the API is simplified a bit. I will add more test case for it.