赞
踩
为什么要用计算着色器呢? 因为人脸表情基模型顶点数实在是太多了,而且有不止一个模型,动画越精细,表情基模型越多,这个时候仅仅用CPU计算显然是不够的,所以就开始上GPU了,并行计算。
直接上计算着色器的代码:
#pragma kernel Cul
RWStructuredBuffer<float3> vertBuffer;
StructuredBuffer<float3> blendshapeBuffer;
StructuredBuffer<float3> naturalBuffer;
float weight;//表情基权重
[numthreads(32,32,1)]
void Cul(uint3 id : SV_DispatchThreadID) {
int index = id.x * 32 * 4 + id.y;
vertBuffer[index] = vertBuffer[index] + (blendshapeBuffer[index] - naturalBuffer[index]) * weight;
}
[RequireComponent(typeof(MeshFilter))]
public class
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。