gpt4 book ai didi

c++ - 用于替换顶点属性的 Opengl 着色器存储缓冲区对象

转载 作者:行者123 更新时间:2023-11-30 05:26:26 24 4
gpt4 key购买 nike

我基本上得到了和问这里的人相同的问题: Dynamically sized arrays in OpenGL ES vertex shader; used for blend shapes/morph targets .尤其是他最后一个未回答的问题也让我很困扰。

所以我还想为我正在处理的每个网格使用任意数量的混合形状。目前我使用固定数字并将形状视为顶点属性。这里的优点是我总是有可用的当前顶点的相关数据。现在,如果我想使用任意数量的形状,我想我会使用 SSBO,因为它们的线索正是我想要的:动态大小的数据。然而,据我所知,SSBO 是静态的,对于着色器中的每个处理过的顶点,我都有整个网格可用的混合形状数据。这意味着我将不得不引入某种计数器并尝试从我的 SSBO 中为每个顶点选择正确的数据片段。

这个理解对吗?我真的不确定这是否是最佳解决方案,也许你可以给我一些提示。

最佳答案

是的,你的理解是正确的。

您可以使用 gl_VertexID 或只传递一些“顶点编号”作为属性,以了解要为您正在处理的特定顶点在 SSBO 中加载哪些数据。

关于c++ - 用于替换顶点属性的 Opengl 着色器存储缓冲区对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37784559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com