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

fix skinning model split #11378

Merged
merged 2 commits into from
Jun 7, 2022
Merged

Conversation

zhakesi
Copy link
Contributor

@zhakesi zhakesi commented Jun 6, 2022

1] 根据硬件查询maxVertexUniformVectors 设置最大joints数量
2] maxVertexUniformVectors 不足时使用texture代替UniformVectors
为避免传输数据过大(例如PC可能最大支持4096VertexUniformVectors) 最大joints数量限定在256

@github-actions
Copy link

github-actions bot commented Jun 6, 2022

Interface Check Report

! WARNING this pull request has changed these public interfaces:

@@ -8353,8 +8353,9 @@
             setIndicesAndJoints(indices: number[], joints: NativeJointInfo[]): void;
             setBuffers(bufs: gfx.Buffer[]): void;
             updateLocalDescriptors(submodelIdx: number, descriptorSet: gfx.DescriptorSet): any;
             updateLightingmap(val: math.Vec4, sampler: gfx.Sampler, texture: gfx.Texture): void;
+            setRealTimeJointTextures(textures: gfx.Texture[]): void;
         }>;
         export type NativeSkinningModel = InstanceType<typeof NativeSkinningModel>;
         export const NativeBakedAnimInfo: __private._types_globals__Constructor<{
             buffer: gfx.Buffer;
@@ -20619,8 +20620,12 @@
             MAX = 255,
             DEFAULT = 128
         }
         /**
+         * @internal This method only used to init localDescriptorSetLayout.layouts[UBOSkinning.NAME]
+         */
+        export function localDescriptorSetLayout_ResizeMaxJoints(maxCount: number): void;
+        /**
          * @en Does the device support single-channeled half float texture? (for both color attachment and sampling)
          * @zh 当前设备是否支持单通道半浮点贴图?(颜色输出和采样)
          */
         export function supportsR16HalfFloatTexture(device: gfx.Device): boolean;
