GPU 上的骨骼和基于物理的模拟
基于变换反馈的布料模型实现碰撞检测与响应
准备工作
代码位于 Chapter8/TransformFeedbackClothCollision 目录。本实现的设置代码和渲染代码与之前的实现相同,仅新增了椭球体/球体碰撞代码。
操作步骤
- 生成布料几何和拓扑 :创建一组点及其连接关系,将这些数据绑定到缓冲对象。
- 设置顶点数组对象和缓冲对象 :设置一对顶点数组对象和缓冲对象,并附加缓冲纹理,方便在顶点着色器中访问缓冲对象内存。
- 生成变换反馈对象 :
glGenTransformFeedbacks(1, &tfID);
glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, tfID);
const char* varying_names[]={"out_position_mass", "out_prev_position"};
glTransformFeedbackVaryings(massSpringShader.GetProgram(), 2, varying_names, GL_SEPARATE_ATTRIBS);
glLinkProgram(massSpringShader.GetProgram());
-
<
超级会员免费看
订阅专栏 解锁全文
175

被折叠的 条评论
为什么被折叠?



