[英]Inside a metal shader code, how to define an in/out parameter variable of a function?
我有這個功能:
void myFunct(const int A, ?out? int B){B = B + A;}
如何以函數可以更新其值並將其返回給調用者的方式聲明 B?
Metal 是一種基於 C++ 的編程語言,它允許您將指針傳遞給函數。 為此,只需將函數參數聲明為指針類型。
void myFunct(const int A, device int *B)
{
*B = *B + A;
}
device int *C = 0;
myFunct(1, C);
您還可以通過引用傳遞變量:
void myFunct(const int A, device int &B)
{
B = B + A;
}
device int *C = 0;
myFunct(1, *C)
或通過引用指針:
void myFunct(const int A, device int *&B)
{
*B = *B + A;
}
device int *C = 0;
myFunct(1, C);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.