Commit Graph

312 Commits

Author SHA1 Message Date
halx99 2191b51499 [WIP] Not convert mat3 to mat3x4 in engine
Because both metal and GLSL3/ESSL3 mat3 is identical to mat3x4, so provide a
class Mat3 to handle GPU mat3x3
2023-07-27 22:36:51 +08:00
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 7315824e5f Fix linux build 2023-07-20 12:25:31 +08:00
halx99 71c2d3a3b1 Init axslc search path at ProgramManager init 2023-07-20 10:20:06 +08:00
halx99 02616bb774 Merge: ac073ee8c1 4753270d77
Merge branch 'main' into dev
2023-07-19 23:45:36 +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 862a682b7b Remove deprecated stubs 2023-07-19 21:10:11 +08:00
halx99 42f666ff89 Refactor GL uniform block support 2023-07-19 19:20:06 +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
halx99 dcd408c636 Sync compiled shaders for UWP [skip ci] 2023-07-18 00:09:00 +08:00
halx99 1c669912b5 More easy for dev 2023-07-17 20:51:28 +08:00
Deal 071d9aa8ea Remove gitter [skip ci]
It's only bakup IM room, discord is preferred
2023-07-17 12:39:19 +08:00
halx99 3ab3249700 Update glslcc to 1.8.1
Add dual outputs support, this is useful to handle normal map preprocessor
2023-07-16 14:14:41 +08:00
RH 95f352e0d0 Invert if condition checking for existence of the axmol bin path in the user path env variable (#1275)
Make list mutable to allow for inserting new path
2023-07-16 13:51:36 +08:00
halx99 9a384e39f2 Merge: 412e398651 1daf87c768
Merge branch 'main' into dev
2023-07-15 22:45:26 +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
Deal(涓€绾跨伒) c5a61124c0 Add chat badges [skip ci] 2023-07-15 11:25:48 +08:00
halx99 2b30d8002f Merge: 7afdd4f2c1 e5b197776c
Merge branch 'main' into dev
2023-07-15 01:17:32 +08:00
halx99 e34d02eb7d Fix build1k cmake setup 2023-07-15 01:17:15 +08:00
halx99 8e39354e99 Merge: 83a830d011 cfcafd517a
Merge branch 'main' into dev
2023-07-15 01:00:31 +08:00
Deal(涓€绾跨伒) 4867fc8f2e Update pull_request_template.md (#1270) 2023-07-15 00:21:23 +08:00
halx99 42fcb1f86e glslcc workflow: metal init commit 2023-07-14 23:07:47 +08:00
RH 0c17a35fa8 Fix for crash in TextureCache test (#1267) 2023-07-11 21:55:17 +08:00
halx99 5d7a86a1b9 Merge: 89a739a8ea 09a3a950ae
Merge branch 'dev' into 1.1-dev
2023-07-10 15:57:00 +08:00
RH ce590c24a0 Fix for crashes in several tests (#1259) 2023-07-09 14:45:41 +08:00
halx99 7c410f8b25 Bump new shader workflow
1. Add compiled shader dir `axslc` to search path for win32,linux
2. ProgramManager: register shader program by shader name
3. modify all shader  define from sources to name in Shader.cpp/Shader.hpp
4. Remove shader version define and precision decls for GLES
2023-07-08 18:47:06 +08:00
halx99 7cb9aac41e Rename option `AX_USE_COMPAT_GL` to `AX_USE_ANGLE` 2023-07-03 20:35:55 +08:00
halx99 928100186f Fix #1243 2023-06-26 09:12:29 +08:00
halx99 c06d5af3f8 Move queueOperation from GLView to Director 2023-06-25 01:17:29 +08:00
halx99 3eac3abecf Sync yasio to latest 2023-06-24 21:18:27 +08:00
halx99 02cc0a1743 Delete unused sources 2023-06-11 19:21:05 +08:00
halx99 63175a193e Move win32 _ftruncate impl to base/posix_io.cpp 2023-06-11 19:19:12 +08:00
halx99 2cd3f8c6c9 Move posix io macros to base/posix_io.h 2023-06-11 14:39:19 +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
Deal(涓€绾跨伒) bc82034ffd Improve media-engine for android, linux (#1228)
* Improve media-engine
- Implement andorid,linux
- Improve local file uri scheme

* Fix ci

* Improve code style

* Improve

* Update VlcMediaEngine.cpp

* Update AvfMediaEngine.h

* Fix ci

* Improve code style

* Enable androidx gradle.properties [skip ci]

* Improve code style

* Remove unnecessary callbacks

* Rename VideoPlayer to MediaPlayer
2023-06-10 22:05:49 +08:00
halx99 2da66a8f1f Improve gradle script 2023-06-06 11:15:46 +08:00
halx99 8bbe962704 Update JNI call 2023-06-05 21:55:23 +08:00
halx99 f0db2648fe [FEATURE] Add new API GLView::queueOperation
- Queue a priority operation in render thread, even through app in background
- Please do logic in callback, don't update ui or any other render state

usage

```
Director::getInstance()->getOpenGLView()->queueOperation([](void* param){
// do somethings for logic only(Don't update render state or UI)
});
```
2023-05-31 20:42:39 +08:00
Deal(涓€绾跨伒) 4aba036936 Remove duplicate using 2023-05-31 20:32:07 +08:00
Maksymilian Galas 6b5ee65d6e Add support for haptic feedback on iOS and Android devices (#1222)
* Add support for haptic feedback on iOS and Android devices

* Disable haptic feedback on tvOS

* Remove unused import
2023-05-31 20:14:31 +08:00
Deal(涓€绾跨伒) dca6c87c4a [Refine] Improve exit flow (#1213) 2023-05-25 15:45:00 +08:00
halx99 80354a98c1 Fix UWP mouse scroll delta process 2023-04-02 14:31:51 +08:00
Deal(涓€绾跨伒) f6281b9504 Support clang-cl + ninja, refer to #1152 (#1153) 2023-04-01 23:11:58 +08:00
halx99 cd10baf7e5 Add FileStream::getNativeHandle() 2023-03-26 22:42:13 +08:00
halx99 2e261b3dab Fix ci 2023-03-25 16:08:48 +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
halx99 912bf32d13 Remove UWP from PC family 2023-03-14 12:08:31 +08:00
halx99 517ffeedc6 Update project url in sources 2023-03-12 01:44:55 +08:00
halx99 0fbda93c39 [UWP] Add API GLViewImpl::createFullScreen
- Fix for luabindings
2023-03-11 23:19:52 +08:00
halx99 1152c73575 Fix ci 2023-03-11 23:14:04 +08:00
halx99 360950f1d7 Improve API GLViewImpl::createWithRect 2023-03-11 22:53:55 +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
Deal(涓€绾跨伒) 83d53ba46b Tidy project tree and full symlink support (#1072)
* Tidy project file tree and all symlink support
2023-02-23 21:57:30 +08:00
halx99 70cef3ca58 Check astc image header wildcard for some extesion formats [skip ci] 2023-02-18 11:43:44 +08:00
halx99 e6a3aedff0 Working on c++23
There are many more efficient features on future c++23 standard
2023-02-18 11:39:31 +08:00
halx99 97c77d4c9d Fix ci 2023-01-24 15:49:40 +08:00
halx99 4b6692ece0 Fix platform macro pred 2023-01-24 13:58:29 +08:00
halx99 2727d18250 Fix macro detect 2023-01-24 11:09:16 +08:00
Joilnen 93d6f2c69d fixing a warning message (#1035) 2023-01-22 14:10:39 +08:00
Deal(涓€绾跨伒) 52cb279f75 Update CCGLViewImpl-desktop.cpp 2023-01-22 07:39:46 +08:00
halx99 04cbc8dfb7 Fix ci 2023-01-21 21:57:28 +08:00
halx99 71b4287688 Fix ci 2023-01-21 20:04:58 +08:00
halx99 fc5025da10 Fix osx ci 2023-01-21 19:24:58 +08:00
halx99 7faca1e74a Fix ci 2023-01-21 18:49:02 +08:00
halx99 27a38b2335 Unify CCGLViewImpl-desktop 2023-01-21 17:57:56 +08:00
halx99 3e4be65a8f Fix osx ci 2023-01-21 16:56:04 +08:00
halx99 ae14727dc7 Fix #1032 2023-01-17 10:06:09 +08:00
halx99 fa9f663e3a Don't use deprecated function 2023-01-11 23:28:22 +08:00
pietpukkel c09449d40b Resize on Windows (#1026)
* Resize on Windows

Fixed resize on Windows

* Better code quality

Co-authored-by: <halx99@live.com>
2023-01-11 22:24:43 +08:00
halx99 f739f49eaf Make linux defautSearchRoot same with win32 2023-01-10 23:06:04 +08:00
halx99 e86f2e3f73 Fix ci 2023-01-05 00:35:55 +08:00
halx99 bc9e4483e9 Fix ci 2023-01-05 00:31:08 +08:00
halx99 66be2a592e Fix ci 2023-01-04 23:21:24 +08:00
halx99 98efcfe193 Update yasio to latest 2023-01-04 23:20:07 +08:00
halx99 aeedf0daee Improve posix macro definations 2023-01-04 23:05:52 +08:00
halx99 a8916dfd50 Preferred use ax::print for engine log output 2023-01-04 22:52:40 +08:00
halx99 429e62ff95 Merge: 427ae694bd b5cde53994
Merge branch 'dev' of https://github.com/axmolengine/axmol into dev
2023-01-04 21:26:23 +08:00
halx99 8c9cda5b16 Fix http request issue when path empty from url
Ensure path can be use for http request directly
2023-01-04 21:26:01 +08:00
CHP a6b09af092 ANDROID_SDK_ROOT -> ANDROID_HOME (#1009)
* Update setup.py

* ANDROID_SDK_ROOT -> ANDROID_HOME
2023-01-04 08:03:48 +08:00
halx99 0684ac0ef4 Fix charset process in glfwCharCallback 2022-12-18 11:52:57 +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
涓€绾跨伒|Deal c1a576558e Update axutils.gradle 2022-11-10 23:25:45 +08:00
halx99 d742dceb9f Improve gradle scripts
Add cmake options from gradle command line properties support
2022-11-10 22:53:54 +08:00
halx99 3d1bf684a4 Fix ci 2022-11-10 22:03:40 +08:00
halx99 0279d5c158 Fix #958 2022-11-10 21:22:55 +08:00
halx99 df91bc9d69 Improve ftruncate 2022-11-10 13:45:51 +08:00
halx99 7d1a911b91 Remove unnecessary platform macro define in cmake 2022-11-01 19:00:48 +08:00
halx99 a4d8687066 Improve platform macro detection 2022-11-01 18:31:31 +08:00
涓€绾跨伒|Deal 6ddd6f0e05 Update CMakeLists.txt 2022-11-01 06:47:36 +08:00
halx99 a87bf2ee4b Fix effekseer compiling [skip ci] 2022-10-31 14:30:33 +08:00
涓€绾跨伒|Deal 2a440a8c42 Update CCFileUtils-apple.mm 2022-10-31 08:12:06 +08:00
涓€绾跨伒|Deal 22f51204f7 Fix ci [skip ci] 2022-10-31 08:09:55 +08:00
halx99 56d66aba67 Remove FileUtils::searchResolutionsOrderArray 2022-10-30 23:03:39 +08:00
涓€绾跨伒|Deal d6254accc9 Improve code style 2022-10-30 16:58:48 +08:00
halx99 84fe8f734a Update glad to v2.0.0 2022-10-25 09:01:57 +08:00
halx99 87000c35fc Add ETC2 support in pvr3ccz format 2022-10-24 19:06:49 +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
涓€绾跨伒|Deal 6f1c8d61d7 Add reasonable comment for performance code 2022-10-08 12:26:38 +08:00
halx99 db1df2f98a Improve code style 2022-10-07 21:48:07 +08:00
halx99 3f40f271d4 Improve performance 2022-10-07 21:36:38 +08:00
涓€绾跨伒|Deal 48a7da97d6 Final migrate (#876) 2022-10-01 16:24:52 +08:00
tkzcfc 6ec826dfe0 Add macro definition AX_NO_DUP_SEARCH_PATH (#874) 2022-09-30 14:40:52 +08:00
tkzcfc 5870445c87 Improve FileUtils::addSearchPath(#872)
Avoid duplicate search path
2022-09-29 23:10:30 +08:00
Paulo Coutinho f5aeb5a8c2 Add apple tvos support (#846)
* support tvos

* support tvos and fix run command

* support tvos, fix run script and fix windows files

* support tvos on ci

* support tvos on ci and fix windows zlib

* support tvos on ci

* support tvos

* support tvos and tvos tests
2022-09-05 14:13:52 +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
halx99 5298ed90cb Fix #817 2022-08-31 13:45:06 +08:00
涓€绾跨伒|Deal e37761260a Migrate, use simple namespace ax (#818) 2022-08-29 20:51:22 +08:00
涓€绾跨伒 c6fc93abbc Update README.md 2022-08-18 09:13:09 +08:00
unknown 9a9025aede Add empty check 2022-08-16 15:12:45 +05:30
halx99 6d5e50ded9 Avoid unnecessary double lookup 2022-08-16 17:14:06 +08:00
unknown 9968a7ddcb Add support for width & height in percentage for RichElementImage 2022-08-16 12:09:02 +05:30
DESKTOP-16GC0B8\813658 ff899d5511 Fixed get writable path for android 2022-08-13 23:53:40 +03:00
halx99 b1287b8cc5 Migrate cmake files 2022-08-11 15:41:10 +08: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
halx99 9ce38e060b Improve android gradle utils 2022-08-07 09:26:56 +08:00
halx99 93550405bc Improve android gradle cmake & ndk setup 2022-08-06 23:09:16 +08:00
halx99 714d814288 Improve android setup tools
- Rename ANDROID_SDK to ANDROID_SDK_ROOT, refer to: https://developer.android.google.cn/studio/command-line/variables
- CMake: Use ndk in sdk_root/ndk/xxx/
2022-08-06 22:02:58 +08:00
halx99 5a2ac3d34b Improve gradle script 2022-08-02 17:55:00 +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
涓€绾跨伒 bbe5566dec [Gradle] Fix findNDK 2022-07-12 21:51:44 +08:00
halx99 5f04e88dc7 Improve android gradle script axistools.gradle 2022-07-12 13:07:27 +08:00
涓€绾跨伒 bf77f46dce Migrate engine namespace to `axis`(abbv: `ax`) (#743) 2022-07-11 17:50:21 +08:00
涓€绾跨伒 9b4a7b1446 Merge: 04ca16125b 9ee4181976
Merge pull request #739 from axis-project/migrate-engine-test-extension-config

Migrate tests, extensions and configs
2022-07-10 09:47:41 +08:00
涓€绾跨伒 d4c4d395a5 Merge: 18076d09f0 2f8d5dd2f6
Merge pull request #738 from solan-solan/index_array_to_stl

IndexArray to stl
2022-07-10 09:47:27 +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
DelinWorks 70cd6095cc Fix CMAKE 2022-07-08 02:10:35 +03:00
halx99 2ed8c71eb5 Setup vsync for all PC platforms 2022-07-01 17:55:54 +08:00
halx99 f0758b7993 Improve mac fps limit 2022-07-01 11:02:31 +08:00
DelinWorks 35bd10e707 Add UINT mesh index format support. 2022-06-30 21:44:37 +03:00
halx99 0707b47256 Try fix fps 2022-07-01 01:00:18 +08:00
涓€绾跨伒 6d2bc9bbf2 Revert "Unify frame rate control logical to director mainLoop" 2022-06-30 21:04:00 +08:00
涓€绾跨伒 8b42852d1f Delete unused comment [skip ci] 2022-06-28 17:14:35 +08:00
涓€绾跨伒 614397d0f4 Merge: 7f795d7a6c c6c07428bf
Merge pull request #677 from rh101/rendertarget-fix

Make the render target selectable for RenderTexture
2022-06-28 16:39:59 +08:00
halx99 f8c036e621 Improve frame rate control precision 2022-06-28 16:33:50 +08:00
rh101 62af2299a6 Allow the selection of a shared or new render target for each instance of RenderTexture
Add a method to check if the RenderTexture is using a shared render target
2022-06-28 17:42:33 +10:00