Commit Graph

220 Commits

Author SHA1 Message Date
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 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
halx99 76f00b4456 Make renderer works on opengl core profile mode 2023-07-20 20:23:56 +08:00
halx99 71c2d3a3b1 Init axslc search path at ProgramManager init 2023-07-20 10:20:06 +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 bc6cdf0b11 Fix ci 2023-07-19 21:04:50 +08:00
halx99 e11b8de571 Fix ci 2023-07-19 19:53:32 +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
Deal 6207431e6e Fix glDisable state guard 2023-07-19 00:17:10 +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 a858d08cc3 FIx GL error 2023-07-18 15:16:29 +08:00
halx99 3d4b03b6a2 Fix UWP build
- Use compatible GLES API: glGetActiveUniform
- glGetActiveUniformName not present in both GLES3 and GLES2
2023-07-18 00:10:57 +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
Turky Mohammed d3ee6c41c3 Implement `Uniform Buffer Objects` in OpenGL (#1277) 2023-07-17 11:39:12 +08:00
halx99 bc6f8802e6 Remove binding index for shader uniform block
Not required
2023-07-16 22:10:48 +08:00
halx99 e34fe4ba98 Fix light num configure type 2023-07-16 14:38:06 +08:00
halx99 b2fdbb9b21 Commits migrated engine builtin shaders 2023-07-16 14:15:14 +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 ac778081d1 Remove unnecessary light define checks 2023-07-16 00:42:16 +08:00
halx99 09d8f849fe Fic ci 2023-07-15 23:52:25 +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 c6b575e666 Revert define on shader, not suitable glslcc 2023-07-14 23:21:51 +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 aeb6268f1c Fix cpp-tests shader loads 2023-07-11 16:40:49 +08:00
halx99 17a3e6408b Re-enable flat-ubos 2023-07-11 15:43:50 +08:00
halx99 5d7a86a1b9 Merge: 89a739a8ea 09a3a950ae
Merge branch 'dev' into 1.1-dev
2023-07-10 15:57:00 +08:00
j-jorge fcdbd9968e Add missing include guards. (#1265) 2023-07-10 08:47:20 +08:00
RH 6bc2deeba8 Update Sprite::getQuad() to return const reference (#1260) 2023-07-09 19:00:12 +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 25077669c8 For bot happy 2023-07-07 04:05:56 +08:00
halx99 7cb9aac41e Rename option `AX_USE_COMPAT_GL` to `AX_USE_ANGLE` 2023-07-03 20:35:55 +08:00
halx99 1ed5596377 Update docs 2023-06-12 14:15:37 +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(涓€绾跨伒) 621c94c9e7 Enable video player(VideoTexture) based on new MediaEngine for macOS and tvos (#1154)
* Ready for PR macOS

* Update videoTexture.frag

* Fix compile

* Fix h265 for mac [skip ci]

* Fix compile error

* Update readme [skip ci]
2023-04-02 01:51:36 +08:00
halx99 90f441441e For clang-format happy 2023-03-28 00:07:33 +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
Sam ba935d7dd0 Improve Android performance (#1125)
* Improve Android performance

* Remove unused memset

* Using the same code as Metal.

* Add a comment
2023-03-21 19:43:37 +08:00
Yehsam23 9b0b6fd4ce Impore Metal Renderer Dirty Detection. (#1120)
Remove setTargetFlags _dirty
2023-03-15 11:09:20 +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
RH 8d52ad2e56 Add missing renderer source file references to CMakeLists.txt (#1100)
* Add missing file references to CMakeLists.txt
2023-03-07 18:51:58 +08:00
Andreas Loew d444937358 display error message if shader initialization fails (#1051) 2023-02-09 23:07:36 +08:00
Deal(涓€绾跨伒) 4d608eba39 Fix #990 2023-02-09 21:40:38 +08:00
solan-solan 7378af1e88 GL_RGBA32F GL backend support (#1034)
* Added GL_RGBA32F_EXT for GL backend to support floating point textures.

* Committing genbindings changes

* Added fp texture constant to mtl.

Co-authored-by: solan-solan <solan-solan@users.noreply.github.com>
2023-01-19 22:10:41 +08:00
Turky Mohammed 35549b128c Update positionColorLengthTexture.vert (#1021) 2023-01-08 09:36:14 +08:00
涓€绾跨伒|Deal 210eb3f3ab fix typo 2023-01-07 20:24:49 +08:00
涓€绾跨伒|Deal 4d0ffcdbdb Fix typo 2023-01-07 19:46:20 +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
halx99 3d1bf684a4 Fix ci 2022-11-10 22:03:40 +08:00
halx99 65920b8f9d Fix ci 2022-11-01 16:02:13 +08:00
涓€绾跨伒|Deal 762e1b09c0 Update CCRenderer.h 2022-11-01 09:27:50 +08:00
halx99 d5a91886dc Fix ci warnings 2022-10-27 13:01:18 +08:00
halx99 10ea947a50 Validate shared VertexLayout from Shader Program 2022-10-20 20:19:56 +08:00
halx99 04f5a9879d Fix memory leak 2022-10-20 20:18:32 +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 ba95ca98cf Update Device.h 2022-10-12 20:37:56 +08:00
halx99 8c18f962d5 馃敤Fix #887 2022-10-12 19:44:31 +08:00
涓€绾跨伒|Deal 48a7da97d6 Final migrate (#876) 2022-10-01 16:24:52 +08:00
halx99 8f41f8355c Change Program::getActiveAttributes retun type to reference 2022-09-24 11:38:41 +08:00
halx99 82acade5b9 Improve code style 2022-09-24 10:42:11 +08:00
涓€绾跨伒|Deal cae2dd7820 Fix ci 2022-09-23 23:25:01 +08:00
halx99 3a9a26c743 Fix #861 2022-09-23 22:41:30 +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
涓€绾跨伒|Deal e37761260a Migrate, use simple namespace ax (#818) 2022-08-29 20:51:22 +08: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
Turky Mohammed 818eb3d754 [PROPOSAL] Add wireframe rendering and function classification improvements. (#778)
* Add wireframe rendering and function classification improvements.

* Fix platform compilation.

* Update CommandBufferGL.cpp

GL_LINE and GL_FILL are no present in mobile devices, so the raw value has been used instead.

* Update CommandBufferGL.cpp

* Try fix IOS compilation

* Update CommandBufferMTL.h [skip ci]

* GLES & D3D11 wireframe

Added crude but okay wireframe mode for GLES and D3D11 devices.
2022-08-06 16:17:55 +08:00
涓€绾跨伒 c6ff51e3be Fix #771 2022-08-02 21:48:16 +08:00
aismann 2a2e8a1e95 Improve c++11 for-loop performance with Universal References (#760) 2022-07-21 19:19:08 +08:00
DelinWorks 09bc97110b Add primitive type support for mesh materials. 2022-07-20 02:33:45 +03:00
DelinWorks 881d3e722c Fix quad vertex shader compilation. 2022-07-19 08:20:13 +03: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
涓€绾跨伒 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