Commit Graph

249 Commits

Author SHA1 Message Date
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
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