Should say, that it is very good idea to accomodate all needed rendering information in one place. It should be very lightweight. I really wait your progress! Good luck!
Update:
- all label effect works without underline effect
- particles system works
- some tilemap effect works
Update:
- rendertexture without saving image support
- effects(grid3d and tiled grid) works
- transition works
- almost all UI components work(it is not merged, in testing)
- draw node works(not merged, in review)
Awesome, keep it going! By the way: is there much left to do? Do you have some sort of list?
Most of 2D features are supported, spine and 3d feature is not started.
Update:
- draw node merged
- add UI back, some tests works
- clipping node works without alpha test
Update:
- iOS uses metal too
- Android and windows can work, but use cmake instead
- progress timer support radial
- support scissor
I will send a PR to cocos2d-x for metal-support, then developers can join the development. I don’t know if we can call it v4, but it breaks something. I will name it metal-support
currently.
After supporting spine, i will release a alpha version. Then we will continue to support 3D features and fixing bugs.
Awesome. Motion Streak implemented?
Not yet, it is quick to support it.
ok great. We will also start testing when alpha version is available.
update:
- fast tilemap works
- fix depth test issue
- physics test works
- can show stats information
- improve performance of layer/progress timer
- custom command supports index format
- correct synchronization between CPU/GPU in metal
- spine supports, because it will break spine runtime license, so we will not merge it before it is accepted by spine author, you can merge the PR manually to have a try.
Refactor uniform setting to improve performance will be finished in days. After that, i will sync all the codes to official repo, then release an alpha version. So the alpha version will be released in this week without 3D features.
There may be an issue with that. If the changes are merged in, wouldn’t it break Spine for the current Cocos2d-x 3.17.1 and lower versions? If that is the case, then there needs to be preprocessor checks added anywhere the code would cause issues with the currently released versions of Cocos2d-x, otherwise there would need to be a completely separate release of the Spine runtime for the new Cocos2d-x.
Side-note: Spine now have a cpp runtime available, and will no longer update the cocos2d-x C version going forward (they will maintain it, but they will not add new features). The spine-cpp runtime is now the default to use for Cocos2d-x. More info here: http://esotericsoftware.com/blog/Spine-3-7-released#Spine-cpp
We discussed it with spine author, and it will be in a new folder, it will not affect spine-c/spine-cpp.
is mac version working fine with metal support and how much performance improvement I can expect from it?
We haven’t focused performance currently. As simple testing, currently, there is not performance improvement, just the same as before. After uniform setting modification, i think it will have about 10% performance improvement. We will focus on performance improvement after finishing metal integration.
Because of the delay of refactor uniform setting
, we could not release alpha0 version last week. Sorry about that. We will try to release it in this week.
‘deprecated/CCArray.h’ file not found Error