Commit Graph

3206 Commits

Author SHA1 Message Date
halx99 28150610be Improve code style 2023-08-02 11:34:06 +08:00
halx99 2d0a63660f Improve custom program draw batch 2023-08-02 10:31:52 +08:00
halx99 30306ad316 Delete glsl-optimizer due to new shader workflow only require offline tool glslcc 2023-08-01 12:12:10 +08:00
halx99 ae3bcb77da Fix navmesh debug draw vertex layout incorrect 2023-08-01 12:08:13 +08:00
halx99 842d7c1666 Update readme files [skip ci] 2023-08-01 12:07:19 +08:00
halx99 5a68442d1e Improve code style 2023-08-01 12:00:31 +08:00
Turky Mohammed 1b2c651daa [BUG] Instancing memory leak fix (#1288)
* Implement Uniform Buffer Objects in OpenG

* Revert "Implement Uniform Buffer Objects in OpenG"

This reverts commit 7d32372ef4.

* Update Mesh.cpp
2023-08-01 06:21:42 +08:00
halx99 48f6659b4b Improve build script 2023-07-31 12:07:10 +08:00
halx99 651d5570f6 Improve build1k.ps1 2023-07-31 10:35:45 +08:00
halx99 1a3a4fa0eb Implement metal instancing draw 2023-07-31 10:03:24 +08:00
halx99 805b115719 Update lua bindings 2023-07-29 21:30:35 +08:00
halx99 bba3818829 Fix gray shader name 2023-07-29 17:46:10 +08:00
halx99 a7473d3baf Move optional tools to manifest.ps1 2023-07-29 15:48:48 +08:00
halx99 d2dda873c4 Improve code style 2023-07-29 15:46:04 +08:00
halx99 3d41b53500 Update README.md notice 2023-07-28 15:48:04 +08:00
halx99 51cbc84aaf Fix android imgui 2023-07-28 15:22:07 +08:00
halx99 9624ec4663 Fix android image reference issue 2023-07-28 15:21:56 +08:00
halx99 a04c2d6945 Merge pull request #1253 from DelinWorks/instancing-support
Co-authored-by: Turky Mohammed <45469625+DelinWorks@users.noreply.github.com>
2023-07-28 14:24:58 +08:00
Deal ec4e5e1258 Fix ProgramGL uniform stage 2023-07-28 13:45:52 +08:00
halx99 1d0c79b697 Fix glsl attrib location out of range 2023-07-28 11:48:59 +08:00
halx99 0f642ddb2e Improve shader module and empty texture managment 2023-07-28 11:46:34 +08:00
halx99 d882208b8b Improve code style 2023-07-28 10:37:27 +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 c8464ed5db Remove unnecessary uniform convert 2023-07-27 20:37:06 +08:00
halx99 286ff503c5 Improve sgs binary reflect info read 2023-07-27 19:13:09 +08:00
halx99 edee8af2a6 Fix metal render issues
- Fix metal uniform buffer alignment size
- Fix spine two color tint render for metal
- Update glslcc to 1.9.0
2023-07-27 18:21:16 +08:00
halx99 a3548bbe3d Fix metal uniform block member offset and size 2023-07-26 20:05:16 +08:00
halx99 0c400fcf4b Improve example_LensFlare.fsh 2023-07-26 13:50:13 +08:00
halx99 cf69428746 Use macro for shader location binding 2023-07-25 19:06:12 +08:00
halx99 ea2124bb2e Fix ci 2023-07-25 10:18:14 +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 5a0838e52b Migrate materials 2023-07-23 21:43:25 +08:00
halx99 c675e15a92 Migrate cpp_tests shaders 2023-07-22 23:59:17 +08:00
halx99 9770aaa812 Fix shader files search 2023-07-22 23:58:52 +08:00
halx99 0d4a274d41 Fix incorrect ubo upload
because ubo was share in ProgramGL
2023-07-21 20:49:06 +08:00
halx99 756e860794 Fix state for multi gl context
Solve imgui multi-viewport afterimage problem
2023-07-21 19:32:44 +08:00
halx99 1434b1a6c9 Add optimizing comment[skip ci] 2023-07-21 08:37:21 +08:00
halx99 ea91aebb91 Improve gl state cache 2023-07-21 07:59:38 +08:00
Deal a4aef9e98e Fix GLSLCC out dir 2023-07-20 21:26:54 +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
Deal 261b4b5a16 Update axmolver.h.in [skip ci] 2023-07-20 10:22:45 +08:00
halx99 71c2d3a3b1 Init axslc search path at ProgramManager init 2023-07-20 10:20:06 +08:00
halx99 60bbd3b1a3 Auto pack axslc into android apk 2023-07-20 01:18:27 +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 ef51437c25 Fix cpp_tests resources load priority 2023-07-19 21:05:46 +08:00
halx99 bc6cdf0b11 Fix ci 2023-07-19 21:04:50 +08:00