Commit Graph

13731 Commits

Author SHA1 Message Date
minggo fafd16e949
refactor Quaternion class (#20031) (#20213)
* remove redundant copy constructor and destructor
2019-10-17 11:12:49 +08:00
minggo 99e984dde5
fix crash when plist filename hasn't suffix (#19999) (#20212) 2019-10-17 11:12:37 +08:00
minggo 24b04e561b
sync #20007 to v4 (#20210)
* sync #20007 to v4

* Fixing a bug in Node::enumerateChildren (#20045)

This patch fixes an issue that if both // (recursive enumeration)
and .. (starting from parent node) are specified,
Node::enumerateChildren does not honor the latter and starts searching
from current node rather than parent node.
2019-10-17 11:12:25 +08:00
minggo 8a64e6f983
fix RotateTo animation when angle is bigger than 360 (#20009) (#20211) 2019-10-16 16:31:35 +08:00
CocosRobot 40038020ba [ci skip][AUTO]: updating luabinding & cocos_file.json automatically (#20208) 2019-10-16 11:41:06 +08:00
Andy Duplain 0a227ef2d7 Don't use MTL_ pixelformat when building for iOS Simulator. (#20198) 2019-10-16 09:51:17 +08:00
CocosRobot bdf39670fd [ci skip][AUTO]: updating luabinding & cocos_file.json automatically (#20203) 2019-10-16 09:44:05 +08:00
coulsonwang 67ae2e756e fix ProgramState and Program performance (#20189)
* fix ProgramState and Program performance

* fix review

* fix

* add autorelease
2019-10-15 09:40:59 +08:00
coulsonwang 327407d59b fix full screen issue (#20202)
need resize depth and stencil attachment texture as well.
2019-10-15 09:38:51 +08:00
coulsonwang b553648a77 remove unused code (#20195) 2019-10-12 09:45:56 +08:00
coulsonwang 68aedd7ef0 revert error caused by fixC4244Warning (#20190) 2019-10-11 16:39:33 +08:00
coulsonwang a91091e93a fix triangle batch (#20185)
* fix triangle batch
since it would be too expensive to check the uniforms, simplify enable batching for built-in program.

* enable user update the materialID
2019-10-10 09:41:39 +08:00
coulsonwang c7020fbb5f fix C4244 warning (#20173) 2019-10-09 17:50:32 +08:00
coulsonwang 49a3b5b228 fix auto test fails (#20183)
needs an integer position
2019-10-08 15:06:47 +08:00
CocosRobot 4116371053 [ci skip][AUTO]: updating luabinding & cocos_file.json automatically (#20176) 2019-09-26 17:35:39 +08:00
rh101 4ac3f94774 V4 RenderTexture PMA flag fix (#20153)
* This is to ensure the RenderTexture internal texture2D PMA flag is set to the correct value.
[CCSprite.cpp] Blending mode needs to be set based on the PMA flag of the texture if using Sprite::initWithTexture().

* [CCSprite.cpp] Removed redundant code related to blending mode and opacityModifyRGB when creating a sprite with a texture.
2019-09-26 16:11:23 +08:00
coulsonwang 6de088ab98 fix C4244 warning (#20162)
* fix C4244 warning

* fix warning C4244

* fix compile error
2019-09-25 14:32:26 +08:00
minggo 77a47957a7
set software mode will slow down performance (#20155) 2019-09-24 14:29:14 +08:00
coulsonwang 9ee9917047 fix Physics3DDebugDrawer (#20160)
Since drawing type is ARRAY, should use  instead.
2019-09-24 14:28:44 +08:00
coulsonwang 03a4ddf764 fix warning (#20146)
* fix warning
fix warning

* remove integer type constructor for Vec2
2019-09-24 11:31:35 +08:00
minggo b3dba7b93e
Merge pull request #20131 from Mee-gu/checkMemoryLeak
fix memory leak on metal app
2019-09-20 14:37:02 +08:00
minggo 965ea379a7
Merge pull request #20139 from Mee-gu/fixWarning
fix warning
2019-09-20 14:36:36 +08:00
coulsonwang 0dbe3419d2 fix warning
fix warning
2019-09-20 11:20:07 +08:00
coulsonwang fb39795d27 fix warning 2019-09-19 18:43:31 +08:00
coulsonwang e9a33903f0 fix memory leak for metal app 2019-09-19 15:31:05 +08:00
coulsonwang c17417f3cb set the right position of uniform location 2019-09-17 17:15:16 +08:00
coulsonwang dc910efee7 fix uniformLocation 2019-09-17 15:09:44 +08:00
minggo f3b09563f8
Mac label v4 (#20125)
* fix system font issue on macOS Catalina
2019-09-17 13:35:19 +08:00
minggo 9df47ef6fd
use WKWebview instead (#20103)
UIWebView is removed in iOS 13.
2019-09-06 09:57:38 +08:00
Arnold eed319938d [lua tests] MaterialSystemTest update u_Time uniform (#20083) 2019-09-05 15:56:39 +08:00
coulsonwang 816289ccf5 fix clipping node issue (#20100)
Children are not correctly clipped.
2019-09-05 09:17:43 +08:00
minggo d1abfd8aa2
use AVPlayerController instead (#20099) 2019-09-04 20:45:51 +08:00
coulsonwang 5ab04a7001 set default color attachment format (#20073) 2019-09-04 10:07:31 +08:00
Arnold 55f6f6d6e7 [bugfix] Fileutils iOS isDirectory (#20079) 2019-09-04 10:03:38 +08:00
coulsonwang 4d04b64a3a add specific define for metal (#20084) 2019-09-04 09:58:40 +08:00
coulsonwang f97717265b fix shader header defines (#20077) 2019-09-04 09:56:28 +08:00
coulsonwang 48e0d7d3a6 resize metal drawable (#20074) 2019-08-31 20:10:32 +08:00
coulsonwang 73ad115702 fix FastTMXLayer (#20065) 2019-08-29 22:30:03 +08:00
coulsonwang 66c4892b22 fix attribute location (#20064) 2019-08-29 18:15:03 +08:00
coulsonwang de3f252794 generate project for cocos2d (#20056) 2019-08-26 10:01:50 +08:00
minggo 50df439e87
update changelog and version (#20053) 2019-08-21 10:45:45 +08:00
minggo 5e40f5e6a5
remove tiff (#20047) 2019-08-20 15:15:40 +08:00
coulsonwang 1e8f6d24ac fix render pipeline (#20041) 2019-08-19 10:12:00 +08:00
John 3c08471bab don't convert const char* to char* (#20039)
* C++ forbids conversion from const char* string to char*, so we change
function signature from char* to const char* in lua basic conversion
functions.
2019-08-16 15:29:49 +08:00
CocosRobot a8d07022d6 [ci skip][AUTO]: updating luabinding & cocos_file.json automatically (#20036) 2019-08-15 17:01:11 +08:00
coulsonwang c4e6ede197 move VertexLayout to ProgramState (#20029)
* move VertexLayout to ProgramState

* fix lua
2019-08-15 16:51:49 +08:00
minggo 8913c30fc0
fix compile warnings (#20028) 2019-08-13 18:19:32 +08:00
minggo 1444263612
remove app from recent apps when exit (#19961) (#20020) 2019-08-13 17:31:29 +08:00
minggo b606f2a79d
Fix divide by zero in ui::Slider (#19957) (#20019)
* Added RenderTexture::saveToFileAsNonPMA() to save images without PMA.
Set the PMA parameter to true when calling initWithRawData() inside RenderTexture::newImage(), since textures are PMA.
Renamed Image::premultipliedAlpha() to Image::premultiplyAlpha() to better reflect it's action, and made it public.
Added Image::reversePremultipliedAlpha() to allow the reversing of the PMA.
Updated CCImage-ios.mm to set the correct bitmapInfo for PMA and non-PMA images before saving a file.
Updated RenderTextureTest::RenderTextureSave() to cater for non-PMA file saving.

* [CCImage-ios.mm] Fixed indentation.

* [UISlider.cpp] Divide by 0 error if _maxPercent is equal to 0, which is an allowed value.
2019-08-13 17:29:31 +08:00
minggo ba2f9ac165
sync #19996 and #19972: refactor DrawNode (#20021)
* sync #19996 and #19972: refactor DrawNode

* fix compiling error
2019-08-13 17:28:53 +08:00
coulsonwang 935af58e1d remove arrays of vertex layout (#20023) 2019-08-13 13:58:16 +08:00
coulsonwang 23732ab889 remove arrays of vertex buffer (#20022) 2019-08-13 09:46:20 +08:00
coulsonwang 3c693c7fd9 fix crash issue when egl context lost (#20025) 2019-08-13 09:45:39 +08:00
CocosRobot 28bc31aac6 [ci skip][AUTO]: updating luabinding & cocos_file.json automatically (#20014) 2019-08-06 14:14:59 +08:00
coulsonwang 320b9b4e67 Feature/sprite optimized (#19998)
Optimize sprite creation speed
2019-08-06 09:37:49 +08:00
sgosztyla 0be2a1e80a Fixing memory leak. (#19993)
Library should be released after calling "newLibraryWithSource".
2019-07-30 15:51:38 +08:00
CocosRobot b758f626eb [ci skip][AUTO]: updating luabinding & cocos_file.json automatically (#19991) 2019-07-26 17:33:42 +08:00
rh101 e574e4984f Added support for saving non-premultiplied alpha images from RenderTexture. (#19990) 2019-07-26 17:09:00 +08:00
CocosRobot 17ee8f0082 [ci skip][AUTO]: updating luabinding & cocos_file.json automatically (#19987) 2019-07-25 14:28:26 +08:00
coulsonwang 5dd5d084b6 fix glfw3.3 no respond issue. (#19965) 2019-07-23 17:40:37 +08:00
coulsonwang e64f2af25b fix header define for shader. (#19934) 2019-07-22 10:45:41 +08:00
minggo 0d121d7913
remove void in function declaration (#19954) 2019-07-22 09:38:46 +08:00
minggo 7a6c115b2f
fix ZipUtils memory-malloc succ check error. (#19923) (#19953) 2019-07-22 09:38:28 +08:00
minggo 29ce64b123
Fix cocos2d-js issue: Font height was not getting calculated properly in iOS. (#19926) (#19952) 2019-07-22 09:38:15 +08:00
minggo c283d4b939
sync 19759: fix: FastTMXLayer does not reflect opacity and anchor point (#19950) 2019-07-22 09:38:01 +08:00
minggo c8d13184f8
sync 19893: fix Wformat warnings (#19949) 2019-07-22 09:37:48 +08:00
minggo b7a6b77789
fix memory leak in CCUserDefault (#19853) (#19947)
fastSet makes the Data object managing a new memory area in
[bytes, bytes + size), but it doesn't releasing the old data
it managed. Failure to release the old data causes memory leak.

The default constructed Data manages null memory, so calling
fastSet on it is fine.

Because `Data ret = defaultValue;` malloc new memory, we might
have better performance without it.
2019-07-22 09:37:21 +08:00
minggo 3e6b1ffe92
refactor AudioEngine-Linux (#19822) (#19946)
* refactor AudioEngine and AudioEngine-linux

* map::erase() can handle case if key doesn't exist.

* use map::iterator when it has already obtained.

* mapChannelInfo[id].channel is nullptr befor resume(). Don't
dereference it.

* FMOD::System::release() calls close, so calling close before release
is not necessary.

* use std::map::insert properly.

* remove unnecessary null check on _audioEngineImpl

* add comment on nullptr dereference
2019-07-22 09:37:07 +08:00
minggo 77a72052c8
sync 19811: android_allowBackup2 (#19945) 2019-07-22 09:36:51 +08:00
minggo 6e0c4872c5
refactor CCScene (#19767) (#19944)
* refactor-CCScene

prefer in-class initialization

* in-class initialization of pointer to nullptr
2019-07-22 09:36:38 +08:00
minggo 7cea351cec
sync 19756: refactor CCBundle3DData (#19942) 2019-07-22 09:36:24 +08:00
minggo b3424a535f
[Change] the CC_64BITS macro to 64-bit decision. (#19723) (#19941) 2019-07-22 09:36:10 +08:00
minggo 0427381e06
sync 19722: fix assign nullptr to std::string (#19940) 2019-07-22 09:35:57 +08:00
minggo a4fb692f36
fix for #19713 (#19714) (#19939)
#19713
2019-07-22 09:35:44 +08:00
minggo 956fd85401
sync 19661: Clear the scene stack in the expected order (#19935) 2019-07-19 16:53:20 +08:00
minggo 838c285696
sync 19655 (#19932) 2019-07-19 13:45:08 +08:00
minggo e47d6b664f
sync 19649 and fix conflict (#19931) 2019-07-19 13:43:20 +08:00
minggo ad54a24cf0
sync 19634 and fix conflict (#19930) 2019-07-19 11:57:11 +08:00
minggo e93d4cb1d6
fix outdated documentation [ci skip] (#19618) (#19929) 2019-07-19 10:19:13 +08:00
coulsonwang 7b7cf55efb remove vertex step mode (#19921) 2019-07-17 13:59:37 +08:00
coulsonwang cb07f599f8 add api comments (#19922) 2019-07-17 09:26:15 +08:00
coulsonwang 03ea495fd6 add API comments (#19919) 2019-07-16 10:01:23 +08:00
coulsonwang f0f9cf612c add api comments (#19916) 2019-07-15 09:28:38 +08:00
coulsonwang de8cf4c45b set default frameBufferOnly to false for ios (#19915) 2019-07-15 09:28:18 +08:00
coulsonwang b96c467318 fix stencil issue (#19910) 2019-07-10 09:56:55 +08:00
coulsonwang 77b1535a9d add api document (#19909) 2019-07-09 09:43:45 +08:00
coulsonwang a92ab26096 remove unUsed member (#19906) 2019-07-05 10:11:12 +08:00
coulsonwang f72dbd28d0 add copyright (#19903) 2019-07-04 17:47:24 +08:00
minggo 67d43ca591
Update CMakeLists.txt 2019-07-04 09:48:45 +08:00
Arnold 097a4a74dc [Lua] Export ccexp.AudioEngine on linux (#19898)
* export ccexp.AudioEngine on linux

* revert auto bindings

* gen bindings
2019-07-03 18:57:18 +08:00
minggo 96534de260
fix warnings (#19891) 2019-07-03 10:43:10 +08:00
Arnold 888cd9b159 fix lua (#19888) 2019-07-02 09:29:20 +08:00
Arnold 2eb4625cbc
regenerate (#19887) 2019-07-01 13:51:02 +08:00
coulsonwang 7f96375871 Feature/fix tile map (#19883) 2019-06-30 11:36:52 +08:00
minggo e0200eaa54
should unbind prebound attachments to avoid error on some android devcies (#19875) 2019-06-28 08:56:13 +08:00
coulsonwang e8839cefbe Feature/lua drawing node (#19863)
* fix DrawInRect in lua

* fix

* rename
2019-06-27 17:44:07 +08:00
Arnold 76edaa0993 [bugfix] fix TextureInfo copy constructor (#19865)
* fix copy

* fix compile error

* Update cocos/renderer/backend/ProgramState.cpp
2019-06-27 17:42:32 +08:00
Arnold 75ba0f91d1 add break statement (#19867) 2019-06-27 09:40:53 +08:00
coulsonwang bbc6a88c51 optimize the uniform buffer (#19845)
* optimize the uniform buffer

* update review
2019-06-26 10:26:49 +08:00
Arnold 3620633fd8 [lua] remove simulator code from template project (#19862)
* update template'

* fix compile error
2019-06-25 18:14:50 +08:00
Arnold abd7ffddc6 [lua] remove TODO in LuaBasicConversions.cpp (#19848)
* remove todos

* merge
2019-06-25 10:22:03 +08:00
Arnold a0e114a07f remove cc.SimpleAudioEngine (#19859) 2019-06-25 09:41:19 +08:00
coulsonwang ab749c69ec fix setBlendFunc (#19858) 2019-06-24 15:30:15 +08:00
coulsonwang 22e8a651d2 Feature/lua render texture test (#19827)
* fix render texture test in lua

* remove unnecessary code

* fix CI compile error
2019-06-18 22:45:14 -07:00
coulsonwang 1b6c3a7173 setFrameBufferOnly to false when necessary (#19843) 2019-06-18 18:05:22 -07:00
coulsonwang 2c5fc38297 add test case (#19830)
* add test case

* comment meaningless test case
2019-06-18 18:04:56 -07:00
coulsonwang 7a94e66a14 Feature/fix alpha test (#19824) 2019-06-18 00:25:26 -07:00
coulsonwang 7486fe89dc fix flip issue (#19831)
* fix flip

* fix flip issue
2019-06-18 00:20:29 -07:00
Arnold 7851f212bf Rename backend::Texture2D (#19821)
* compile on windows

* compile on mac

* rename to Texture2DBackend

* compile on mac
2019-06-12 00:01:15 -07:00
coulsonwang fef1752cfe fix TODO (#19793) 2019-06-11 23:58:07 -07:00
Arnold 3c93c3d3dd swap shader source arguments (#19823) 2019-06-11 23:54:15 -07:00
minggo 1273fb305d
Remove simple audio engine (#19802) 2019-06-11 18:23:16 -07:00
patricejiang 85b72ca88a
pollEvents in loop 2019-06-11 10:16:20 +08:00
minggo 261cf5b82a
Merge pull request #19810 from minggo/change-version
change version to beta
2019-06-09 18:31:11 -07:00
minggo 07959475de
Merge pull request #19808 from minggo/fix-warnings
fix warnings
2019-06-09 18:30:24 -07:00
minggo e1a10faa9c change version to beta 2019-06-06 18:16:55 +08:00
minggo 0a85432d02 remove unneeded codes 2019-06-06 18:00:45 +08:00
minggo d6cbaa44e0 fix warnings 2019-06-06 17:53:16 +08:00
Arnold 60deaa60ca run genbindings.py (#19805) 2019-06-06 02:49:33 -07:00
coulsonwang 9dc04bf228 remove opengl codes (#19797) 2019-06-05 02:58:33 -07:00
coulsonwang 9bea7a3255 fix crash when using compressed pixel format (#19794) 2019-06-04 18:30:16 -07:00
coulsonwang 655d0d3404 [TileMapTest] Depth write state setting should not depended on the depth test flag (#19792) 2019-06-04 03:09:47 -07:00
coulsonwang 59d5f97d30 fix compile error (#19788) 2019-06-03 19:52:16 -07:00
coulsonwang 7c29811c81 vertex shader does not need header define (#19785) 2019-06-03 19:43:19 -07:00
coulsonwang bf93892ec9 bind texture target (#19786) 2019-06-03 18:25:32 -07:00
coulsonwang 89ba801628 add compressed format for metal (#19762) 2019-06-03 03:34:28 -07:00
coulsonwang 10b2799051 Feature/fix mipmap issues (#19753)
* fix mipmap

* fix mipmap issues

* remove unneeded code

* fix

* remove Texture2D::PixelFormat, add backend::PixelFormat

* fix lua compile error

* reset *.tps files

* fix compile error

* fix compile error
2019-06-02 18:39:51 -07:00
coulsonwang a67f729610 fix drawNode (#19773) 2019-05-29 19:06:43 -07:00
coulsonwang 8faf4a758f get supported depthStencil pixel format (#19774) 2019-05-28 19:46:55 -07:00
coulsonwang 9b0d36c6a9 [Node::Light] fix no light effects on iPhone6 and iPhone6s (#19751)
* [Node::Light] fix no light effects on iPhone6 and iPhone6s

* add TODO
2019-05-27 22:59:37 -07:00
coulsonwang 000a5e124b fix location (#19764) 2019-05-27 19:14:55 -07:00
minggo 23a21ef298
Remove jsb related (#19729)
* remove jsb related codes
* update 3rd party
2019-05-24 00:00:51 -07:00
coulsonwang a61e408189 set render target flag correcttly (#19730) 2019-05-21 18:53:15 -07:00
coulsonwang 97431b1197 [ParticleSpriteFrameTest] remove getName() in Texture2D (#19740) 2019-05-21 18:49:11 -07:00
minggo 9cb539e0d0
fix base/CMakeLists.txt (#19575) (#19728) 2019-05-17 01:34:49 -07:00
minggo 39a051a58d
use CC_SAFE_DELETE_ARRAY instead of CC_SAFE_DELETE (#19580) (#19727) 2019-05-17 00:42:51 -07:00
coulsonwang 9c0033e1e7 Feature/draw in rect (#19664)
* Texture2D draw in point and draw in rectangle tests work

* optimize code

* fix compile error

* make initProgam() private
2019-05-16 18:14:14 -07:00
coulsonwang 2deea28f49 fix scissor rectangle setting 2019-05-16 13:48:44 +08:00
coulsonwang 2d02e23fbd Feature/update device info (#19712)
* update DeviceInfo

* remove unneeded code

* fix indentation

* add FeatureSet enum for metal

* revert code
2019-05-15 18:26:00 -07:00
coulsonwang 2a0ded38a2 [Texture2D Test17/18] add methods to convert BGRA8888 format (#19716)
* [Texture2D Test17/18] add methods to convert BGRA8888 format

* use size_t and ssize_t when necessary

* fix compile error
2019-05-15 18:17:26 -07:00
minggo a572d088d1
check metal support (#19710) 2019-05-14 01:38:14 -07:00
Arnold 3d314f29ea rename Java_org_cocos2dx_lib_Cocos2dxLuaJavaBridge.* to Cocos2dxLuaJavaBridge.* (#19695) 2019-05-13 17:59:29 -07:00
coulsonwang ac0f9286bf fix lineColor.vert shader (#19684) 2019-05-09 20:30:37 -07:00
coulsonwang cacdc4f140 fix buffer usage (#19685) 2019-05-09 20:30:06 -07:00
Arnold 6dc547080f [cpp-tests] fix fileutils list file, reject empty paths (#19681)
* protect empty string

* enable tests cases
2019-05-08 19:21:25 -07:00
Arnold d6b8e994a4 fix mac retina support (#19672) 2019-05-07 18:07:52 -07:00
Arnold 62dc64a8d1 [cpp-tests] camera3dtests adjust button position (#19673)
* reduce log 1

* fix camera3d test/2 button position
2019-05-07 18:07:37 -07:00
minggo 1a68f6c4b6
Shader precision (#19668) 2019-05-07 00:48:51 -07:00
minggo 70fed45ed8
Merge pull request #19650 from Mee-gu/feature/ReloadBuffer
add methods for reloading buffer data outside the buffer when necessary
2019-05-06 00:39:04 -07:00
Arnold ceb8fa1166
re-run genbindings 2019-05-06 09:52:17 +08:00
Arnold 401ce1ee1c
run genbinding 2019-05-06 09:43:40 +08:00
Arnold 460c9d2edd
rename restore 2019-05-06 09:43:40 +08:00
Arnold 58722a5c3d
fix state block 2019-05-06 09:43:40 +08:00
Arnold 98d5f37a30 fix lua-tests errors (#19646)
* enable test case

* save

* generate enum classes

* save

* autobindg backend interface

* safe

* fix typos

* fix setUniform

* enable draw primitives and fast tmx tiled map

* save all

* update

* fix compile error on mac

* fix locations

* fix locations

* deduce vertexlayout

* clean

* compile on mac

* fix resource path

* save

* update bindings-generator

* remove unused code

* rename ccbackend to ccb

* remove todo
2019-05-05 00:26:34 -07:00
coulsonwang 35951d6952 add private specifier 2019-05-05 14:34:44 +08:00
Arnold 1ac3af6c90 compile & run on linux (#19651) 2019-05-04 19:57:53 -07:00
coulsonwang c97a8a953c add support non-pow of two for metal (#19654) 2019-05-04 19:45:06 -07:00
coulsonwang 7ca39dd08e remove unneeded function and rename function to more readable 2019-04-30 15:19:53 +08:00
coulsonwang 375f52fc87 rename 2019-04-30 13:39:38 +08:00
coulsonwang 8414db94ec make sure to store data once 2019-04-30 11:11:03 +08:00
coulsonwang 5771b4236d add methods for reloading buffer data outside the buffer when necessary 2019-04-30 10:31:22 +08:00
coulsonwang 7ee0b65bb6 [Feature] fix spirte, label test when EGL context lost (#19612)
* [BugFix] fix compile error

* [Feature] fix spirte, label test when EGL context lost

* [Feature] map uniform location

* [Feature] remove unneeded codes

* [Feature] add BufferManager

* [Feature] fix compile error

* [Feature] add files

* [Feature] remove unneeded codes

* [Feature] no need to release opengl resource

* [Feature] update BufferManager

* 1. reCreate frame buffer when needed.
2. initial texture when come back to foreground

* [Feature] add Program and Buffer event listener

* [FixTerrain] need check location had used before

* fix compile error

* add updateTextureDescrptor function for TextureMTL, since TextureMTL creation was move to Texture2D constructor.

* [FixDrawNode] record buffer data when needed

* [FixShaderTest] add nullptr judgement

* [FixShaderText] no need to reCreate ProgramState when come back to foreground

* [FixRenderTexture] retain the render texture image

* [Feature] optimize buffer memory

* fix compile error

* fix CI test fail
2019-04-29 18:51:45 -07:00
John c259918d03 Optimize cases where loop variable is unecessarily copied in a range-for loop. (#19637) (#19640)
Pass by const reference when appropriate.
2019-04-27 18:20:22 -07:00
John d89f1d04b4 remove redundant user-defined copy constructor and destructor, (#19638)
as compiler auto-generated ones are working fine.
2019-04-25 17:59:25 -07:00
John 22a43fbc83 rewrite parseIntegerList with better performance (#19629) 2019-04-21 18:51:23 -07:00
minggo fd792813d2
Optimize calls to std::string::find() and friends (#19624) 2019-04-21 18:44:19 -07:00
minggo 34517748c7
prefer delegate constructor over new(this) (#19623) 2019-04-19 03:20:15 -07:00
minggo e8993c9860
Remove jsb/h5 (#19621)
* remove h5 engine

* remove jsb codes

* remove js tests

* remove js templates and tojs

* remove h5 submodule
2019-04-18 23:56:12 -07:00
minggo 60272f6b88
fix bug that SimpleAudioEngine can not change effect volume (#19605) 2019-04-14 23:52:52 -07:00
CocosRobot 212abc4ea0 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19600) 2019-04-10 18:51:34 -07:00
minggo 62d20a9825
Add clear request and responses method to httpclient (#19598)
* Added functionality to clear pending responses and requests in the http client

* Responses and Requests now are processed in similar way

* Fix for clearing the http requests

* Added tests for HttpClient::clearResponseAndRequestQueue
2019-04-10 18:33:55 -07:00
minggo c3a0205652
ReFix bug: PremultipliedAlpha is not working for png (#19597) 2019-04-10 18:33:26 -07:00
minggo ffcf627c13
Ui video player new style looping input options 2019-04-10 18:33:05 -07:00
minggo 5c29e0066f
Add Android P cutout area support (#19595)
* Add Android P cutout area support
Related #19285

* coding style fix

* Update AppActivity.java

Fix android build

* suppress lint new api errors
2019-04-10 18:32:27 -07:00
minggo f7f0c48cae
Checking, does the touch is within the height of the line, not the height of the sprite? (#19394) (#19594) 2019-04-10 18:32:09 -07:00
minggo 1f7c0c9408
If path to file is tool long crash is possible. (#19593)
* If path to file is tool long crash is possible.

If path to file is tool long crash is possible, because of chart buffer overflow.

* Incorrect replacement. Using iterator is better.

* Style fix

* Correct naming
2019-04-10 18:31:50 -07:00
minggo 0a9e66a16c
Font atlas texture initialization delayed (#19592) 2019-04-10 18:31:29 -07:00
CocosRobot 01b9863723 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19599) 2019-04-10 18:30:29 -07:00
minggo aa8fffa2bf
Only send the ON_PERCENTAGE_CHANGED if and only if the percentage value has actually changed. (#19556) (#19589) 2019-04-10 01:54:07 -07:00
minggo bc1483dca7
Fix memory leak if invoking Texture2D::setAlphaTexture many times. (#19590) 2019-04-10 01:53:29 -07:00
minggo 195dc704e3
[Android] fix FileUtils::listFiles with path 'assets/' 2019-04-10 00:09:30 -07:00
minggo 408f6cf9da
Ability to change title position (#19587) 2019-04-09 23:21:07 -07:00
minggo 86a9e0c1b8
Fix bug: can't play video in obbfile. (#19476) (#19586)
* Fix bug: can't play video in obbfile.

* Change check order.
2019-04-09 22:38:32 -07:00
coulsonwang 5944857936 [MaterialSystemTest] When depth testing is disabled, writes to the depth buffer are also disabled. No need to do depth test in such case. (#19582) 2019-04-08 18:56:05 -07:00
Arnold 3bf5e84926 [bugfix] cpp-test small bugs (#19574) 2019-04-04 01:13:17 -07:00
Arnold fe14fcd4de [bugfix] fix test case crash (#19573)
* fix depthstencil buffer format

* fix crash
2019-04-03 18:41:17 -07:00
Arnold 9a56e6923f [bugfix] motionstreak & DrawNode3D on GL (#19564) 2019-04-03 02:27:15 -07:00
coulsonwang 4f81cd7356 [BugFix] EVENT_PROJECTION_CHANGED means trigger an event when projection type is changed instead of when projection matrix is changed. (#19568) 2019-04-02 18:30:49 -07:00
Arnold 6452d5faec [bugfix] enable depth test for all commands in 3d queue (#19565)
* save states

* save bits

* include deque

* remove 2d default states

* remove unsused flags
2019-04-02 00:47:55 -07:00
Arnold d6614cc0da [bugfix] fix label effects (#19554) 2019-04-01 23:56:29 -07:00
Arnold 45183919e9 [windows] use PostMessage to replace SendMessage (#19567)
* make async

* use post message
2019-04-01 23:41:38 -07:00
coulsonwang 688592b175 [Feature] fix mipmap issues (#19519) 2019-04-01 19:20:30 -07:00
coulsonwang bb60c173a1 add a flag to determine if need depth/stencil attachment 2019-04-01 19:05:53 -07:00
coulsonwang 147c564492 Feature/fix capture node (#19560)
* [Feature] fix capture multi-node

* [Feature] remove unused code
2019-03-28 19:32:13 -07:00
coulsonwang 15b8014c0b [BugFix] set layout (#19558) 2019-03-27 18:22:28 -07:00
coulsonwang d92ae4b478 [Feature] CaptureScreen works (#19547) 2019-03-27 18:09:26 -07:00
Arnold 6c4c80d977
set terrain winding to CW (#19549) 2019-03-27 13:59:10 +08:00
CocosRobot d453af8fe5 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19550) 2019-03-25 23:12:59 -07:00
Arnold aa54a6c576 enable shader tests (#19546) 2019-03-25 22:45:03 -07:00
coulsonwang 39c6359ec0 remove poll events in application loop 2019-03-25 20:01:32 -07:00
coulsonwang 4f63cc5459 [Feature] fix CaptureNode (#19539) 2019-03-24 19:23:55 -07:00
CocosRobot 6f05e57761 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19544) 2019-03-24 19:19:01 -07:00
minggo 6067d62341
adapt ClippingNodeTest (#19528) 2019-03-24 19:08:49 -07:00
Arnold 3a1b6f28b6 fix default FrontFace & Skybox DepthFunc (#19540) 2019-03-24 19:08:04 -07:00
CocosRobot b88f8e5062 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19535) 2019-03-20 14:44:46 +08:00
Arnold e1675ae67b Enable navmesh (#19530)
* enable flags

* impl debug draw

* run tests

* remove comments

* fix mac compile error

* review fix
2019-03-20 14:34:35 +08:00
minggo 63fdb2adf1
Merge pull request #19532 from PatriceJiang/fix_todos
remove todos
2019-03-20 14:34:03 +08:00
Arnold 6e063330e0
remove todos 2019-03-20 09:45:09 +08:00
CocosRobot#Set 9b567b2261 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically 2019-03-20 01:41:18 +00:00
patricejiang de13d1b240
fix confliction 2019-03-19 10:44:44 +08:00
patricejiang 82bbeb9b87
merge metal-support 2019-03-19 10:30:15 +08:00
minggo cb9cf672a1
Merge pull request #19517 from PatriceJiang/3d-material-test-cases
Enable material system test cases
2019-03-19 09:46:46 +08:00
minggo 8452b55b82
Merge pull request #19513 from Mee-gu/feature/AddDeviceInfo
Feature/add device info
2019-03-19 09:24:18 +08:00
coulsonwang 0825386827 fix compile error 2019-03-18 16:08:25 +08:00
Arnold 98fa7af850
fix linux compile error 2019-03-18 14:54:35 +08:00
patricejiang 926e49caf6
fix luabindings 2019-03-18 11:36:32 +08:00
patricejiang 811b66b51e
fix doc of ProgramState::AutoBindingResolver 2019-03-18 10:31:56 +08:00
patricejiang bfd390af35
auto generate luabindings 2019-03-18 10:30:11 +08:00
Arnold be579d1c4c
add doc 2019-03-18 09:41:14 +08:00
Arnold e211fd4e61
fix index 2019-03-18 09:35:36 +08:00
Arnold 40304860e6
Apply suggestions from code review 2019-03-18 09:33:43 +08:00
Arnold 5146fa3c93
Update cocos/renderer/backend/Types.cpp 2019-03-15 17:28:57 +08:00
Arnold e46e286a18
fix hash function 2019-03-15 17:19:04 +08:00
Arnold 4b5121c70b
Update cocos/renderer/backend/Types.cpp 2019-03-15 17:10:31 +08:00
Arnold c8324db21e
move compiletimedefinations to a sperate func 2019-03-15 16:43:46 +08:00
Arnold e77edfddf5
Update cocos/renderer/CCCustomCommand.h 2019-03-15 15:44:43 +08:00
Arnold c1ba0d866b
remove comments 2019-03-15 15:09:39 +08:00
Arnold e3385e0e58
revert binding 2019-03-15 14:51:33 +08:00
patricejiang 7280457fbb
add callback uniform to metal 2019-03-15 14:44:28 +08:00
patricejiang 9f55e8ee7b
fix macosx compile error 2019-03-15 14:44:28 +08:00
Arnold d75c2f3c5e
add uniform callback 2019-03-15 14:44:28 +08:00
Arnold c35c4e2347
fix ccpass 2019-03-15 14:41:59 +08:00
Arnold 069800b98c
enable test case 2019-03-15 14:41:59 +08:00
coulsonwang 3a3924f76f [Feature] fix CI test fail 2019-03-15 11:13:40 +08:00
CocosRobot#Set 16b2649ba2 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically 2019-03-15 02:48:36 +00:00
minggo 629eebd031
Merge pull request #19498 from PatriceJiang/texture_setTexParams
Texture2D::TexParams fields use backend enum types
2019-03-15 10:43:52 +08:00
coulsonwang ca93a8ba7d [Feature] fix indentation 2019-03-14 16:13:38 +08:00
coulsonwang ff6141559d [Feature] add file 2019-03-14 15:59:51 +08:00
coulsonwang b2387f13de [Feature] add DeviceInfo for querying implementation limits. 2019-03-14 15:58:55 +08:00
Arnold 7fcdf544e7
Update cocos/renderer/backend/Types.h 2019-03-14 11:00:21 +08:00
Arnold de77133821
Update cocos/renderer/CCTexture2D.cpp 2019-03-14 10:59:37 +08:00
minggo 2be80438a6
Merge pull request #19510 from Mee-gu/feature/UpdateTerrain
[Feature] add dummy texture for metal when lightMap is nullptr
2019-03-14 10:52:01 +08:00
minggo 63fde51dc8
Merge pull request #19508 from Mee-gu/feature/UpdateParticle3D
[BugFix] fix particle3D
2019-03-13 18:01:25 +08:00
minggo b91d6171c7
Merge pull request #19488 from Mee-gu/feature/UniformAlignment
[Feature] fix uniform filled in metal
2019-03-13 17:32:35 +08:00
coulsonwang df3637538a [Feature] add dummy texture for metal when lightMap is nullptr 2019-03-13 16:05:02 +08:00
minggo f5380f8efe
Merge pull request #19506 from minggo/rectangleclipping
ClippingRectangleNode works
2019-03-13 15:50:31 +08:00
Arnold 620027c54a
fix comments 2019-03-13 15:42:12 +08:00
Arnold eb771312f5
fix lua compile 2019-03-13 15:34:32 +08:00
minggo 7bae208166
Merge pull request #19505 from minggo/fix-todo
Fix todo
2019-03-13 15:24:49 +08:00
coulsonwang 8e6416bf87 [BugFix] fix particle3D 2019-03-13 15:12:36 +08:00
Arnold fb29eefda6
add setVertexLayout interface 2019-03-13 15:06:30 +08:00
minggo 1d9bde0520 ClippingRectangleNode works 2019-03-13 14:27:47 +08:00
minggo 7ebea45168 fix some todo 2019-03-13 14:11:40 +08:00
minggo 2795427a38 fix todo in CCGrid.cpp 2019-03-13 11:25:46 +08:00
Arnold 1d0107c087
alias backend::SamplerDescriptor 2019-03-13 10:54:26 +08:00
CocosRobot#Set 0ee2dc8c78 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically 2019-03-13 02:14:20 +00:00
coulsonwang 5d5eaf4be1 [feature] fix android compile error 2019-03-13 10:10:15 +08:00
patricejiang 53975ee428
fix android error 2019-03-13 09:56:29 +08:00
coulsonwang a8e54b9b53 [Feature] update attribute setting 2019-03-12 21:05:03 +08:00
Arnold fb87eec3f5
remove texture2d::setSamplerDescriptor 2019-03-12 18:59:12 +08:00
Arnold 70b9031714
fix wrapping 2019-03-12 17:03:01 +08:00
patricejiang 58c40c1cc6
fix android compile error 2019-03-12 16:53:28 +08:00
Arnold 62c6eae7c3
change Texture2D::TexParams fields type 2019-03-12 16:53:28 +08:00
Arnold 475b6e63a5 [bugfix] ClippingNode & CameraBackgroundBrush render order (#19496)
* add groupcommand as a barrier to reorder clipping node renderring

* add comments
2019-03-12 15:41:32 +08:00
coulsonwang d4375db34f [Feature] use glslopt_basic_type 2019-03-12 15:35:42 +08:00
coulsonwang 605975bfa0 [Feature] use references and rename the structure to a more meaningful name 2019-03-12 14:18:16 +08:00
coulsonwang c17d361e50 [Feature] float3 etc in Metal has both sizeof and alignment same as float4, need convert to correct laytout 2019-03-12 11:10:57 +08:00
Arnold a384e38e16 [bugfix] GL vertex attribute layout incorrect (#19484)
* collect OpenGL enum convertion methods

* add testcase for lots of nots

* fix andorid compile error

* move more function to UtilsGL

* use shared pointer

* naming stuff

* move VertexLayouts to CommandBuffer

* fix android compile error

* fix android headers

* add comment

* add comment, fix
2019-03-12 10:37:52 +08:00
coulsonwang 7c6a01affb [Feature] fix uniform filled in metal 2019-03-11 20:52:23 +08:00
Arnold 64f3f1d356 ProgressTimer cache uniforms (#19482)
* cache uniform

* release fix

* reorder vertex attributes
2019-03-11 10:15:33 +08:00
coulsonwang c5c6fa3396 Feature/update sprite3 d test (#19475)
* [BugFix] fix crashed test in metal

* [Feature] add comments

* [Feature] modify ways to get max_vertex_attribute

* [Feature] make it crashed in debug mode
2019-03-08 18:48:12 +08:00
minggo 4854f1c3e7
make travis work (#19478)
* make travis work

* don't compile ios as needing team id
2019-03-08 15:24:47 +08:00
Arnold 0f1e70ac8b [bugfix] add mesh command callbacks (#19477) 2019-03-08 11:06:03 +08:00
minggo e63c4d1ba6
make lua binding work (#19474) 2019-03-07 18:29:06 +08:00
Arnold 8caade49e6 [3d] add meshcommand (#19472) 2019-03-07 17:30:11 +08:00
coulsonwang e69e7e0b30 [Feature] support cubeMapping in metal (#19469) 2019-03-07 11:08:12 +08:00
Arnold f7496948fd [3d] support particle3d (#19464)
* first commit

* fix matrix

* remove used comments

* fix compile error on mac

* self review fix 1

* litte refactor

* use reference:
2019-03-06 17:03:16 +08:00
coulsonwang 776ab98e0b [BugFix] fix fill UnifromBuffer issues (#19462) 2019-03-05 11:19:52 +08:00
coulsonwang c18564cc44 fix depth/stencil validation failed in iPhoneX (#19458) 2019-03-04 15:09:34 +08:00
Arnold 3a55fa3dd6 [3d] add CameraBackgroundBrush (#19454) 2019-03-04 09:14:45 +08:00
Arnold b4f2ed0376 [3d] Sprite3DTest enable test cases (#19447) 2019-02-28 15:20:23 +08:00
minggo a6be522601
make hello lua work 2019-02-28 11:17:05 +08:00
Arnold 7fd82997ef [3d] terrain impl & test case (#19442) 2019-02-27 17:16:25 +08:00
coulsonwang f4170ea89a [Feature] set default scissor rectangle for metal when scissor test disabled (#19441) 2019-02-27 15:02:28 +08:00
coulsonwang cba56e5da7 Feature/save image issue (#19435) 2019-02-27 11:29:20 +08:00
minggo 301b6c5028
skeleton node adaption (#19434) 2019-02-26 14:57:12 +08:00
minggo 1e7a6f7fcf
Issue19416 (#19427)
* use more meaningful names

* remove unneeded types
2019-02-22 14:06:26 +08:00
minggo 2ed60f72cf
Remove gl codes (#19415) 2019-02-20 17:07:31 +08:00
Arnold edf3687af5 [3d] add motionstreak3d (#19414) 2019-02-20 16:56:35 +08:00
minggo 06d7e4eda7
remove CCGLProgram related files (#19408)
* remove CCGLProgram related files

* remove CCGLProgram related header files
2019-02-19 16:06:17 +08:00
Arnold bfc98c6f21 [3d] add billboard (#19407) 2019-02-19 14:56:21 +08:00
minggo 480d964039
removed duplicated shaders (#19406) 2019-02-19 11:57:13 +08:00
Arnold fd1d5d2dd7 [3D] texture cubemap GL & skybox (#19401) 2019-02-19 10:15:24 +08:00
Arnold 512a5f12c1 fix compile error (#19403) 2019-02-18 14:54:12 +08:00
coulsonwang fecac0c02c fix memory leak (#19402) 2019-02-18 13:42:11 +08:00
Arnold 483e96147f [3D] ccpass restore renderer states (#19396)
* save matrix

* save more states
2019-02-15 17:39:02 +08:00
Arnold 8be2a2053f
sync 3d support code (#19392)
* Sprite3D
* DrawNode3D
* active more Sprite3DTest
2019-02-15 14:30:10 +08:00
coulsonwang 193e37a0e0 [BugFix] fix FBO memory issues (#19387) 2019-02-13 10:13:46 +08:00
coulsonwang 6c0e80c954 [Feature] fix android compile error (#19380) 2019-02-13 09:10:22 +08:00
minggo 37b3d04f8d
some fix for gl backend (#19379) 2019-01-31 18:04:30 +08:00
Arnold 5ddf2b7d45
fix android include headers (#19376) 2019-01-31 17:17:14 +08:00
coulsonwang 3d0da9a7ac [Feature] caching render pipeline (#19375)
* [Feature] caching render pipeline

* [BugFix] release render pipeline
2019-01-31 16:31:09 +08:00
coulsonwang 03bb089bfe [Feature] remove unnecessary alloc (#19373) 2019-01-30 23:21:32 +08:00
coulsonwang 64dd7d381f [Feature] fix memory leaks on ClippingNode (#19371) 2019-01-30 18:14:25 +08:00
minggo c78a109bdd
Performance improve (#19370)
* don't set mvp projection every frame

* pretify codes
2019-01-30 17:54:48 +08:00
coulsonwang 2eef8cdbb9 [Feature] Cache RenderCommandEncoder (#19367)
cache render pipeline to improve performance
2019-01-30 14:14:15 +08:00
Arnold fe497933f8 3d support: some test cases works
* hack to make sprite3d test work

* support cull face

* support setting front face winding

* convert depth compare function type

* clean codes

* remove usage of glprogramstate

* pass needed information to Material::draw()

* add 3d textures

* enable animation

* 3D: compile on windows  (#179)

* exclude source files from extensions/

* enable assets and 3D

* run on windows

* update comments

* use std::vector instead of raw pointer void *

* compile on mac

* revert cmake

* fix bufferdata

* add todos

* remove dirty flag from uniform buffer

* argument type const &

* enable more tests

* update shader

* save: failed to compile

* pass compilation

* fix type convert

* save stage

* save stage 2

* remove VertexData & IndexBuffer & VertexBuffer

* comment out _meshCommand

* comment bindPredefinedVertexAttribs()

* fix xcode project file

* simple refactor

* remove unused files

* revert sprite3d testcase position

* revert change

* remove ProgramGL::bindPredefinedVertexAttribs()

* add header <string>

* fix uniform size
2019-01-30 09:35:17 +08:00
coulsonwang fd4589fd68 [BugFix] update drawing information (#19355) 2019-01-25 09:51:40 +08:00
minggo d88fe68bd1
Memory leak (#19358) 2019-01-25 09:20:07 +08:00
coulsonwang 66b0139e39 [BugFix] set the correct depthStencil state (#19356) 2019-01-24 18:31:51 +08:00
minggo 2d0fc63ac6
fix bug when dynamic buffer stop updating data(#19351)
* fix warnings

* fix bug when dynamic buffer stop updating data
2019-01-24 15:56:59 +08:00
coulsonwang 28a453e49d update ui_Grag.frag (#19344)
* update ui_Grag.frag

* [Feature] fix indent
2019-01-23 17:54:24 +08:00
coulsonwang f54f5075e6 [BugFix] enable BlendState (#19342)
* [BugFix] enable BlendState

* [Feature] remove virtual and set it as a protected function
2019-01-23 17:48:17 +08:00
coulsonwang 27724aa4c5 [BugFix] set the correct bufferSize for unifromInfo (#19343) 2019-01-23 17:42:58 +08:00
leda 4f0ef25c6f sync cmake changes into metal-support (#19335)
* sync #19327

* sync #19329
2019-01-23 09:55:55 +08:00
coulsonwang 5c3a6d0ddb [BugFix] clear AttributeInfo vector since vertex layout info may change for different scenarios (#19330) 2019-01-22 10:50:36 +08:00
minggo 8d9bd925c9
metal support for cocos2d-x (#19305)
* remove deprecated files

* remove some deprecated codes

* remove more deprecated codes

* remove ui deprecated codes

* remove more deprecated codes

* remove deprecated codes in ccmenuitem

* remove more deprecated codes in ui

* remove more deprecated codes in ui

* remove more deprecated codes in ui

* remove more deprecated codes

* remove more deprecated codes

* remove more deprecated codes

* remove vr related codes and ignore some modules

* remove allocator

* remove some config

* 【Feature】add back-end project file

* [Feature] add back-end file

* add pipeline descriptor and shader cache

* [Feature] support sprite for backend

* [Feature] remove unneeded code

* [Feature] according to es2.0 spec, you must use clamp-to-edge as  texture wrap mode, and no mipmapping for non-power-of-two texture

* [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture

* [Feature] remove macro define to .cpp file

* [Feature] add log info

* [Feature] add PipelineDescriptor for TriangleCommand

* [Feature] add PipelineDescriptor object as member of TriangleCommand

* [Feature] add getPipelineDescriptor method

* add renderbackend

* complete pipeline descriptor

* [Feature] add viewport in RenderCommand

* set viewport when rendrering

* [Feature] occur error when using RendererBackend, to be fixed.

* a workaround to fix black screen on macOS 10.14 (#19090)

* add rendererbackend init function

* fix typo

* [Feature] modify testFile

* [BugFix] modify shader path

* [Feature] set default viewport

* fix projection

* [Feature] modify log info

* [BugFix] change viewport data type to int

* [BugFix] add BindGroup to PipelienDescriptor

* [BugFix] change a_position to vec3 in sprite.vert

* [BugFix] set vertexLayout according to V3F_C4B_T2F structure

* [Feature] revert a_position to vec4

* [Feature] renderer should not use gl codes directly

* [Feature] it's better not use default value parameter

* fix depth test setting

* rendererbackend -> renderer

* clear color and depth at begin

* add metal backend

* metal support normalized attribute

* simplify codes

* update external

* add render pass desctriptor in pipeline descriptor

* fix warnings

* fix crash and memeory leak

* refactor Texture2D

* put pipeline descriptor into render command

* simplify codes

* [Feature] update Sprite

* fix crash when closing app

* [Feature] update SpriteBatchNode and TextureAtlas

* support render texture(not finish)

* [Feature] remove unused code

* make tests work on mac

* fix download-deps path error

* make tests work on iOS

* [Feature] support ttf under normal label effect

* refactor triangle command processing

* let renderer handle more common commands

* refactor backend

* make render texture work

* [Feature] refactor backend for GL

* [Feature]Renaming to make it easy to understand

* [Feature] change warp mode to CLAMP_TO_EDGE

* fix ghost

* simplify visit render queue logic

* support progress timer without rial mode

* support partcile system

* Feature/update label (#149)

* [BugFix] fix compile error

* [Feature] support outline effect in ios

* [Feature] add shader file

* [BugFix] fix begin and end RenderPass

* [Feature] update CustomCommand

* [Feature] revert project.pbxproj

* [Feature] simplify codes

* [BugFix] pack AI88 to RGBA8888 only when outline enable

* [Feature] support shadow effect in Label

* [Feature] support BMFont

* [Feature] support glow effect

* [Feature] simplify shader files

* LabelAtlas work

* handle blend function correctly

* support tile map

* don't share buffer in metal

* alloc buffer size as needed

* support more tilemap

* Merge branch 'minggo/metal-support' into feature/updateLabel

* minggo/metal-support:
  support tile map
  handle blend function correctly
  LabelAtlas work
  Feature/update label (#149)
  support partcile system

# Conflicts:
#	cocos/2d/CCLabel.cpp
#	cocos/2d/CCSprite.cpp
#	cocos/2d/CCSpriteBatchNode.cpp
#	cocos/renderer/CCQuadCommand.cpp
#	cocos/renderer/CCQuadCommand.h

* render texture work without saving file

* use global viewport

* grid3d works

* remove grabber

* tiled3d works

* [BugFix] fix label bug

* [Feature] add updateSubData for buffer

* [Feature] remove setVertexCount

* support depth test

* add callback command

* [Feature] add UITest

* [Feature] update UITest

* [Feature] remove unneeded codes

* fix custom command issue

* fix layer color blend issue

* [BugFix] fix iOS compile error

* [Feature] remove unneeded codes

* [Feature] fix updateVertexBuffer

* layerradial works

* add draw test back

* fix batch issue

* fix compiling error

* [BugFix] support ETC1

* [BugFix] get the correct pipelineDescriptor

* [BugFix]  skip draw when backendTexture nullptr

* clipping node support

* [Feature] add shader files

* fix stencil issue in metal

* [Feature] update UILayoutTest

* [BugFix] skip drawing when vertexCount is zero

* refactor renderer

* add set global z order for stencil manager commands

* fix warnings caused by type

* remove viewport in render command

* [Feature] fix warnings caused by type

* [BugFix] clear vertexCount and indexCount for CustomComand when needed

* [Feature] update clear for CustomCommand

* ios use metal

* fix viewport issue

* fix LayerColorGradient crash

* [cmake] transport to android and windows (#160)

* save point 1

* compile on windows

* run on android

* revert useless change

* android set CC_ENABLE_CACHE_TEXTURE_DATA to 1

* add initGlew

* fix android crash

* add TODO new-renderer

* review update

* revert onGLFWWindowPosCallback

* fix android compiling error

* Impl progress radial (#162)

* progresstimer add radial impl

* default drawType to element

* dec invoke times of createVertexBuffer (#163)

* support depth/stencil format for gl backend

* simplify progress timer codes

* support motionstreak, effect is wrong

* fix motionstreak issue

* [Feature] update Scissor Test (#161)

* [Feature] update Scissor Test

* [Feature] update ScissorTest

* [Feature] rename function

* [Feature] get constant reference if needed

* [Feature] show render status (#164)

* improve performance

* fix depth state

* fill error that triangle vertex/index number bigger than buffer

* fix compiline error in release mode

* fix buffer conflict between CPU and GPU on iOS/macOS

* Renderer refactor (#165)

* use one vertes/index buffer with opengl

* fix error on windows

* custom command support index format config

* CCLayer: compact vertex data structure

* update comment

* fix doc

* support fast tilemap

* pass index format instead

* fix some wrong effect

* fix render texture error

* fix texture per-element size

* fix texture format error

* BlendFunc type refactor, GLenum -> backend::BlendFactor  (#167)

* BlendFunc use backend::BlendFactor as inner field

* update comments

* use int to replace GLenum

* update xcode project fiel

* rename to GLBlendConst

* add ccConstants.h

* update xcode project file

* update copyright

* remove primitive command

* remove CCPrimitive.cpp/.h

* remove deprecated files

* remove unneeded files

* remove multiple view support

* remove multiple view support

* remove the usage of frame buffer in camera

* director don't use frame buffer

* remove FrameBuffer

* remove BatchCommand

* add some api reference

* add physics2d back

* fix crash when close app on mac

* improve render texture

* fix rendertexture issue

* fix rendertexture issue

* simplify codes

* CMake support for mac & ios (#169)

* update cmake

* fix compile error

* update 3rd libs version

* remove CCThread.h/.cpp

* remove ccthread

* use audio engine to implement simple audio engine

* remove unneeded codes

* remove deprecated codes

* remove winrt macro

* remove CC_USE_WIC

* set partcile blend function in more elegant way

* remove unneeded codes

* remove unneeded codes

* cmake works on windows

* update project setting

* improve performance

* GLFloat -> float

* sync v3 cmake improvements into metal-support (#172)

* pick: modern cmake, compile definitions improvement (#19139)

* modern cmake, use target_compile_definitions partly

* simplify macro define, remove USE_*

* modern cmake, macro define

* add physics 2d macro define into ccConfig.h

* remove USE_CHIPMUNK macro in build.gradle

* remove CocosSelectModule.cmake

* shrink useless define

* simplify compile options config, re-add if necessary

* update external for tmp CI test

* un-quote target_compile_options value

* add "-g" parameter only when debug mode

* keep single build type when generator Xcode & VS projecy

* update external for tmp CI tes

* add static_cast<char>(-1), fix -Wc++11-narrowing

* simplify win32 compile define

* not modify code, only improve compile options

# Conflicts:
#	.gitignore
#	cmake/Modules/CocosConfigDepend.cmake
#	cocos/CMakeLists.txt
#	external/config.json
#	tests/cpp-tests/CMakeLists.txt

* modern cmake, improve cmake_compiler_flags (#19145)

* cmake_compiler_flags

* Fix typo

* Fix typo2

* Remove chanages from Android.mk

*  correct lua template cmake build (#19149)

* don't add -Wno-deprecated into jsb target

* correct lua template cmake build

* fix win32 lua template compile error

* prevent cmake in-source-build friendly (#19151)

* pick: Copy resources to "Resources/" on win32 like in linux configuration

* add "/Z7" for cpp-tests on windows

* [cmake] fix iOS xcode property setting failed (#19208)

* fix iOS xcode property setting failed

* use search_depend_libs_recursive at dlls collect

* fix typo

* [cmake] add find_host_library into iOS toolchain file (#19230)

* pick: [lua android] use luajit & template cmake update (#19239)

* increase cmake stability ,  remove tests/CMakeLists.txt (#19261)

* cmake win32 Precompiled header (#19273)

* Precompiled header

* Fix

* Precompiled header for cocos

* Precompiled header jscocos2d

* Fix for COCOS2D_DEBUG is always 1 on Android (#19291)

Related #19289

* little build fix, tests cpp-tests works on mac

* sync v3 build related codes into metal-support (#173)

* strict initialization for std::array

* remove proj.win32 project configs

* modern cmake, cmake_cleanup_remove_unused_variables (#19146)

* Switch travis CI to xenial (#19207)

* Switch travis CI to xenial

* Remove language: android

* Set language: cpp

* Fix java problem

* Update sdkmanager

* Fix sdkmanger

* next sdkmanager fix

* Remove xenial from android

* revert to sdk-tools-{system}-3859397

* Remove linux cmake install

* Update before-install.sh

* Update .travis.yml

* Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212)

* Simplify install-deps-linux.sh

* Cleanup

* pick: install ninja

* update cocos2d-console submodule

* for metal-support alpha release, we only test cpp

* add HelloCpp into project(Cocos2d-x) for tmp test

* update extenal metal-support-4

* update uniform setting

* [Feature] update BindGroup

* [Feature] empty-test

* [Feature] cpp-test

* [Feature] fix GL compiler error

* [Feature] fix GL crash

* [Feature] empty-test

* [Feature] cpp-tests

* [feature] improve frameRate

* [feature] fix opengl compile error

* [feature] fix opengl compile error

* [BugFix] fix compute maxLocation error

* [Feature] update setting unifrom

* [Feature] fix namespace

* [Feature] remove unneeded code

* [Bugfix] fix project file

* [Feature] update review

* [texture2d] impl texture format support  (#175)

* texture update

* update

* update texture

* commit

* compile on windows

* ddd

* rename

* rename methods

* no crash

* save gl

* save

* save

* rename

* move out pixel format convert functions

* metal crash

* update

* update android

* support gles compressed texture format

* support more compress format

* add more conversion methods

* ss

* save

* update conversion methods

* add PVRTC format support

* reformat

* add marco linux

* fix GL marcro

* pvrtc supported only by ios 8.0+

* remove unused cmake

* revert change

* refactor Texture2D::initWithData

* fix conversion log

* refactor Texture2D::initWithData

* remove some OpenGL constants for PVRTC

* add todo

* fix typo

* AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174)

* review cpp-tests, and fix part issues on start auto test

* sync png format fix: Node:Particle3D abnormal texture effects #19204

* fix cpp-tests SpritePolygon crash, wrong png format (#19170)

* fix wrong png convert format from sRGB to Gray

* erase plist index if all frames was erased

* test_A8.png have I8 format, fix it

* [CCSpriteCache] allow re-add plist & add testcase (#19175)

* allow re-add plist & add testcase

* remove comments/rename method/update testcase

* fix isSpriteFramesWithFileLoaded & add testcase

* remove used variable

* remove unused variable

* fix double free issues when js/lua-tests exit on iOS (#19236)

* disable part cases, AutoTest works without crash on mac

* update cocos2dx files json, to test cocos new next

* fix spritecache plist parsing issue (#19269)

* [linux] Fix FileUtils::getContents with folder (#19157)

* fix FileUtils::getContents on linux/mac

* use stat.st_mode

* simplify

* [CCFileUtils] win32 getFileSize (#19176)

* win32 getFileSize

* fix stat

* [cpp test-Android]20:FileUtils/2 change title (#19197)

* sync #19200

* sync #19231

* [android lua] improve performance of lua loader (#19234)

* [lua] improve performance of lua loader

* remove cache fix

* Revert "fix spritecache plist parsing issue (#19269)"

This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf.

* remove win32 project files ref in template.json

* add metal framework lnk ref into cpp template

* test on iOS, and disable part cases

* alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227)

* changes AudioCache to use alBufferData instead of alBufferDataStatic

(also makes test 19 faster to trigger openal bugs faster)

The original problem: CrashIfClientProvidedBogusAudioBufferList
https://github.com/cocos2d/cocos2d-x/issues/18948
is not happening anymore, but there's still a not very frequent issue
that makes OpenAL crash with a call stack like this.
AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList

It happes more frequently when the device is "cold", which means after
half an hour of not using the device (locked).

I could not find the actual source code for iOS OpenAL, so I used the
macOS versions:
https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html

They seem to use CAGuard.h to make sure the dead buffer list
has no threading issues. I'm worried because the CAGuard code I found
has macos and win32 define but no iOS, so I'm not sure. I guess the
iOS version is different and has the guard.

I could not find a place in the code that's unprotected by the locks
except the InitializeBufferMap() which should not be called more than
once from cocos, and there's a workaround in AudioEngine-impl for it.

I reduced the occurence of the CleanUpDeadBufferList crash by moving
the guard in ~AudioCache to cover the alDeleteBuffers call.

* remove hack method "setTimeout" on audio

* AutoTest works on iOS

* support set ios deployment target for root project

* enable all texture2d cases, since Jiang have fixed

* add CCTextureUtils to xcode project file (#176)

* add leak cases for SpriteFrameCache (#177)

* re-add SpriteFrameCache cases

* update template file json

* Update SpriteFrameCacheTest.cpp

* fix compiling error
2019-01-18 15:08:25 +08:00
minggo fb53420b54
reduce cleanning clear buffer times (#19131) 2018-10-24 16:00:33 +08:00
Arnold 6da19d5eaf cache PhysicsJoint* attributes before PhysicsWorld update (#19108)
* use cache

* add unlikely

* fix pbxproj file

* remove unused methods
2018-10-19 18:11:50 +08:00
pyrosphere 411bd0934e Fix project warnings (#19126)
- Update cocos2d_libs Xcode project and turn on recommended warnings
- Fix `int` string formatting using "%zd" instead of "%d"
- Fix loop over reference to avoid object copy
2018-10-19 18:09:31 +08:00
Arnold d63f554bf2 CCLabel: fix fontName attribute (#19095)
* add  method for FontAtlas

* break empty font

* reduce string constrution
2018-10-18 09:00:23 +08:00
Arnold 7770234367 SpriteFrameCache: keep plist filenames when trying to remove sprite (#19083) 2018-10-16 17:06:21 +08:00
CocosRobot d1e6b8ace9 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19123) 2018-10-16 17:01:07 +08:00
Arnold 19c9e922eb cocos2d::JniHelper::* long type convert error (#19101)
* fix type

* remove redundant
2018-10-16 17:00:33 +08:00
Tai-Yuan Kuo 05ae5f7e83 Replace binary_funciton for C++17 Support (#19117) 2018-10-16 16:51:54 +08:00
Arnold b70a6a6def [physics] add pre/post callback in `update()` (#19118)
* add physics update pre/post callback

* update space

* run before simulation
2018-10-16 16:37:51 +08:00
leda 48cce75be4
remove un-elegant prebuilt feature in cmake (#19109)
* remove unclearly cmake prebuilt feature

* reduce useless code

* add project info print
2018-10-12 12:36:17 +08:00
Arnold 1ceb222c7f concat path error (#19075)
when trying to remove dir `test0`, the function will build a pattern
like `"test0*.*"` rather than `test0/*.*`
2018-10-08 11:51:36 +08:00
Arnold 11339c4545 CCConsole: remove fd from _read_set when it is closed by client. (#19066)
* CCConsole: remove fd from _read_set when it is closed by client.

* simplify code

* remove comment
2018-10-08 11:50:28 +08:00
Arnold c61e45103c LUA: cc.downloader binding (#19078) 2018-10-08 10:42:24 +08:00
CocosRobot a59519a4ef [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19082) 2018-09-28 23:38:04 -07:00
gestern 085ae2603f Fix several bugs with button's title (#19073)
* Fix several bugs with button's title:
(a)when using setTitleLabel() the button didn't resolve the corresponded parameters;
(b)bug with measurement accuracy (ignores the fractional part) of the system font and ttf-fonts sizes;
(c)bug with the size of the button title (by default) did not match the value size of the label's typeface;
(d)removes high coupling the typeface parameters of button because it already contains the used label

* Hotfix to call parent `Widget::init()`
2018-09-28 23:26:58 -07:00
dingdekai ebc32043ea [android] fix crash when point JNIEnv is a nullptr in getStringUTFCharsJNI func. (#19079) 2018-09-28 22:58:06 -07:00
leda 98120fb9d8
refactor cmake on use libs (#19054)
* link external build by modern cmake

* use "--whole-archive" for part android spec

* update travis

* update CI, add cmake tests on win32
2018-09-24 20:16:04 -07:00
CocosRobot a504c54a05 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19068) 2018-09-21 10:03:47 +08:00
Arnold 6ea37d4c9d [linux] CCFileUtils::isFileExistInternal should reject a folder (#19062)
* accept regular file only

* simplify code
2018-09-21 10:02:19 +08:00
AIGRIND a6530a5aca Correct last delta time (#18898)
If next delta time was zeroed (via setNextDeltaTimeZero) the last update time was not corrected.
2018-09-20 18:03:30 +08:00
Billy O'Neal 6a52b3ff4a Add missing <functional> header which the standard requires and will be necessary to use std::function in VS2019. (#18989) 2018-09-20 17:49:15 +08:00
Arnold b170daf9d8 fix wrong parameter (#19060) 2018-09-20 15:19:10 +08:00
Arnold 53bed4fda3 DrawNode add isolate flag (#19056)
* add isolate flag

* add comment for DrawNode::visit

* add modifier: const/virtual

* update comment & change initializer
2018-09-20 15:18:03 +08:00
Arnold f8ed20e4b3 Android: CCFileUtils listFiles impl (#19044) 2018-09-19 18:05:16 +08:00
ggggamer 7d840ac6e1 CameraBackgroundDepthBrush should handle opengl recreate event. (#19037) 2018-09-18 09:14:27 +08:00
CocosRobot 16126f2571 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19052) 2018-09-17 12:33:20 +08:00
leda e0210bd870
shorten the android build path, reduce long path error (#19045)
* remove import-add-path

* add module path into gradle

* modify PROP_BUILD_TYPE to ndk-build for tmp test

* import-module uv into ndk-build scripts

* part lib rename in Android.mk

* fix build path error on Lua&JS test project

* shorten all libs name, except external libs related

* "_static" suffix isn't necessary, since all internal build is static

* little catch

* re-change to cmake as default build type

* add both build type into Travis for android

* update external libs name

* fix gradlew cmd error

* update external config
2018-09-17 11:54:39 +08:00
Arnold f352225f14 CCFileUtils: improve thread safety (use single recursive_mutex) (#19046)
* CCFileUtils: add const modifier

* mac: add const

* android: add const

* use recursive_mutex

* win: add const modifier

* mac: revert

* android: add const

* rename __guard__ to mutexGuard
2018-09-17 10:47:41 +08:00
Arnold 3cad2a85d4 remove assert (#19047) 2018-09-17 10:21:43 +08:00
CocosRobot 2c37cc5ac6 [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#19048) 2018-09-15 19:46:48 +08:00
gestern 368684d13d Android: Adds supporting edge screens (#19043)
* Android: Adds supporting edge screens

* Update CCGLViewImpl-android.h

* getSafeAreaRect(): Specifying indentation

Specifying indentation if the scale factor is different for grid
2018-09-15 16:45:22 +08:00
Arnold d9b2e0519d cocos2d::Data: prevent use after free. (#19034) 2018-09-14 14:36:47 +08:00
minggo 7dcee2bcf9
Remove ccglstatecache (#19013) 2018-09-11 14:39:30 +08:00