Commit Graph

151 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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
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
j-jorge fcdbd9968e Add missing include guards. (#1265) 2023-07-10 08:47:20 +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
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
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
halx99 8bf4817ff7 Fix compile errors in c++17 2023-03-08 08:34:17 +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
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 04f5a9879d Fix memory leak 2022-10-20 20:18:32 +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
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
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
涓€绾跨伒 9892aa3d1c Migrate axys (#782) 2022-08-08 18:02:17 +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
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
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
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
涓€绾跨伒 3cd56529fb Fix ci 2022-07-07 09:59:21 +08:00
halx99 222769bf59 Improve code style 2022-07-07 09:30:48 +08:00
涓€绾跨伒 e6ae7c44b3 Merge: 555f847c1f 6dd8b2c74a
Merge pull request #702 from DelinWorks/improve-engine-types

[PROPOSAL] Move global enums to their own file.
2022-07-05 00:39:20 +08:00
DelinWorks 49508bd13c Improve function naming. 2022-07-04 17:45:23 +03:00
halx99 0b4363bfc0 Refator sampler name in shader 2022-07-04 21:26:48 +08:00
aismann 684fb3dcee FPS display set position should be set by API #695 2022-07-01 17:15:20 +02:00
Turky Mohammed 8b22650ac9 Merge: 24c2550a09 8806d7bdf7
Merge branch 'adxeproject:dev' into improve-3d-renderer
2022-07-01 13:46:04 +03:00
DelinWorks b6a80ab5b6 Fix get default camera nullptr on scene initialization. 2022-07-01 03:34:37 +03:00
DelinWorks 8485ece883 Update BufferGL.h 2022-06-30 22:43:56 +03:00
DelinWorks f506e43c67 Update BufferGL.h 2022-06-30 22:26:02 +03:00
DelinWorks 35bd10e707 Add UINT mesh index format support. 2022-06-30 21:44:37 +03:00
halx99 cb8123e7a7 Improve GPUTextureFormat info enums 2022-06-27 15:37:55 +08:00
halx99 c25552c1b7 Improve code style 2022-06-25 00:36:50 +08:00
halx99 ee3605c991 Improve renderer 2022-06-24 14:18:48 +08:00
涓€绾跨伒 767126e854 glGetTexImage only supported by Natvie GL 2022-06-22 19:09:45 +08:00
Turky Mohammed 5a0f0f9073 Merge: 101f09d912 820ad21a46
Merge branch 'adxeproject:dev' into camera-2d-zoom-feature
2022-06-17 17:16:55 +03:00
DelinWorks fed10a0197 Add comment. [skip ci] 2022-06-17 17:16:39 +03:00
Turky Mohammed 7c1c0a0f56 Merge: 610711a164 990531ecdc
Merge branch 'adxeproject:dev' into partical-system-animation
2022-06-16 19:41:56 +03:00
DelinWorks fd4bfb0fd5 Apply orthographic zoom values non-destructively. 2022-06-16 16:41:40 +03:00
halx99 4301448ba4 Set default encoding to UTF-8 [skip ci] 2022-06-16 21:18:31 +08:00
Turky Mohammed fc2ff5003f Update CCParticleSystem.h 2022-06-16 14:13:59 +03:00
halx99 51b6e5391f Fix ci, astc only support sse2 for x86 target 2022-06-16 12:22:39 +08:00
DelinWorks 73b29e235e Add cpp_tests and improve system. 2022-06-15 23:04:08 +03:00
halx99 5c9ab14d3e Fix astc cmake simd check for windows x64 2022-06-15 21:16:51 +08:00
DelinWorks 82722eefc2 Fix rotation override and node base class calls.
Make sure Node class calls it's base functions and NOT the ones overridden when changing position, and make sure the rotation set for the camera isn't altered when calling applyCustomProperties().
2022-06-15 16:10:47 +03:00
aismann a0dfe6e2ab SimpleSnake small updates
- CodeCleanup
- MIT License file
- readme update
2022-06-15 07:02:08 +02:00
DelinWorks 14666d9c1f Add position rotation setters & getters override for custom behaviors. 2022-06-15 03:48:26 +03:00
halx99 ce63a440ef Take care glGetTexImage func pointer check 2022-06-14 15:33:42 +08:00
halx99 a6e7eb8942 Rename source file name match with class name 2022-04-27 18:24:33 +08:00
halx99 cc5509f23a Update copyright notices 2022-04-25 19:15:46 +08:00
halx99 96e789f5c8 Reindent code [skip ci] 2022-04-24 21:44:41 +08:00
halx99 8caed810e0 Fix leak 2022-03-13 12:05:22 +08:00
halx99 beb8606e16 Fix ci & update project url in sources 2022-01-04 12:36:20 +08:00