The Book of Shaders by Patricio Gonzalez Vivo


out

Кваліфікатор доступу аргументів. Позначає аргумент лише на запис.

Приклад

void increment(out float x) {
    // x = x; // оскілки змінну x не можна читати, то як варіант замість її реального значення буде 0, тому так краще не робити

    x = 1.0; // фактично ми знмінюємо змінну за межами функції
}

void main() {
    float count = 0.5;

    increment(count);

    // тепер count == 1.0, оскільки змінна була передана у функцію із out кваліфікатором і була оновлена там
}

Опис

out — кваліфікатор доступу аргументів, який дозволяє лише змінювати позначену змінну, але не дозволяє читати її значення. Зміна буде доступна так само і за межами функції.

Дивіться також

in, inout