On this page |
VEX примеры
Чтобы увидеть VEX реализацию основанного на VEX оператора:
-
Добавьте оператор (ноду) в вашу сеть.
-
Откройте меню (ПКМ) и выберете Type Properties (Свойства типа).
Другой пример исходного кода VEX доступен в Интернете.
Constant Color COP
Вы можете написать функцию "Constant Color COP" следующим образом:
cop constant(vector clr=1; float alpha=1) { R = clr.r; G = clr.g; B = clr.b; A = alpha; }
Тем не менее, по возможности вы должны использовать высокоэффективную функцию assign для присвоения.
cop constant(vector clr=1; float alpha=1) { assign(R, G, B, clr); A = alpha; }
Функции пользовательского шума
В этом примере определяются две пользовательские функции, которые генерируют нормализованные множественные октавы шума Перлина .
float myfperlin3d(vector pos; int octaves; float rough) { int i; float nval; vector pp; float result, sum, scale; // Поскольку параметры передаются по ссылке, а мы на самом деле // не хотим изменить значение параметра, мы копируем его // во временную переменную. pp = pos; scale = 1; sum = 0; result = 0; for (i = 0; i <= octaves; i++) { result += noise(pp); sum += scale; pp *= 2; scale *= rough; } return result / sum; } float myfperlin1d(float pos; int octaves; float rough) { int i; float nval; float pp; float result, sum, scale; // Поскольку параметры передаются по ссылке, а мы на самом деле // не хотим изменить значение параметра, мы копируем его // во временную переменную. pp = pos; scale = 1; sum = 0; result = 0; for (i = 0; i <= octaves; i++) { result += noise(pp); sum += scale; pp *= 2; scale *= rough; } return result / sum; }
Можно использовать макросы #define для кодирования содержимого функции и просто вызвать макрос для генерации векторных или других измерений шума.