@@ -20868,15 +20873,19 @@
             static readonly LAYOUT: gfx.UniformBlock;
         }
         export const INST_JOINT_ANIM_INFO = "a_jointAnimInfo";
         export class UBOSkinning {
-            static readonly JOINTS_OFFSET = 0;
-            static readonly COUNT: number;
-            static readonly SIZE: number;
+            static get JOINT_UNIFORM_CAPACITY(): number;
+            static get COUNT(): number;
+            static get SIZE(): number;
             static readonly NAME = "CCSkinning";
             static readonly BINDING = ModelLocalBindings.UBO_SKINNING_TEXTURE;
             static readonly DESCRIPTOR: gfx.DescriptorSetLayoutBinding;
             static readonly LAYOUT: gfx.UniformBlock;
+            /**
+             * @internal This method only used init UBOSkinning configure.
+             */
+            static initLayout(capacity: number): void;
         }
         /**
          * @en The uniform buffer object for morph setting
          * @zh 形变配置的 UBO
@@ -20900,8 +20909,9 @@
             static readonly DESCRIPTOR: gfx.DescriptorSetLayoutBinding;
             static readonly LAYOUT: gfx.UniformBlock;
         }
         export const UNIFORM_JOINT_TEXTURE_BINDING = ModelLocalBindings.SAMPLER_JOINTS;
+        export const UNIFORM_REALTIME_JOINT_TEXTURE_BINDING = ModelLocalBindings.SAMPLER_JOINTS;
         export const UNIFORM_POSITION_MORPH_TEXTURE_BINDING = ModelLocalBindings.SAMPLER_MORPH_POSITION;
         export const UNIFORM_NORMAL_MORPH_TEXTURE_BINDING = ModelLocalBindings.SAMPLER_MORPH_NORMAL;
         export const UNIFORM_TANGENT_MORPH_TEXTURE_BINDING = ModelLocalBindings.SAMPLER_MORPH_TANGENT;
         export const UNIFORM_LIGHTMAP_TEXTURE_BINDING = ModelLocalBindings.SAMPLER_LIGHTMAP;

@zhakesi zhakesi requested a review from pandamicro June 6, 2022 12:07
@pandamicro pandamicro merged commit a1208ae into cocos:v3.5.1-zqb Jun 7, 2022
cocos-robot pushed a commit to cocos-robot/engine that referenced this pull request Jun 7, 2022
minggo pushed a commit that referenced this pull request Jun 7, 2022
Co-authored-by: cocos-robot <cocos-robot@cocos.com>
zhakesi added a commit to zhakesi/engine that referenced this pull request Jun 13, 2022
* fix skinning model split

* rename function _resizeMaxJointForDS

Co-authored-by: zhakesi <zhakesi@foxmail.com>
pandamicro added a commit that referenced this pull request Jun 24, 2022
* support asset property preview (#11017)

(cherry picked from commit 85769cf8f81459b5ad98ccab4138420009572a32)

* show mesh asset thumbnail (#10981)

* V3.5.1 noise particle (#11003)

* add cpu & gpu noise for particle

* add some params & change particle noise shader

* change shader

* add cpu noise particle

* add noise preview

* run generation when preview

* revert shaders

* remove unused statements

* add particle noise module

* change noise preview interface

* add invisible to remap

* remove get deltaTime

* set noiseModule private

* fix eslint

* feat: add noise preview (#11260)

* [Optimize] asset editing undo (#10779)

* edit render-pipeline

* support renderpipeline undo

* optimize material editing undo

* reset last record data

* temporary not support animation-mask undo

* support animation-mask edit undo

* animation mask remove _jointMasks

* Animation clip embedded players (#11320)

* Animation clip subregions

* Log

* Test

* Eval

* Update

* Update

* No longer use animation state to implement clip motion

* Clear subregions

* Fix

* Mark subregion as editor extendable

* Animation clip subregion player path

* fix isnan(0.0) with webgl1.0 (#11262)

* fix isinf(0.0)==true with webgl1.0

* code style

* fix specular params with surface toon (#11265)

* code format and add sliders for parameters (#11266)

* Broadcasting of animation state\'s speed

* Fix

* Rename

* Update

* Fix

* Revert "No longer use animation state to implement clip motion"

This reverts commit 20755f9.

* Revert some exotic changes

* Update docs

Co-authored-by: jk20012001 <jkregister@163.com>
Co-authored-by: 徐兵 <49358166+xubing0906@users.noreply.github.com>

* fix skinning model split (#11378)

* fix skinning model split

* rename function _resizeMaxJointForDS

Co-authored-by: zhakesi <zhakesi@foxmail.com>

* [ci skip][AUTO]: Automated genbindings update: d823cbb  (#11378) (#11383)

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

* use stop emitting instead (#11381)

* add stop emitting api

* use stop emitting instead

* Update cocos/particle/particle-system.ts

Co-authored-by: Leslie Leigh (李的序) <leslieleigh@outlook.com>

Co-authored-by: Leslie Leigh (李的序) <leslieleigh@outlook.com>

* fix: imageData fault tolerance (#11374)

* fix: imageData fault tolerance

* chore: when data is an empty array,stop the function

* material  undo updating effects list (#11409)

* modify noise module ui (#11433)

* use visible decorator to control the visibility of property (#11438)

* fix joints data with value nan (#11489)

* V3.5.2 CI Android NDK  set version to 21 (#11448) (#11492)

* Minor improvement

* Fix format

* Fix particle culler

* Improve particle culler

* Manually migrate joint data upload with texture in skinning model

* Update shaders for skinning model based on joint texture

* fis native skinning model with realtime-texture mode (#45)

Co-authored-by: zhakesi <zhakesi@foxmail.com>

* fix clangtidy (#46)

* Small tweaks

* modify code struct for skinning model (#47)

* modify code struct for skinning model

* update skinning chunk

Co-authored-by: 黄森斌 <arsen2010@126.com>
Co-authored-by: zxx43 <zxx43@hotmail.com>
Co-authored-by: 袁炜海 <35713518+dogodo-cc@users.noreply.github.com>
Co-authored-by: Leslie Leigh (李的序) <leslieleigh@outlook.com>
Co-authored-by: jk20012001 <jkregister@163.com>
Co-authored-by: 徐兵 <49358166+xubing0906@users.noreply.github.com>
Co-authored-by: zhakesi <liqiao@cocos.com>
Co-authored-by: zhakesi <zhakesi@foxmail.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: Santy-Wang <wh19930829@qq.com>
Co-authored-by: zhangxin <59186205+chichinohaha@users.noreply.github.com>
Co-authored-by: 江战 <40414978+PatriceJiang@users.noreply.github.com>
@zhakesi zhakesi mentioned this pull request Jul 12, 2022
@zhakesi zhakesi deleted the v3.5.1-zqb-skinning-2 branch March 2, 2023 08:15
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.

2 participants