gpt4 book ai didi

opengl - 绘制像素的顺序是否取决于 glDrawElements 中的索引?

转载 作者:行者123 更新时间:2023-12-01 12:48:38 25 4
gpt4 key购买 nike

我正在绘制几个与单个 glDrawElements 重叠的 alpha 混合三角形。称呼。

索引从前到后列出三角形,这个顺序对于正确的可视化很重要。

我可以依赖此操作的结果与使用不同的绘制调用以相同的顺序绘制三角形时完全相同吗?

我问这个是因为我不确定某些硬件是否会进行某种优化,并且仅将索引用于有关绘制的图元的信息,而忽略实际的图元顺序。

最佳答案

对于第二个 GuyRT 的回答,我浏览了 GL4.4 core spec :
glDrawElements描述如下(重点是我的):

This command constructs a sequence of geometric primitives by successively transferring elements for count vertices to the GL.



在第 2.1 节中,可以找到以下语句(重点是我的):

Commands are always processed in the order in which they are received, [...] This means, for example, that one primitive must be drawn completely before any subsequent one can affect the framebuffer.



人们可能会认为这仅对通过不同绘制调用(命令)呈现的原始有效,但是,在 7.12.1 中,对该语句的更一般解释阅读有一些进一步的确认(再次,我的重点):

The relative order of invocations of the same shader type are undefined. A store issued by a shader when working on primitive B might complete prior to a store for primitive A, even if primitive A is specified prior to primitive B. This applies even to fragment shaders; while fragment shader outputs are written to the framebuffer in primitive order, stores executed by fragment shader invocations are not.

关于opengl - 绘制像素的顺序是否取决于 glDrawElements 中的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22207460/

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