Commit Graph

356 Commits

Author SHA1 Message Date
halx99 7864d8f6ec Enable FPS control for winuwp 2023-12-14 01:46:41 +08:00
halx99 a6107139b6 Fix Device::getPixelRatio for win32,android 2023-12-13 01:56:53 +08:00
RH baa9de1a5f
Call Android native renderer while opengl context is still valid (#1504) 2023-12-12 09:47:11 +08:00
halx99 206c7e3352 Fix mac Device::getPixelRatio incorrect 2023-12-12 00:45:34 +08:00
Deal 213f788f75
Merge backend Device, DeviceInfo to DriverBase (#1499)
* backend::Device ==> backend::DriverBase
* backend::DeviceInfo ==> backend::DriverBase
* code style: remove unnecessary virtual function marks
2023-12-11 21:59:25 +08:00
halx99 affcf05b69 Prepare 2.1.0 release
* Update copyright notice
* Remove prebuilt libs from SCM
* Remove optional thirdparty sources/repo from SCM
* Remove tests resources  folder 'Content' from SCM
2023-12-08 01:04:43 +08:00
Paulo Coutinho 0aab228acc Rename glview to correct representative name (#1467) 2023-12-01 09:04:51 +08:00
Deal b062eb3dc2 Improve linux deps (#1441) 2023-11-19 09:38:12 +08:00
RH 4eb133bea7 [Android] Ensure AxmolEditBox used by TextField is visible prior to receiving focu (#1429) 2023-11-10 10:33:09 +08:00
RH 7d79c095bb Add virtual file system support to WICImageLoader (#1425)
* Add virtual file system support to WICImageLoader

* Ensure supplied buffer pointers are not null

* Simplify conditional check to only not allow reads in WRITE file mode.
2023-11-08 21:56:51 +08:00
RH 2a650ba110 [UWP] Use Package to get app version information (#1424) 2023-11-08 08:16:28 +08:00
Deal 54ef33d34d Add API: Device::getPixelRatio (#1418) 2023-11-06 00:19:44 +08:00
RH 6f00aed73f [Android] Enable support for restarting application process if OpenGL context is lost (#1409)
* Add code to allow app to restart cleanly.
Call native renderer before the sleep in onDrawFrame due to possibility of invalid texture data after delay.
Dispatch event if application process will be restarted.
Add AX_ENABLE_RESTART_APPLICATION_ON_CONTEXT_LOST configuration option. Disabled if AX_ENABLE_CACHE_TEXTURE_DATA is enabled.

* Add missing code for nativeOnContextLost

* Revert onDrawFrame change to commit in separate PR

* Fix activity reference
2023-11-02 19:41:41 +08:00
RH 589f046007 Make AxmolEditBox invisible by default. (#1414) 2023-11-01 20:49:38 +08:00
RH cc3156e66e [Android] Reset the OpenGL state cache if the context is lost (#1401) 2023-10-25 09:35:58 +08:00
RH 86ab2fe995 Fix undeclared identifier errors (#1370)
* Fix undeclared identifier errors

* Add IFileStream::Mode to the FileStream scope
2023-10-03 13:59:34 +08:00
halx99 352f3ad420 Remark IFileStream::tell as `virtual`, refer #1366 2023-10-01 22:05:45 +08:00
Deal b892461a2b UWP: Migrating from C++/CX to C++/WinRT (#1355) 2023-09-26 00:11:33 +08:00
halx99 d03c31fb68 Fix #1332 2023-09-15 20:08:27 +08:00
halx99 58cfc7c65d Make wasm devtools works 2023-09-15 19:33:25 +08:00
halx99 983e383077 Improve build script 2023-09-13 16:00:33 +08:00
halx99 b8baf0d1a8 Android: Allow use external cmake outside of android sdk 2023-09-12 19:32:20 +08:00
halx99 f2470b99aa Android: Update AGP to 8.1.1
- jdk-17.x+ required
- gradle-bin 8.3
- Build-Tools 33.0.1
-  Delete package name from AndroidManifest.xml
- Add namespace "org.axmol.xxx" in 'app/build.gradle'
- Rename compileSdkVersion ==> compileSdk in 'app/build.gradle'
- Use rootProject.layout.buildDirectory instead rootProject.buildDir
- Android Studio 2022.3.1+
2023-09-12 01:13:06 +08:00
halx99 8b96ff7f1b Tidy platform macros/consts value 2023-09-11 19:37:49 +08:00
halx99 0e23f9812f GLView: Restore from maximized when setWindowed 2023-09-11 00:06:34 +08:00
halx99 45cb0d82dc Add cmake option 'AX_WASM_SHELL_FILE'
Specify the wasm shell file, by default use
`${_AX_ROOT}/core/platform/wasm/shell_minimal.html`
2023-09-07 21:09:36 +08:00
halx99 c7ab6a227e Processing wasm touch events properly 2023-09-07 19:32:06 +08:00
Deal bb4c08a7d8 Update GLViewImpl-desktop.cpp
wasm not support config vsync
2023-09-07 00:49:53 +08:00
halx99 5a528b46e5 WASM: use shorten target platform name 'wasm' instead 'emscripten'
For examples:
- win32 app build by msvc/clang and runs on windows
- wasm app build by emscripten/emcc and runs on web browsers
2023-09-05 22:17:18 +08:00
halx99 80f1e0952f Update wasm persist path 2023-09-03 18:25:39 +08:00
halx99 cbb23108cb Merge: e1f3c5d76f c21736c0d6
Merge branch 'dev' of https://github.com/axmolengine/axmol into dev
2023-09-03 11:47:36 +08:00
halx99 7abad49137 Appveyor CI: build wasm release mode 2023-09-03 11:47:33 +08:00
halx99 692688accf Fix tvos ci 2023-09-03 09:46:21 +08:00
halx99 7be0f8c61a Fix ios ci 2023-09-02 21:45:43 +08:00
halx99 931fb45990 Fix ios ci 2023-09-02 21:18:54 +08:00
halx99 c66ac9dedc Merge: 41714a04fd 2631c8405b
Merge branch '1.x' into dev
2023-09-02 19:56:50 +08:00
halx99 b21fcb0272 Fix gendocs.ps1 2023-09-02 19:56:33 +08:00
halx99 8f8418c15d Merge: c8bfa8cdf1 062b510c38
Merge 1.x WASM support into 'dev'
2023-09-02 19:47:18 +08:00
nowasm 03f007fdbe Add webgl aka wasm build support (#1315) 2023-09-01 16:31:14 +08:00
halx99 4c0c328b80 Merge: 6d82d3a76c 5e3cba78a6
Merge branch '1.x' into dev
2023-09-01 16:29:02 +08:00
halx99 396313de47 consle-next: Looking both powershell 7.x and 5.x 2023-09-01 16:28:34 +08:00
iAndyHD3 ed39cf3996 Update AXBuildHelpers.cmake (#1316)
fix find_program call
2023-09-01 16:09:58 +08:00
halx99 b1ddb2fcce Sync #1316 2023-09-01 16:09:27 +08:00
halx99 a000ccbab5 Update site build 2023-09-01 14:49:03 +08:00
halx99 ada7deb002 Sync docs [skip ci] 2023-09-01 14:48:42 +08:00
halx99 310c5868ec Merge: 8f8814532d bdbbc55909
Merge branch '1.x' into dev
2023-09-01 13:36:38 +08:00
halx99 e5d984a4f8 Auto deploy wasm demo to gh pages 2023-09-01 13:36:23 +08:00
halx99 5fe4e6d61f Merge: 89955d901a 279ea746cc
Merge branch '1.x' into dev
2023-09-01 10:37:57 +08:00
halx99 e565645443 Auto get release list for doc build 2023-09-01 10:31:34 +08:00
halx99 f3f91147a3 Merge: 2a6e84aa15 2969a5b4ff
Merge branch '1.x' into dev
2023-09-01 03:35:30 +08:00
halx99 fe60bf0a1b Fix cmake setup for linux 2023-09-01 01:17:49 +08:00
halx99 ec9b7f6e42 Merge: 1d4deae63a 7399ac41a6
Merge branch '1.x' into dev
2023-09-01 01:07:15 +08:00
halx99 0094c6bbb2 keep files for site build [skip ci] 2023-08-31 22:08:50 +08:00
halx99 2566feff5a Merge: 6e1be139bd 1d26aa28a5
Merge branch '1.x' into dev
2023-08-31 21:20:23 +08:00
halx99 12bb1eb62a Improve axmol site build 2023-08-31 21:20:01 +08:00
halx99 b50c629307 Merge: bdf976681e 82679fca74
Merge branch '1.x' into dev
2023-08-31 19:56:21 +08:00
Deal c8d0fb85ea Fix linux build 2023-08-31 18:59:12 +08:00
halx99 0952acea6a Merge: 4fe5dd55e7 cc826cb6ae
Merge branch '1.x' into dev
2023-08-31 18:14:46 +08:00
halx99 b97b1a5630 Fix ci 2023-08-31 18:14:26 +08:00
halx99 06d51ac961 Merge: d3f55e0472 8e723b0cc9
Merge branch '1.x' into dev
2023-08-31 18:09:23 +08:00
halx99 4a52c781a2 Fix ci 2023-08-31 18:07:23 +08:00
halx99 09db3594f2 Merge: 3d97d1bcc1 0a63a8e364
Merge branch '1.x' into dev
2023-08-31 17:57:36 +08:00
halx99 a3a117ad2d Update script permision 2023-08-31 17:57:19 +08:00
halx99 449a596f3e Merge: fd2cbdc331 a816a8ac64
Merge branch '1.x' into dev

# Conflicts:
#       README.md
#       README_CN.md
#       install-pwsh.sh
#       tools/console/axmol
2023-08-31 17:56:09 +08:00
halx99 c2e55c4cdc Merge console-next from dev into 1.x 2023-08-31 17:48:39 +08:00
halx99 cce6c2f8e1 Improve code style 2023-08-30 19:35:38 +08:00
halx99 48209e9203 Improve FileStream API qualifier 2023-08-26 16:53:01 +08:00
halx99 5183995a36 Merge: f9b6553e57 94be720d3f
Merge branch '1.x' into dev
2023-08-25 16:57:54 +08:00
halx99 2bf41d7d31 Fix ci 2023-08-25 16:57:38 +08:00
halx99 46f668b01b Remove render backend setLineWidth [skip ci]
Due to not all of GL and Metal support it, so remove it unify behavior
developers shouldn't relay on it
2023-08-25 16:49:08 +08:00
halx99 f525d6c726 Update docs 2023-08-25 16:46:32 +08:00
halx99 c230ed8c2c Improve renderer backend choosing 2023-08-23 20:09:06 +08:00
halx99 66d68707f1 Improve GLES2 compatibility 2023-08-22 19:34:28 +08:00
halx99 66c65ff6bb Fix desktop GLES profile setup 2023-08-21 21:43:27 +08:00
halx99 5ceb1e9350 Allow instancing featrue on GLES2 with instace draw EXT 2023-08-17 20:22:24 +08:00
halx99 bfe167121e Add cmake option AX_GLES_PROFILE
Valid value of AX_GLES_PROFILE: 0, 200, 300

By default, the AX_GLES_PROFILE is:

- android: 200, allow axmol apps runs on: API 17 Android 4.2+ devices
- winuwp: 300
- Win32/linux/osx/ios/tvos: 0

For ios/tvos, will forcing AX_GLES_PROFILE to 300 if AX_GLES_PROFILE not 0
2023-08-14 20:40:05 +08:00
Deal 9dc9e9adc7 Update android.yml 2023-08-13 23:58:18 +08:00
halx99 bd0e1fef4b Fix compile error 2023-08-13 22:09:02 +08:00
Deal 572bb2f700 Test use glad on android 2023-08-13 00:24:35 +08:00
halx99 79187cf9f6 Improve ZipUtils 2023-08-11 20:52:15 +08:00
halx99 433f459787 Fix ci 2023-08-11 17:05:39 +08:00
halx99 6b58db0eb2 Move posix defines to FileStream.cpp 2023-08-11 15:25:19 +08:00
halx99 bf31f7b77d Fix ci 2023-08-11 15:04:33 +08:00
halx99 cdc8bb0b4c Refactor FileStream implementation 2023-08-11 14:42:41 +08:00
halx99 cc9cbcbff9 Merge: eba7fc17ba 6bbdc273f8
Merge branch 'main' into dev
2023-08-10 18:53:35 +08:00
halx99 46ed10dac3 Update yasio to v4.1.0 2023-08-10 18:36:45 +08:00
halx99 ec3b06aa33 Improve cmake options 2023-08-10 13:33:22 +08:00
halx99 f63932bb91 Update ios GLES to GLES3 2023-08-09 22:25:15 +08:00
halx99 7a40c94e2a Check vao creation 2023-08-09 21:46:03 +08:00
halx99 615cfa5bb2 Update mac GL to 330 2023-08-09 21:39:01 +08:00
halx99 1ec408812f Fix cmake setup 2023-08-09 14:37:43 +08:00
Deal 969baf94d4 Update CHANGELOG [skip ci] 2023-08-09 13:52:28 +08:00
halx99 238457af4d Improve code style [skip ci] 2023-08-09 13:25:20 +08:00
halx99 d2dda873c4 Improve code style 2023-07-29 15:46:04 +08:00
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