HLSL-segítők
A d2d1effecthelpers.hlsli a hlSL nyelvi bővítmények egy készletét határozza meg segítő módszerek és makrók formájában, hogy segítse a szerzőket a összekapcsolható képpontárnyékolók írásában.
Ha d2d1effecthelpers.hlsli fájlt szeretne hozzáadni a projekthez, adjon hozzá egy #include utasítást a HLSL-fájlba. A d2d1effecthelpers.hlsli ugyanazon a helyen található, mint más Direct2D-fejlécek, például d2d1.h; a HLSL-fájl tulajdonságlapjáról hivatkozhat rá, ha hozzáadja a $(WindowsSDK_IncludePath) makrót a További belefoglalási könyvtárak tulajdonsághoz. Vegye figyelembe, hogy a #include utasításnak az ilyen D2D_INPUT_COUNT definiált előfeldolgozási irányelvek meghatározása után kell érkeznie.
#include <d2d1effecthelpers.hlsli>
A Direct2D nem támogatja a számítási vagy csúcspont-árnyékolók összekapcsolását. Ha azonban az effektus csúcs- és képpontárnyékolót is használ, a képpontárnyékoló kimenete továbbra is csatolható.
Előfeldolgozási irányelvek
Az előfeldolgozási irányelvek szükségesek az effektussal kapcsolatos információk közléséhez. Ez magában foglalja a bemenetek számát és az egyes bemenetek mintavételezési típusát. A következő értékeket a megfelelő árnyékoló belépési pontja fölötti hatásárnyékoló-kódban kell meghatározni, ha van ilyen.
-
D2D_INPUT_COUNT <N>
: Deklarálja az effektushoz tartozó textúrabemenetek számát. Ha az effektus változó számú bemenettel rendelkezik, ezt az értéket megfelelően kell hatókörbe venni az egyes árnyékoló belépési pontokra. Az érték megadása kötelező. -
D2D_INPUT<N>_SIMPLE
: Az N-edik bemenetet deklarálja egyszerű mintavételezéshez. Ha nincs definiálva, az N-edik bemenet alapértelmezés szerint összetett lesz. Az érték megadása nem kötelező. -
D2D_INPUT<N>_COMPLEX
: Az N-edik bemenetet deklarálja összetett mintavételezés használatára. Ha nincs definiálva, az N-edik bemenet alapértelmezés szerint összetett lesz. Az érték megadása nem kötelező. -
D2D_REQUIRES_SCENE_POSITION
: Azt jelzi, hogy az árnyékoló függvény a jelenetpozíció értékét használó segédmetória-metódusokat hív meg (nevezetesen a D2DGetScenePosition segédfüggvényt). Ezt a paramétert csak akkor kell megadni, ha szükséges, mivel a társított árnyékolónként csak egy függvény tudja használni ezt a paramétert. Az érték megadása nem kötelező. -
D2D_CUSTOM_ENTRY
: Azt jelzi, hogy a képpontárnyékoló függvény egy egyéni csúcsárnyékoló kimenetét használja fel, és így deklarálja a bemeneti paramétereket. Minden egyéni csúcspont-árnyékoló bemenet összetett mintavételezést használ, és nem tudja felhasználni egy másik árnyékolófüggvény kimenetét (azaz csak a csatolás után használhatók). Az érték megadása nem kötelező.
Például:
#define D2D_INPUT_COUNT 3
#define D2D_INPUT0_SIMPLE
#define D2D_INPUT1_SIMPLE
#define D2D_INPUT2_COMPLEX
#include <d2d1effecthelpers.hlsli>
Segédfüggvények
A segédfüggvények néhány natív HLSL belső függvény helyettesítésére szolgálnak. Fordításkor ezeket a segédfüggvényeket a Direct2D újradefiniálta a fordítási cél típusától (teljes árnyékoló vagy exportálási függvény) függően a megfelelő verzióra.
A segédfüggvények:
D2DGetInput
D2DSampleInput
D2DSampleInputAtOffset
D2DSampleInputAtPosition
D2DGetInputCoordinate
D2DGetScenePosition
D2D_PS_ENTRY
Kapcsolódó témakörök