Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

middleware2d components rendering in native mode #12788

Merged
merged 16 commits into from Sep 20, 2022

Conversation

zhakesi
Copy link
Contributor

@zhakesi zhakesi commented Sep 15, 2022

No description provided.

@github-actions
Copy link

github-actions bot commented Sep 15, 2022

Interface Check Report

! WARNING this pull request has changed these public interfaces:

@@ -252,11 +252,8 @@
         set vData(val: Float32Array);
         protected _iData: Uint16Array;
         get iData(): Uint16Array;
         set iData(val: Uint16Array);
-        protected _useLinkedData: boolean;
-        get useLinkedData(): boolean;
-        set useLinkedData(val: boolean);
         protected _nativeObj: __private._cocos_2d_renderer_native_2d__NativeUIMeshBuffer;
         get nativeObj(): __private._cocos_2d_renderer_native_2d__NativeUIMeshBuffer;
         protected _sharedBuffer: Uint32Array;
         get sharedBuffer(): Uint32Array;
@@ -31473,8 +31470,10 @@
              * @default false
              */
             get debugBones(): boolean;
             set debugBones(value: boolean);
+            get enableBatch(): boolean;
+            set enableBatch(value: boolean);
             /**
              * @en
              * The bone sockets this animation component maintains.<br>
              * Sockets have to be registered here before attaching custom nodes to animated bones.
@@ -31498,8 +31497,9 @@
             protected _defaultCacheModeValue: AnimationCacheMode;
             protected _timeScale: number;
             protected _playTimes: number;
             protected _debugBones: boolean;
+            protected _enableBatch: boolean;
             _debugDraw: Graphics | null;
             /**
              * @internal
              */
@@ -31596,8 +31596,9 @@
             _emitCacheCompleteEvent(): void;
             updateAnimation(dt: any): void;
             onDestroy(): void;
             _updateDebugDraw(): void;
+            protected _updateBatch(): void;
             _buildArmature(): void;
             querySockets(): string[];
             /**
              * @en Query socket path with slot or bone name.
@@ -44245,8 +44246,10 @@
              * @zh 是否启用染色效果。
              */
             get useTint(): boolean;
             set useTint(value: boolean);
+            get enableBatch(): boolean;
+            set enableBatch(value: boolean);
             /**
              * @en
              * The bone sockets this animation component maintains.<br>
              * Sockets have to be registered here before attaching custom nodes to animated bones.
@@ -44354,8 +44357,9 @@
              * 默认的动画名称。
              * @property {String} defaultAnimation
              */
             protected defaultAnimation: string;
+            protected _enableBatch: boolean;
             protected _sockets: SpineSocket[];
             protected _drawIdx: number;
             protected _drawList: memop.RecyclePool<SkeletonDrawData>;
             protected _debugMesh: boolean;
@@ -50626,12 +50630,10 @@
             get vData(): Float32Array;
             set vData(val: Float32Array);
             get iData(): Uint16Array;
             set iData(val: Uint16Array);
-            get useLinkData(): boolean;
-            set useLinkData(val: boolean);
             syncSharedBufferToNative(data: _types_globals__TypedArray): any;
-            initialize(device: gfx.Device, attrs: gfx.Attribute[], vFloatCount: number, iCount: number): any;
+            initialize(attrs: gfx.Attribute[]): any;
             reset(): any;
             destroy(): any;
             setDirty(): any;
             recycleIA(): any;
@@ -51318,9 +51320,9 @@
         }
         export enum _cocos_2d_renderer_render_draw_info__RenderDrawInfoType {
             COMP = 0,
             MODEL = 1,
-            IA = 2,
+            MIDDLEWARE = 2,
             SUB_NODE = 3
         }
         export class _cocos_2d_renderer_render_draw_info__RenderDrawInfo {
             protected _accId: number;

}

void MeshBuffer::cleanUIMeshBuffer() {
for(auto &buf : _uiMeshBufferArr) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

auto &buf -> auto *buf

@@ -84,6 +88,10 @@ class MeshBuffer {
return _ib;
}

cc::UIMeshBuffer *getUIMeshBuffer();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc::UIMeshBuffer *getUIMeshBuffer() -> cc::UIMeshBuffer *getUIMeshBuffer() const

@@ -84,6 +88,10 @@ class MeshBuffer {
return _ib;
}

cc::UIMeshBuffer *getUIMeshBuffer();

const ccstd::vector<cc::UIMeshBuffer *> &uiMeshBuffers();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const ccstd::vector<cc::UIMeshBuffer *> &uiMeshBuffers() -> const ccstd::vector<cc::UIMeshBuffer *> &uiMeshBuffers() const

accID = 65535;
}
ccstd::vector<UIMeshBuffer *> uiMeshArray;
auto uiBufArray = buffer->uiMeshBuffers();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use reference instead

