Динамически однородные выражения с вложенными циклами for в GLSL

В GLSL счетчик цикла for является динамически равномерным, если он инициализируется, сравнивается с и увеличивается динамически однородными выражениями: https://www.khronos.org/opengl/wiki/Core_Language_(GLSL)

Этот шейдер имеет вложенные циклы:

layout(binding = 0) uniform UniformBufferObject
{
    int x;
} ubo;

void main()
{
    for (int i = 0; i < ubo.x; i++)
    {
        // 'i' is dynamically uniform, because ubo.x is dynamically uniform

        for (int j = 0; j < i; j++)
        {
            // is 'j' dynamically uniform?
        }
    }
}

Как я понимаю, "j" является динамически однородным, потому что его сравнивают с "i", которое также является динамически однородным. Это верно?

1 ответ

Решение

При прочих равных условиях j будет динамически однородным.

Другие вопросы по тегам