当前位置:首页 > 报告详情

从CPU粒子系统的交付中吸取的经验教训.pdf

上传人: 柒柒 编号:1099637 2026-01-25 52页 5.38MB

1、Lukas Feller Graphics Programmer Last year Fog,this year VFX:)Enshrouded VFX System Existing system showed its age Entirely new VFX system Designed in close collaboration with the VFX artistsEnshrouded VFX System Fully GPU driven Natural choice nowadays Enshrouded has a GPU driven renderer Reuse dat

2、a which is on the GPU alreadyEnshrouded VFX System Standard HLSL for scripting Custom scripting language was a maintenance&support burden Well known Lots of existing resources&tooling Maximum freedom for the artist Freely import Textures&Meshes From Houdini,EmberGen&othersOverview Particles Define b

3、ehavior Effects Combine particles ParameterizeParticleParticleParticleEffectEffectParticleParticleParticleEffectEffectParticle State Persistent Parameters Evaluated every frame HLSL code Single function which is executed once per frame per particleParticleParticleParticleEffectEffectParticle Data St

4、ate,Parameters Types:Float,Int,UInt,Bool,2,3,4 Model,Mesh,Image,Sound EmitterParticleParticleParticleEffectEffectParticle Code Single HLSL function Called once per frame per particle Extensive API to sample data and generate output Return value:still alive?bool updateParticle(inout VfxParticleState

5、state,VfxParticleParameters parameters,VfxEffectData effect,VfxEngineData engine,bool isNew)Generated HLSL structs for state¶metersstruct VfxParticleStatefloat timer;float age;float ageNormalized;float alpha;float brightness;ParticleParticleParticleEffectEffectOverview Particles Define behavior

6、Effects Combine particles ParameterizeParticleParticleParticleEffectEffectParticleParticleParticleEffectEffectEffect Data Instantiated by the game for a VFX Hierarchy of particles Parents can spawn children Defines order of execution Define values or expressions for particle parametersParticlePartic

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
1. **系统设计**:Enshrouded采用全新GPU驱动VFX系统,基于HLSL脚本,支持艺术家自由导入纹理/网格,替代旧有维护负担大的自定义语言。 2. **核心架构**:粒子(Particle)定义行为,效果(Effect)组合粒子并参数化,通过HLSL函数每帧更新粒子状态(含timer、alpha等数据)。 3. **性能优化**:通过活跃粒子数动态分配计算组,多实例合并调度,减少空线程;使用基数排序透明网格绘制。 4. **问题与改进**:因大量管线(6787个)导致内存占用过高(RTX 2070需1.5GB),尝试内联优化节省编译时间;表达式数据化驱动评估解决shader膨胀。 5. **规模数据**:376个粒子类型、1689个VFX定义、16519个节点,30分钟运行时编译。
GPU特效如何优化? 艺术家如何编程特效? 特效内存如何管理?
客服
商务合作
小程序
服务号
折叠