@@ -172,6 +172,11 @@ void UIMeshBuffer::parseLayout() {
_meshBufferLayout = reinterpret_cast<MeshBufferLayout*>(_sharedBuffer);
}

// only initialize needCreateLayout = true call it
void UIMeshBuffer::freeLayout() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be public? It seems is used internally.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And can free it in destructor?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@holycanvas holycanvas merged commit c7761e5 into cocos:v3.6.2 Sep 20, 2022
cocos-robot pushed a commit to cocos-robot/engine that referenced this pull request Sep 20, 2022
minggo pushed a commit that referenced this pull request Sep 20, 2022
…12818)

Co-authored-by: cocos-robot <cocos-robot@cocos.com>
holycanvas added a commit that referenced this pull request Oct 12, 2022
* when checking useSystemFont, the fontFamily should appear (#12684)

Co-authored-by: zhangmingzhen <mingzhen.zhang@cocos.com>

* remove rebundant useLocalData (#12640)

(cherry picked from commit 7cca981)

Co-authored-by: zhangmingzhen <mingzhen.zhang@cocos.com>

* Modify version number (#12726)

Co-authored-by: liuyi <liuyi@cocos.com>

* fix builtin asset hot-reload (#12736)

* improve: move xr init to infrastructure (#12765)

* improve: move xr init to infrastructure

* fix: move initxr, before gfx

* fix: format warning

* [Feature] build template add config file (#12701)

* part of build template add config json for creating build templates and version checks for each platform

* update default template version

* add RenderQueue custom ability to classic pipeline (#12760)

* Wgpu 3.6.2 WGPU_CI_ON  (#12731)

* fix okhttp onClosing not call close (#12783)

* fix transparency, emissive and  specularfactor with dcc effects (#12798)

* reverse occlusion parameter in effects (#12795)

* [native] Fix getting wrong value of globals.ambient.skyLightingColor (#12810)

* refine:  remove unneeded code (#12808)

* feat: update meta files (#12807)

* middleware2d components rendering in native mode (#12788)

* middleware2d components rendering in native mode

* support spine/dragonbones set enable batch

* support spine rendering in batching mode

* get batcher2d instance from root

* process about with type conversion

* fix some code style

* use material hash to merge draw batch

* deal with fill z

* fix dragonbones fill z

* remove some code no used any more

* refactoring some code

* modify some code

* add free memory

* fix clang-tidy

* delete mesh-buffer-layout in destructor

* byte alignment

* [ci skip][AUTO]: Automated code generating update: 88c3a7f  (#12788) (#12818)

Co-authored-by: cocos-robot <cocos-robot@cocos.com>

* simplify (#12782)

* [code] move decode32 to unpack.chunk (#12823)

* [Optimize] Cache current time for audio player in minigame. (#12814)

* Cache current time for minigames

* Save current time as private member

* Make cache time changed in callback

* update cache time to abort middle state for seek

* LogRemote upgrade configuration protocol (#12833)

* update config

* Update LogRemote.cpp

* update default_skybox and sun direction (#12811)

* fix submeshes have different instancing options (#12786)

* [ci skip][AUTO]: Automated code generating update: 3200403  (#12786) (#12871)

Co-authored-by: cocos-robot <cocos-robot@cocos.com>

* spine/dragonbones support batch mode in web platform (#12847)

* spine/dragonbones support batch mode in web platform

* set data hash 0 in commitMiddleware

* optimizate merge draw batch for middleware

* keep commitIA in batcher2d

* modify deprecated about commitIA

* feat: support webgpu on build-engine (#12627)

* feat: support webgpu

* build-engine-feat: support building external asset

* update

* Publish @cocos/build-engine@4.4.0-webgpu.0

* fix tiled merge draw call with sprite (#12877)

* fix:CC_ASSERT(!_currentApp.expired()); (#12844)

application has destroyed when WebSocketServer process callback in game thread

* [Bug fix] remove the player of the audio source when its clip is set to null  (#12865)

* remove player when the audio source's clip is set to null

* fix binary format spine load crash (#12894)

* wgpu: remove reinit on same object (#12799)

* add i18n for skybox (#12899)

* 3.6.2 fix android orientation crash (#12885)

* do not cache argument in global space

* add doc

* add a comment for readAttachment (#12902)

* If it is preview, replace overrideUuid  directly (#12905)

* sort the attributes (#12904)

Co-authored-by: zhangmingzhen <mingzhen.zhang@cocos.com>

* add i18n for shadow (#12906)

* update default-skybox and sun direction (#12917)

* fix:WebSocket connection to 'ws://XXXX/' failed: A server must not mask any frames that it sends to the client. (#12882)

* remove USE_BATCHING (#12892)

* fix a native middleware blend problem (#12914)

* migrated remove USE_BATCHING (#12895)

* [feature] support output bullet.wasm on  runtime based platform which the using of wasm api is more similar with weixin (#12881)

* V3.6.2 fix particle crash (#12913)

* fix native crash

* revert to pointer

* revert

* do not use reference

* if PREVIEW load cce scripts before loadProjectBundles (#12916)

* If it is preview, replace overrideUuid  directly

* load cce scripts before loadProjectBundles

* Update game.ts

* Update game.ts

* Update game.ts

* Update game.ts

* fix download url request not encode space (#12826)

* Export texture info for wgpu WGPU_CI_ON (#12926)

* export texture info for wgpu

* missing js file

* update external config

Co-authored-by: Zeqiang Li <zeqiang-li@outlook.com.com>

* fix: build-engine (#12929)

* richtext addChild optimization (#12928)

* 1. remove rebundant invoking
2. ttf canvas texture resizes to width and height as (1,1)

* remove start() and move it to onLoad()

Co-authored-by: zhangmingzhen <mingzhen.zhang@cocos.com>

* fix animation asset on inspector preview bug (#12900)

* optimize label component editing

* fix animation asset on inspector preview bug

* optimize i18n break words

* update node-executable by env (#12930)

* Fix: toDataURL is not supported for this content on iPhone 7p (#12830)

* Fix: toDataURL is not supported for this content on iPhone 7p

* Add srgb transform. (#12873)

* add localCfg.cmake (#12932)

* _loadCCEScripts  will be browser-preview only  (#12925)

* _loadCCEScripts  will be browser-preview only

* add comment

* a compatible way of data copy & default buffer size for uniform buffer (#12935)

* a compatible way of data copy & default buffer size for uniform buffer

* update external config

* [fix] default scene ambient and dirlight color (#12955)

* sync readme for wgpu (#12966)

* [fix] specularIntensity is invalid with builtin-standard (#12971)

* [native] type2writer:add FLOAT3 to Color case for compatiblity (#12962)

* V3.6.2 format return null error fix (#12973)

* add i18n for model (#12985)

* fix potential mem leak (#12995)

* [fix] camera clear flag is skybox but skybox is disabled #13589 (#12964)

* [fix] shader compilation error with CC_DEVICE_SUPPORT_FLOAT_TEXTURE=0 (#13015)

* fix import

* sync tojs to swig about middleware and 2d module (#4)

* sync tojs to swig about scene module (#5)

* remove Model::getInstancedAttributeBlock

Co-authored-by: Zhang mingzhen <32831993+Zhmz@users.noreply.github.com>
Co-authored-by: zhangmingzhen <mingzhen.zhang@cocos.com>
Co-authored-by: LIUYIa <102024185+LIUYIa@users.noreply.github.com>
Co-authored-by: liuyi <liuyi@cocos.com>
Co-authored-by: fqamic <fqamic@vip.qq.com>
Co-authored-by: minggo <nudtzxm@gmail.com>
Co-authored-by: changhua <39176194+changhua0118@users.noreply.github.com>
Co-authored-by: hyde zhou <zlzhou.sh@outlook.com>
Co-authored-by: Zeqiang Li <zeqiang-li@outlook.com>
Co-authored-by: mmyduckx <308303735@qq.com>
Co-authored-by: 徐兵 <49358166+xubing0906@users.noreply.github.com>
Co-authored-by: James Chen <dumganhar@gmail.com>
Co-authored-by: bofeng-song <bofeng.song@chukong-inc.com>
Co-authored-by: 袁炜海 <35713518+dogodo-cc@users.noreply.github.com>
Co-authored-by: zhakesi <liqiao@cocos.com>
Co-authored-by: Cocos Robot <48829427+cocos-robot@users.noreply.github.com>
Co-authored-by: cocos-robot <cocos-robot@cocos.com>
Co-authored-by: 江战 <40414978+PatriceJiang@users.noreply.github.com>
Co-authored-by: jk20012001 <jkregister@163.com>
Co-authored-by: timlyeee <43355299+timlyeee@users.noreply.github.com>
Co-authored-by: PP <chinese1236@qq.com>
Co-authored-by: oahc09 <oahc09@gmail.com>
Co-authored-by: zhangxin <59186205+chichinohaha@users.noreply.github.com>
Co-authored-by: troublemaker52025 <troublemaker52025@outlook.com>
Co-authored-by: CC9701 <73738313+CC9701@users.noreply.github.com>
Co-authored-by: zxx43 <zxx43@hotmail.com>
Co-authored-by: Zeqiang Li <zeqiang-li@outlook.com.com>
Co-authored-by: 黄森斌 <arsen2010@126.com>
Co-authored-by: ycg <1670543365@qq.com>
Co-authored-by: AFeiYA <386665678@qq.com>
Co-authored-by: zhakesi <zhakesi@foxmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants