opengl - 细分为四边形的顶点的顺序是什么?
问题描述
四边形的四个顶点的连续镶嵌坐标是多少?在11.2 Tessellation
OpenGL 4.6 文档的部分中,四边形的四个顶点通过它们的细分坐标来处理,并且定义了它们与外部和内部细分级别的关系。但是,gl_InvocationID
映射到镶嵌坐标的方式并未在此处定义。
解决方案
但是,
gl_InvocationID
映射到镶嵌坐标的方式并未在此处定义。
它不应该是。提供该映射是您的工作。
镶嵌原语生成器基于抽象补丁工作。您不提供要镶嵌的四边形。系统镶嵌一个抽象的单位四边形,并将抽象四边形空间中的顶点位置提供给您的 TES。您的 TES 的工作是使用 TCS/rendering 命令提供的补丁数据从抽象空间中的顶点位置生成实际顶点数据。
如何使用该补丁数据来执行此操作完全取决于您。
TCS 非补丁输出变量中的顶点顺序与 TES 非补丁输入变量中顶点的顺序相同。因此,如果您写入 TCS 中的索引 1,您在 TES 中从索引 1 读取的值将是该值。因此,您知道 TES 中的哪些值来自 TCS 中的哪些调用(或缺少 TCS,其顶点来自补丁原语)。
这就是你需要知道的。补丁中的哪个顶点对应于四边形中的 (0, 0)?这取决于您以及您如何编写 TES。您的 TES 甚至不必有一个直接与其对应的顶点;这完全取决于您希望如何为细分数据生成顶点数据。
推荐阅读
- docker - Cloudbuild 不会触发新的 Pod 部署,在命名空间 GKE 中找不到资源
- r - 用于选择与行号对应的特定数字中的值
- c++ - 对 push_back 与 pair 交互的困惑
- jquery - jquery返回值是什么意思?jQuery.fn.init(3) [...,prevObject: jQuery.fn.init(1)]
- rabbitmq - 从 Azure 服务总线向 RabbitMQ 发送消息
- api - E-Verify 是否提供 API 来验证员工的资格?
- javascript - 使用数据标题和不使用类或 ID 的 Web 抓取
- google-apps-script - 脚本编辑器中的功能可以正常工作,但不能来自工作表自定义功能
- rust - 如何更改 SpriteComponent 颜色?
- css - 将鼠标悬停在滚动条上时更改其宽度