Commit Graph

14034 Commits

Author SHA1 Message Date
halx99 a3a92b5d81 Use DeviceGL to store defaultFBO 2020-10-27 16:58:37 +08:00
halx99 a0805f52df GLES ios compile 2020-10-27 01:42:05 -07:00
halx99 21d9cbdc11 DNT printmat by default 2020-10-27 11:21:03 +08:00
halx99 119740da15 Sprite::setTexture, programType >= ProgramType::HSV needs update by user manually. 2020-10-27 11:14:36 +08:00
HALX99 e5a05ab7b8
Refine DrawNode, should not use Node::_programState for private use (#251)
The follow classes should not reuse Node::_programState, otherwise needs override Node::setProgramState to update programState of pipelineDescriptor:
- DrawNode
- LayerColor
- LayerRadialGradient
- ParticleBatchNode
- ParticleSystemQuad
2020-10-26 14:49:14 +08:00
halx99 27bdca35f8 Don't update sprite shader when it's not default 2020-10-26 13:08:02 +08:00
halx99 863bd35676 Finish #244 2020-10-25 16:25:08 +08:00
halx99 975ef2ff61 Lock name 2020-10-24 21:57:36 +08:00
halx99 5a6efdf800 Optimize includes 2020-10-23 16:40:51 +08:00
halx99 c3625b5774 fix android build 2020-10-23 16:36:24 +08:00
halx99 ebc89adcfc Support specific manually and more clearly comment 2020-10-23 15:27:03 +08:00
halx99 a14b7cc91e Only needs updateUniformID when set a unstable uniform variable 2020-10-23 15:07:18 +08:00
halx99 8f463be6f9 Add setUniformID manually for user to avoid calculate uniformID with uniform buffer automatically 2020-10-23 12:39:30 +08:00
halx99 a8561bba30 Remove default constructor of ProgramState 2020-10-23 12:17:36 +08:00
halx99 1fb454a7ee Since we have uniformID, CUSTOM_PROGRAM also can batch 2020-10-23 12:07:37 +08:00
halx99 62108b40b1 Since v4, no needs callback uniform, so mark setCallbackUniform deprecated 2020-10-23 11:57:17 +08:00
halx99 2b125c75bd Refine ProgramState mat id 2020-10-23 11:37:52 +08:00
halx99 f50edaa18c Simply skip batch for custom program, see #245 2020-10-23 10:26:45 +08:00
halx99 b8834bc086 Finsih rename 2020-10-22 10:58:10 +08:00
HALX99 0a1af78a0e
Build pugixml from sources for all platforms (#241) 2020-10-21 12:28:34 +08:00
halx99 3b6545b4b4 Fix CCFileStream write bits
make it behavior same with fopen "wb"
2020-10-21 10:58:48 +08:00
HALX99 d28891fb62
Remove unused converter functions 2020-10-21 00:35:39 +08:00
halx99 dd98b13a9d Refine pixel format
a. make RGB565, RGB5A1 identical between GL and MTL backend
b. make texture internal format compatible on GLES-2.0 ONLY GPU devices
2020-10-20 23:27:20 +08:00
halx99 59b1bd30e8 fix rgba4444 enum for gles-2.0 only GPU 2020-10-20 20:01:18 +08:00
halx99 190d4cb3e3 GLES compatible 2020-10-20 19:50:34 +08:00
halx99 8dafaf3b67 Remove unused varaibles 2020-10-20 19:38:33 +08:00
halx99 cdaed31389 fix lua build on android 2020-10-19 19:56:48 +08:00
halx99 919d48d68e Finish cpp and lua template to use env var 'COCOS2DX_ROOT' to avoid copy whole engine source when new project. 2020-10-19 18:33:10 +08:00
halx99 c8c7c1dd6b mini changes 2020-10-18 21:43:51 +08:00
HALX99 90ecc475f0
Refactor modules (#238) 2020-10-17 16:32:16 +08:00
halx99 2f934aeedc Simplfy hsv color 2020-10-16 17:23:29 +08:00
halx99 5fc71649a7 fix clear flow for rendertexture and grid since we use clearCommand to clear renderTarget, see #233 2020-10-16 16:25:10 +08:00
HALX99 b342ebd7ae
Refactor programState management (#236)
1. Add custom program registery
2. Re-enable batch draw for custom program
2020-10-16 16:23:14 +08:00
HALX99 a397287e3f
fix #233 (#235) 2020-10-16 01:41:36 +08:00
halx99 755a0fb45a fix #233 2020-10-15 10:22:18 +08:00
halx99 4ee711599c Add setDispatchOnWorkThread support 2020-10-08 00:00:14 +08:00
halx99 343b0343f3 Use move assignment 2020-10-07 23:59:26 +08:00
halx99 e28a292ec3 API qualifiers improments 2020-10-07 00:07:53 +08:00
halx99 1735517112 Improve win dll support 2020-10-06 16:46:38 +08:00
halx99 2b8514fdc4 fix warning 2020-10-06 12:31:17 +08:00
HALX99 a83c52d67c
Refine HttpClient (#224) 2020-10-05 08:32:48 +08:00
halx99 b3b8d8b960 Refine HttpClient 2020-10-05 02:40:38 +08:00
halx99 9586f95c81 fix #223 2020-10-05 00:10:31 +08:00
halx99 d45591b49b Change access qualifier 2020-10-05 00:09:12 +08:00
halx99 baa5f69a81 Add custom hosts support for HttpReuqest
refer to: https://curl.haxx.se/libcurl/c/CURLOPT_RESOLVE.html
2020-10-04 23:44:52 +08:00
halx99 cd216f2f4b Move isPOT to ccUtils.h for reuse 2020-10-04 23:43:57 +08:00
halx99 9f2420e9ee fix lua binding, remove unused initWithBackendTexture 2020-10-03 18:04:56 +08:00
halx99 771d278b4e UserDefault int64_t 2020-10-02 19:52:32 +08:00
HALX99 bfa8cbcc6d
Delete duplicated _mv (#220) 2020-09-26 12:33:14 +08:00
halx99 543ead7111 Fix depth stencil state and pipeline state mismatch 2020-09-25 23:16:48 +08:00
HALX99 1090f732c9
Clearly texture usage and TextureGL initWithZeros usage (#219)
* Clearly texture usage and TextureGL initWithZeros usage

* More properly function name
2020-09-25 15:04:55 +08:00
halx99 ec6b9c650a Remove dep 2020-09-25 13:49:23 +08:00
halx99 cba91e085a Delete file ant.properties 2020-09-25 13:17:03 +08:00
halx99 f9c70bc1e9 Sync feature from b2a0cb5e2f 2020-09-25 13:13:54 +08:00
halx99 64e5cde97d Delete unused source files 2020-09-25 13:08:39 +08:00
HALX99 235f09f635
Refactor pixel format manipulate (#217)
* PixelFormat use table

* Correct PixelFormat name to match 'GL_LUMINANCE'

* Up

* fix cube update texture enum

* linux build

* Refine ci

* fix linux build

* Remove unused function, match mtl framebuffer pixel format

* readPixels always RGBA format

* fix ci for linux

* fix linux build

* Remove unused functions

* fix travis

* fix android ci

* Update config.json

* linux glad

* Update CCGLViewImpl-desktop.cpp

* fix linux build

* Fix linux build

* Link issue [skip appveyor][skip travis]

* Update CMakeLists.txt

* Refine GL enums use

* Update test case name [skip appveyor][skip travis]

* fix linux link issue

* for mtl

* fix ci

* Tidy pixelformat enums

* fix ci

* fix rgba8 to abgr4 error

* fix ci

* fix ci for GLES

* Fix linux build, require glibc-2.27+

* Use properly dist for travis [skip appveyor]

* fix linux build [skip appveyor]

* Update install-deps-linux.sh

* Remove unused members for pixel block info, update external to v73

* Sync from compile linux warnings

* Remove unused check, and PixelFormat::A8 is ordinary format, not compressed format

* metal doesn't support rgb8 (#3)

* Update CCTexture2D.cpp

* Refine code

* Pixel Format Descriptor Table

* fix ci

* BGR5A1

* Simplfy texture format convert function name

* Update

* rgba4 match mtl render format

* Add note about RGBA4

* Remove unused function

* fix osx

* Already converted at texture2d

* Clearly comment

* fixup
2020-09-25 11:07:56 +08:00
halx99 1eec5cf7df fix #213 2020-09-22 17:34:52 +08:00
halx99 f6a4dcdfe5 fix macro CC_LOG_TO_CONSOLE doesn't work for win32 2020-09-22 17:23:19 +08:00
halx99 158b12e452 fix AtlasNode, needs update atlas values when ignore content scale factor changed 2020-09-22 16:35:24 +08:00
HALX99 09937c97a7
Refactor render pipeline state (#211)
* Refactor pipeline state
* Cache DepthStencil state for MTL renderer backend
2020-09-22 16:32:17 +08:00
halx99 d4347dc27d Reduce depthStencil state create, don't create it at per draw call 2020-09-21 22:58:45 +08:00
halx99 c5c7de9e1d Remove unused param for setRenderPipeline 2020-09-21 22:35:18 +08:00
HALX99 5a32bcfdaf
RenderTarget abstract, in-progress (#210)
RenderTarget abstract
2020-09-21 22:10:50 +08:00
HALX99 f6d51583a8
fix macro 2020-09-21 11:38:21 +08:00
HALX99 b9ea114b9c
Merge pull request #209 from halx99/delete-copy-stubs
Explicit delete copy stubs for CustomCommand
2020-09-16 22:45:38 -07:00
halx99 03e5a1bd9a fix ci warnings 2020-09-17 12:13:59 +08:00
halx99 ebd19a07b3 fix ci 2020-09-17 12:10:08 +08:00
halx99 22a4586af9 Sync pr from https://github.com/cocos2d/cocos2d-x/pull/20580 2020-09-17 12:05:31 +08:00
halx99 dbf23f4826 Explicit delete copy stubs for CustomCommand 2020-09-17 11:41:14 +08:00
halx99 5554143993 suppressing invalid offset warning [skip appveyor][skip travis] 2020-09-16 22:57:55 +08:00
HALX99 80e5152596
Decrease pod offset 2020-09-16 21:26:14 +08:00
HALX99 3464e4e1a4
fix #206 2020-09-16 21:22:37 +08:00
halx99 fdb29d65c2 Needs recalculate max items when AtlasNode::setIgnoreContentScaleFactor 2020-09-16 13:34:20 +08:00
halx99 fd69e066ae check null also 2020-09-15 16:03:00 +08:00
halx99 2d2d0e7ee6 Take care PBO use on android 2020-09-15 16:01:44 +08:00
halx99 24ddc710e8 captureScreen compatible, saveFile at offthread 2020-09-15 14:12:00 +08:00
HALX99 51980b6edf
Fixup
OpenGL: read screen pixels only works: AFTER_DRAW and BEFORE_END_FRAME
2020-09-14 17:43:44 +08:00
HALX99 9b2f934b47
Needs readPixels at CallbackCommand
Avoid read dirty pixels
2020-09-14 17:20:07 +08:00
halx99 a9f1c43127 fix fbo attachment texture bind error 2020-09-13 19:17:49 +08:00
halx99 c5d6f35d9d Refine code 2020-09-13 19:16:59 +08:00
HALX99 961b023bfa
Remove unused CaptureCallbackCommand (#2) 2020-09-13 14:53:17 +08:00
halx99 2c496b7393 Refine comment 2020-09-13 13:30:41 +08:00
halx99 782e0c61bb No need CaptureCommand for capture screen or node 2020-09-13 13:27:50 +08:00
halx99 9c6a3d2837 Metal screen framebuffer only set/restore 2020-09-13 12:55:35 +08:00
halx99 f9c2e3b856 Make capture API public to Renderer 2020-09-13 11:11:48 +08:00
halx99 4e3acb6f2b UtilsGL::readPixels also use PBO if available 2020-09-12 23:26:40 +08:00
HALX99 42be4daed4
Update comment [skip appveyor] [skip travis] 2020-09-12 20:44:08 +08:00
halx99 c4c64ffd3f No need enqueue, commit will do it automatically 2020-09-12 16:44:16 +08:00
halx99 682b4f685e Refine code 2020-09-12 15:34:09 +08:00
halx99 3d2ab83cab Remove test stubs 2020-09-12 14:52:39 +08:00
halx99 2b991b20b2 a. Refine captureScreen, glReadPixels shoud from glviewport's origin.
b. Sets desktop GL min version from 2.0 to 2.1
2020-09-12 14:50:48 +08:00
halx99 378e38de11 Add more clearly comment [skip appveyor] 2020-09-11 20:17:31 +08:00
halx99 7249325ff4 Use glMapBuffer if available 2020-09-11 17:32:08 +08:00
halx99 5d5c948218 fix ci 2020-09-11 14:45:45 +08:00
halx99 af21cdba50 fix ci 2020-09-11 13:38:05 +08:00
halx99 efc5a00b60 Remove comment 2020-09-11 12:39:16 +08:00
halx99 ecb8738b33 Renaming stubs relative capture command 2020-09-11 12:23:33 +08:00
halx99 0e99525283 Remove unused comment 2020-09-11 12:14:40 +08:00
halx99 04358791ec v4 captureScreen API compatiable, gl needs flip always for capture 2020-09-11 11:57:55 +08:00
HALX99 4eb3b05e45
Remove todo comment [skip appveyor][skip travis] 2020-09-11 02:19:19 +08:00
HALX99 d346204936
Update CCRenderTexture.cpp 2020-09-11 01:46:12 +08:00
halx99 6497a92ec7 finish gl backend 2020-09-11 01:19:10 +08:00
halx99 4f4529bca5 Prepare 2020-09-11 00:14:03 +08:00
halx99 874946fccb Tidy code 2020-09-11 00:10:44 +08:00
halx99 fdd8321d28 Remove unused API, TODO: unify to Utils::readPixels 2020-09-10 23:11:43 +08:00
halx99 a7b0850d2f Add comment 2020-09-10 21:41:52 +08:00
halx99 2a50ae6cf8 Refine code 2020-09-10 21:38:24 +08:00
halx99 f6a8d993fc Refactor capture, fix data race for apple metal reanderer backend 2020-09-10 21:14:28 +08:00
halx99 4dd7f6aab6 fix 193 2020-09-10 18:12:46 +08:00
halx99 29d21add67 Sync lua binding 2020-09-09 16:30:48 +08:00
halx99 e537683b3f fix compile issue[skip appveyor] 2020-09-09 15:47:41 +08:00
halx99 f89763b416 Tidy, update programState texture at attachProgramState 2020-09-09 15:29:56 +08:00
halx99 992d6139d9 More clearly programState management 2020-09-09 13:03:31 +08:00
halx99 1dd638535e fix memory leak for ProgramStateRegistry use 2020-09-08 22:13:10 +08:00
halx99 556e0d05d3 Move getFileDataFromZip from FileUtils to ZipFile and mark it as deprecated 2020-09-06 17:00:20 +08:00
halx99 d401cbfd75 fix mac compile error 2020-09-05 22:33:18 +08:00
halx99 2d5fb7f77d Add CC_REDUCE_PAUSED_CPU_USAGE ccConfig.h to control whether reduce cpu usage after paused 2020-09-05 17:12:30 +08:00
halx99 9cb9a0e455 fix ci warnings 2020-09-04 18:34:15 +08:00
halx99 81e4c28d24 Fix mac [skip appveyor] 2020-09-04 18:16:13 +08:00
halx99 53509b8833 Fix glviewimpl for osx 2020-09-04 17:58:34 +08:00
halx99 8bb706d70e Add utils::makeInstance and utils::newInstance 2020-09-04 11:28:16 +08:00
HALX99 36c25dc889
Should set _mtlCommandBuffer to nil after release 2020-09-03 22:26:21 +08:00
halx99 b3361b6d70 Fix GL renderer backend API updateCompressedSubData will cause OpenGL 502 error 2020-09-03 18:03:43 +08:00
HALX99 7a2f91e514
ASTC6x6 support and more comment about bpp usage in engine (#191)
* ASTC6x6 support and more comment abount bpp usage in engine

* fix log output

* Comment astc compression tool download url

* Add command line comment for astcenc tool [skip travis][skip appveyor]

* Add astc_6x6 test image[skip appveyor][skip travis]

* astc_6x6 mtl

* Refine log info[skip appveyor][skip travis]

* Empty line[skip appveyor][skip travis]
2020-09-03 18:01:40 +08:00
halx99 ff3becb49d Add getGPUHandler for backend::Texture for some purpose use 2020-09-02 13:00:32 +08:00
halx99 8ec6df624e Remove unused member 'func' from CustomCommand, use CallbackCommand instead 2020-09-02 12:59:34 +08:00
HALX99 2539e78774
Merge pull request #188 from halx99/etc2-support
Add etc2 compressed texture support
2020-09-01 00:16:01 -07:00
halx99 8cad7319f6 Use uint8_t instead unsigned char for byte buffer [skip appveyor][skip travis] 2020-09-01 14:57:18 +08:00
halx99 cf5c4f38c3 No need check GL_ETC1_RGB8_OES for ETC compression formats [skip appveyor][skip travis] 2020-09-01 14:32:52 +08:00
halx99 63487d6c57 Remove unnecessary macro GL_ETC1_RGB8_OES check 2020-09-01 13:39:15 +08:00
halx99 5bda5f97a3 Remove unused comment [skip appveyor][skip travis] 2020-09-01 13:29:41 +08:00
halx99 5bfce4bed4 Add copyright notice [skip appveyor][skip travis] 2020-09-01 13:24:45 +08:00
halx99 6c129165f5 Also decode bmp to RGBA8888 directly 2020-09-01 12:06:21 +08:00
halx99 f3c17427aa More clearly ETC1 format, sync enums for ETC1, correct somethings 2020-09-01 11:43:03 +08:00
HALX99 4d9206e402
ETC2 feature check for metal 2020-09-01 00:03:49 +08:00
halx99 5e0e017b2a wrap fowardPixels for hardware decoder 2020-08-31 23:09:42 +08:00
halx99 dffbad412a Improve images decoder 2020-08-31 21:04:47 +08:00
halx99 aa9e5130e4 More clearly data owner when decode images. 2020-08-31 19:24:23 +08:00
halx99 c119bee507 Move copyright notice to header [skip appveyor][skip travis] 2020-08-31 17:35:01 +08:00
halx99 18037c44de Clearly CCLOG content 2020-08-31 17:13:04 +08:00
halx99 5cfc6fe7ed Remove test code [skip appveyor] [skip travis] 2020-08-31 16:31:37 +08:00
halx99 6e4e83581c Add comment for etc1/etc2 compression tools [skip appveyor][skip travis] 2020-08-31 16:16:13 +08:00
halx99 7872bb1b97 ETC2 Metal support 2020-08-31 15:45:05 +08:00
halx99 201b91e242 Use etc2_decode_image decode etc1 to RGBA8888 [skip appveyor] [skip travis]
This can avoid further texture data convert
2020-08-31 15:34:20 +08:00
halx99 fda95bd722 fix compile issue 2020-08-31 15:17:28 +08:00
halx99 4181485b4c fix compile issue 2020-08-31 14:50:33 +08:00
halx99 4e621693c3 Remove unused file [skip appveyor][skip travis] 2020-08-31 14:48:10 +08:00
halx99 3426d03745 ETC2 software decode support 2020-08-31 14:11:48 +08:00
halx99 e7811e707a 1. Finish ETC2 support on GL renderer backend
2. Improve ASTC compressed format check
2020-08-30 17:58:39 +08:00
halx99 5ddf06f3ca fix CCValue::visit 2020-08-30 17:45:21 +08:00