Commit Graph

314 Commits

Author SHA1 Message Date
halx99 c37af4c38e Improve shader managment
1. Rename uniformId to batchId, refine batch draw check logic, not use xxhash to compute uniforms id
2. Material works, not check all cpp-tests, but some 2d/3d material works fine
3. Shader load/cache API improvements.
4. BREAK compatibliity: Node::setProgramState change parameter needsRetain to ownPS and value inverted.
5. custom vertexLayout setup: add new API ProgramState::getMutableVertexLayout, mark ProgramState::setVertexAttrib deprecated.
6. ProgramManager registerCustomProgram change to gen progId by vsName, fsName
with xxhash64, if register succed, user can load it by progId with `loadProgram`
7. Add API ProgramManager::loadProgram for loading builtin by progType or
loding a custom program by id
8. Add API ProgramManager::loadProgram to load program by vsName, fsName
immediately without register as CUSTOM_PROGRAM
9. Add API Node::setProgramStateByProgramId(progTypeOrId); for set programState with
programType or programId explicit.
10. Migrate material load logic
2023-07-25 09:40:05 +08:00
halx99 76f00b4456 Make renderer works on opengl core profile mode 2023-07-20 20:23:56 +08:00
halx99 1b4c9bbec8 Auto compile app/Sources/shaders to axslc/custom 2023-07-19 23:41:16 +08:00
halx99 7bd3b57809 Improve code style 2023-07-19 21:12:25 +08:00
halx99 04c5505fa2 Fix glDisable state guard 2023-07-19 18:35:05 +08:00
Deal eae07123dc Refer to #1278 2023-07-19 09:10:46 +08:00
Turky Mohammed 7759ad562f Optimize `OpenGL` State Management (#1269)
Co-authored-by: halx99 <halx99@live.com>
2023-07-18 21:16:21 +08:00
j-jorge c2d7bdcb45 Allow unity builds on a subset of the sources. (#1266)
In order to allow unity builds we need to avoiding "using namespace"
at file scope, #undef our file-specific #defines, and avoid having
static functions with identical name and signature.
2023-07-15 19:06:54 +08:00
RH 6bc2deeba8 Update Sprite::getQuad() to return const reference (#1260) 2023-07-09 19:00:12 +08:00
Deal(涓€绾跨伒) abd8029f64 Remove CC prefix from code file name (#1230)
* Add migrate sources tool

* Fix include replace regex

* Fix compile

* Migrate maually

* Disable sources-migrate tool by default

* Fix ci

* Fix ci

* Improve source migrate

* Fix ios/tvos ci

* Fix ios/tvos ci

* Fix
2023-06-11 13:08:08 +08:00
RH 978648e5a9 Factor in protected nodes when creating global Z node priority map for event dispatcher (#1224) 2023-06-05 17:09:50 +08:00
aismann f54836160e Update CCAutoPolygon.cpp (#1201)
Removed "nonsens" code
2023-05-08 06:17:38 +08:00
RH 98146f438b Fix RenderTexture memory leak and increased memory usage when initWithWidthAndHeight is called (#1191) 2023-04-28 14:54:57 +08:00
Turky Mohammed 90bc5108cd Refactor HSV/HSL (#1187)
* Refactor HSV/HSL

some code in `CCParticleSystemQuad.cpp` depends on changes made in `HSV/HSL` classes.

* remove incorrect const&
2023-04-26 17:44:32 +08:00
aismann af68d2e9e2 Clipper2 1.2.2 (#1138) 2023-03-27 21:46:14 +08:00
Deal(涓€绾跨伒) 1e6e9d4a8d Media engine video texture (#1133)
* VideoPlayer based on new MediaEngine[Win32/UWP]

* Improve MediaEngine interface

* Update readme

* Improve pixel format

* Improve MediaEngine interface

* Ready for PR UWP/Win32

* Ready for PR UWP,Win32

* Update reademe files

* Update readme files

* Update UIVideoPlayer-android.cpp [skip ci]

* Update UIVideoPlayer-ios.mm

* Update MFUtils.cpp

* Fix ci
2023-03-25 08:37:51 +08:00
Turky Mohammed fc4766076c [IMPROVEMENT] Fix tilemap camera move and zoom culling (#1134)
* Fix tilemap culling

* Update CCFastTMXLayer.cpp

* Update CCFastTMXLayer.h
2023-03-25 08:33:39 +08:00
Turky Mohammed eae2ffabcb [BUG] Fix TMX Tiled Map `CSV`, `BASE64`, & `ZLIB` incorrect parsing (#1131)
* Fix TMX Tiled Map `CSV`, `BASE64`, & `ZLIB` incorrect parsing

* Revert "Fix TMX Tiled Map `CSV`, `BASE64`, & `ZLIB` incorrect parsing"

This reverts commit 3088123a20.

* Use `std::regex_replace` instead

* Avoid copying strings

* Update CCTMXXMLParser.cpp
2023-03-25 08:33:13 +08:00
RH 4c90ac17a4 Fix return reference to local temporary value (#1127)
* Fix invalid return type for temporary variable
2023-03-21 21:22:02 +08:00
RH b6ab32ae6d Fix for incorrect tile sprite setup on creation (#1114)
* On tile sprite creation, apply required settings based on tile flags
2023-03-13 08:55:26 +08:00
RH 941ccd0d14 TiledMap sprite position fix (#1112)
* Correctly store flags and gid with sprite created for tile
Use correct coordinates when displaying sprite for a tile

* Fix up typo and long test titles
2023-03-12 16:15:11 +08:00
Deal(涓€绾跨伒) 277bcd44ce Windows Store UWP apps support (#1108)
* [BIG FEATURE] Windows Store UWP apps support

* Fix ci, add uwp for pr-ci

* Fix ci

* Improve ci script

* Fix ci

* Fix ci

* Fix ci

* Fix ci

* Upload uwp appx package artifacts [skip ci]

* Use d2d draw system font text

* Fix ci

* Improve code style
2023-03-11 22:10:18 +08:00
halx99 8bf4817ff7 Fix compile errors in c++17 2023-03-08 08:34:17 +08:00
Turky Mohammed 969c2257f8 [BUG] TileMap flipped/rotated animated tiles incorrect rendering. (#1098)
* Add test cases

* Delete default_hrtf.txt

* Fix rotated/flipped animated tile maps

* Optimize bitwise operations

* improve bitwise operations
2023-03-07 23:26:37 +08:00
Turky Mohammed 6a7522ae84 [BUG] TileMap OpenGL pixel-tolerance fix (#1085)
* Update CCFastTMXLayer.cpp

* [skip ci]

* Implement equation into engine

* Update CCFastTMXLayer.cpp [skip ci]

* [correction] fix sub-pixel equation
2023-03-06 22:41:16 +08:00
aismann 2cb695e398 removed unused variable: const Vec2 pt (#1079)
const Vec2 pt(so.x / PRECISION, so.y / PRECISION);
2023-02-26 04:29:57 +08:00
halx99 c4e219160a Fix #1075 2023-02-25 06:21:23 +08:00
aismann cfcf541744 Visible artifacts on DrawNode::drawCircle() with a corresponding lineWidth > 5 (window resizing issue) (#1050)
* Fix DrawNode::drawCircle() behavior itf the window is resizing.

* Update CCDrawNode.cpp

Tested also with
resourceSize(960, 640) or (1280, 720)
designSize(480, 320) or (400, 320);

Making a deal with the "boss"

* Update drawCircle and Tests

_lineWidth/4  is needed => the circle grow to fast without

---------

Co-authored-by: Deal(涓€绾跨伒) <halx99@live.com>
2023-02-22 20:02:20 +08:00
Turky Mohammed 63263e09d2 Add Anchored Sprite Class (#1040)
* add anchored sprite class

* Add feature tests
2023-02-10 14:07:20 +08:00
halx99 ae14727dc7 Fix #1032 2023-01-17 10:06:09 +08:00
aismann f238e5e0ff Improve drawCircle rendering for big rings (#1013)
* Update HelloWorldScene.cpp

replace   _director->end();  with menuCloseCallback(this);

* Rendering drawCircle
2023-01-06 23:25:31 +08:00
halx99 cb35a48885 Take care lambda implicit capture std::string_view
refer to: #1002
2023-01-03 23:02:17 +08:00
halx99 0f97e3fa3a Improve base64 API
Move base64Encode/base64Decode to namespace `ax::utils`
2023-01-01 18:07:18 +08:00
Turky Mohammed 4ceadb9740 [IMPROVEMENT] Remove camera unnecessary perspective option. (#993)
* Fix camera applyZoom when window size changes

* Revert "Fix camera applyZoom when window size changes"

This reverts commit 26154b5ff7.

* Fix pr

* remove camera perspective option

* fix merge conflict

* Update CCCamera.cpp

* Update CCCamera.h
2022-12-29 16:54:26 +08:00
Turky Mohammed d7a6a64517 [BUG] Fix camera `applyZoom()` when window size changes and remove unnecessary projection code (#992)
* Fix camera applyZoom when window size changes

* Revert "Fix camera applyZoom when window size changes"

This reverts commit 26154b5ff7.

* Fix pr
2022-12-29 16:54:01 +08:00
涓€绾跨伒|Deal 6d1e652213 Fix #983 2022-12-12 19:41:07 +08:00
RH 1a0612ca6e Move getWorldPosition() from Widget to Node class (#978)
* Committing genbindings changes

* Move getWorldPosition() method to Node class to allow world position to be retrieved for any node.
2022-12-07 09:24:46 +08:00
RH 2e30b51ab7 Add a pool for GroupCommand rendering commands (#969)
* Committing genbindings changes

* Use a pool of GroupCommand entries to avoid multiple entries of the same group in the render queue in certain scenarios

* Ensure captureNode works as expected.

* Set member variables to default values when init method is called on the GroupCommand

* Explicitly reset the command state when retrieving a GroupCommand from the pool
2022-11-28 08:37:22 +08:00
Vincent Lee 5f6e1cd42d Fix warnings (implicit conversion loses and use of deprecated function) 2022-11-20 09:58:34 +09:00
joilnen 5214ea1eb1 fixing some warnings compilation in linux gcc 12.2.0 2022-11-14 15:46:27 -03:00
Vincent Lee 97f8a8d544 Replace use of deprecated sprintf with snprintf 2022-11-14 16:02:16 +09:00
halx99 0279d5c158 Fix #958 2022-11-10 21:22:55 +08:00
halx99 bfd96ae10a Improve memory use 2022-11-03 18:01:10 +08:00
RH 0649ab40df Force recalculation of normalized position when assigning new parent to node (#952)
* Committing genbindings changes

* Ensure normalized position is re-calculated if parent node changes
2022-11-03 15:49:34 +08:00
halx99 4fa40ee96b Validate shared VertexLayout from Shader Program 2022-10-20 20:22:28 +08:00
halx99 10ea947a50 Validate shared VertexLayout from Shader Program 2022-10-20 20:19:56 +08:00
halx99 376941da91 Migrate 2022-10-18 19:17:36 +08:00
halx99 abd9338a7a Migrate [skip ci] 2022-10-18 19:13:40 +08:00
涓€绾跨伒|Deal 25d93bd509 Improve code quality (stage1.Oct) (#916)
* Improve code quality

* Add env PULL_REQUEST [skip ci]

* Update build.ps1

* Fix ci [skip ci]

* Update ZipUtils.cpp

* Update build.ps1

* Resolve reviews

* Improve

* Improve code style

* Resolve reviews

* Use pod_vector

* Improve resize growth

* Update CCAnimation3D.cpp

* Update axstd.h [skip ci]
2022-10-13 21:44:42 +08:00
aismann 3ef8ac63f2 rename cocos2d to axmol (#920)
* rename cocos2d to axmol

* rename cocos2d.h to axmol.h

* Update Physics3DTest.cpp

replace Sprite3D -> MeshRenderer
2022-10-12 00:15:09 +08:00
涓€绾跨伒|Deal e9e7de0cea Improve AutoPolygon::generateTriangles performance (#905) 2022-10-09 18:06:15 +08:00
涓€绾跨伒|Deal 48a7da97d6 Final migrate (#876) 2022-10-01 16:24:52 +08:00
RH eed2cde7d9 Fix to ensure Component::onEnter() is called (#867)
* Committing genbindings changes

* Ensure that Component::onEnter() is called if component is added after parent onEnter has been called.

* Code style
2022-09-27 17:32:04 +08:00
halx99 ad69ed003a Remove unnecessary APIs 2022-09-26 23:20:54 +08:00
halx99 5c735619f9 Improve code style 2022-09-24 11:01:45 +08:00
halx99 3a9a26c743 Fix #861 2022-09-23 22:41:30 +08:00
涓€绾跨伒|Deal c693e54265 Update CCAutoPolygon.cpp 2022-09-19 18:22:34 +08:00
aismann e571e8242d Clipper2 v1 04 (#856)
* Clipper2 v1.04 (and small fixes)

* Update README.md
2022-09-19 14:17:13 +08:00
涓€绾跨伒|Deal e0e083aa3b Merge: 6df48e9f8b baceccbb2f
Merge pull request #837 from aismann/ISSUE_#825

#825
2022-09-02 11:59:46 +08:00
halx99 ec1a06afe8 Fix typo 2022-09-02 10:36:25 +08:00
aismann 68f8a2b0c7 #825 2022-09-01 13:51:19 +02:00
aismann 9cecc6341c Update CCAutoPolygon.cpp 2022-08-27 18:30:22 +02:00
aismann c58b31d382 cleanup2 2022-08-27 17:41:12 +02:00
aismann ae349db909 cleanup 2022-08-27 17:40:03 +02:00
aismann 3bbbb0b2bf Replace Clipper1 (all stuff) 2022-08-27 17:00:10 +02:00
halx99 b1287b8cc5 Migrate cmake files 2022-08-11 15:41:10 +08:00
halx99 8a348b8342 Fix #791 really 2022-08-11 10:52:38 +08:00
DelinWorks 72ec15f3ae Remove assign dups and simplify function naming. 2022-08-11 01:52:04 +03:00
Turky Mohammed 8d1cb27616 Update CCCamera.h [skip ci] 2022-08-10 21:10:34 +03:00
DelinWorks 895d2887fb Add initialize member function. 2022-08-10 21:09:10 +03:00
DelinWorks bc11f9f5fc Update CCCamera.cpp [skip ci] 2022-08-10 20:38:59 +03:00
DelinWorks 2e22040118 Fix camera view calculation and tidy up system 2022-08-10 20:14:18 +03:00
aismann 5d64474cfb rename push_back vs emplace_back (fine tuning and remove on Live2D (too much)) 2022-08-09 05:51:07 +02:00
涓€绾跨伒 9892aa3d1c Migrate axys (#782) 2022-08-08 18:02:17 +08:00
aismann 376c80dd2d Replace push_back() vs emplace_back() on axis/tests/cpp-tests and axis/core (#781)
* Replace push_back() vs emplace_back() on axis\tests\cpp-tests\

D:\______\GitHub\aismann\axis\tests\cpp-tests\Classes
Replace Vector push_back() vs emplace_back() #762

* Replace push_back() vs emplace_back() on axis\core\ #781

* Update CCConsole.cpp

* Update UIWebViewImpl-android.cpp

* Update UIWebViewImpl-android.cpp
2022-08-08 13:18:33 +08:00
aismann 2a2e8a1e95 Improve c++11 for-loop performance with Universal References (#760) 2022-07-21 19:19:08 +08:00
halx99 c16a33e347 Migrate more macors 2022-07-16 10:43:05 +08:00
涓€绾跨伒 ac1872494c Remove unnecessary check [skip ci]
refer to #748
2022-07-15 19:44:31 +08:00
halx99 41d2c44308 Migrate macros 'CC_' to 'AX_' 2022-07-15 19:17:01 +08:00
涓€绾跨伒 86149489b0 Fix warning format 2022-07-12 22:57:45 +08:00
halx99 68e1f86168 Avoid unexpected frame refs increase 2022-07-11 19:34:31 +08:00
涓€绾跨伒 bf77f46dce Migrate engine namespace to `axis`(abbv: `ax`) (#743) 2022-07-11 17:50:21 +08:00
halx99 c2acb3a744 Migrate tests, extensions and configs ReSquash for unexpected changes +2 2022-07-09 22:23:34 +08:00
DESKTOP-16GC0B8\813658 07bffb5df1 operator[] changed for better usage 2022-07-09 02:07:01 +03:00
Turky Mohammed 59c6611e71 Replace everything under `core` (#735)
Co-authored-by: deal <halx99@live.com>
2022-07-09 01:23:11 +08:00
涓€绾跨伒 a4fdc85c8b Merge: 71539ffd89 b8676ef52a
Merge pull request #710 from DelinWorks/improve-engine-types

[IMPROVMENT] Rename `RngSeed` to `FastRNG`.
2022-07-05 23:07:19 +08:00
halx99 fce00ee71d Compatible cocos2d.h 2022-07-05 23:03:22 +08:00
DelinWorks 76ba9bf760 Improve RngSeed. 2022-07-05 17:21:21 +03:00
涓€绾跨伒 e6ae7c44b3 Merge: 555f847c1f 6dd8b2c74a
Merge pull request #702 from DelinWorks/improve-engine-types

[PROPOSAL] Move global enums to their own file.
2022-07-05 00:39:20 +08:00
DelinWorks 96158090db Add stride functions and remove unneeded UNSPEC value. 2022-07-04 19:20:04 +03:00
DelinWorks 7e199cce21 Update lua_cocos2dx_auto.cpp 2022-07-04 18:34:50 +03:00
halx99 a31ba3caae Improve meshdata load
- Avoid GC alloc when store indices
- Fix indices iterator by IndexArray::for_each
2022-07-04 23:23:33 +08:00
DelinWorks 49508bd13c Improve function naming. 2022-07-04 17:45:23 +03:00
halx99 0b4363bfc0 Refator sampler name in shader 2022-07-04 21:26:48 +08:00
DelinWorks a8d704babe Improve function naming and add descriptions. 2022-07-04 05:55:29 +03:00
DelinWorks 6a7a77c604 Update CCDirector.h 2022-07-04 04:58:13 +03:00
halx99 38743291e2 Improve class IndexArray 2022-07-04 09:13:06 +08:00
DelinWorks c97042be2e Fix android arm64 incorrect random number generation. 2022-07-04 03:28:55 +03:00
DelinWorks 35d3df7075 Fix mobile compilation.
Treat `CC_ENABLE_CACHE_TEXTURE_DATA` portion of code accordingly.
2022-07-03 22:50:19 +03:00
DelinWorks 0ff762b835 Move global enums to their own file. 2022-07-03 20:43:55 +03:00