簡體   English   中英

在金屬着色器代碼中,如何定義函數的輸入/輸出參數變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM