Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een structuur die in HLSL is gedeclareerd om trefferkenmerken te vertegenwoordigen voor het snijpunt met vaste functies of as uitgelijnde begrenzingsvak voor procedurele primitieve snijpunt.
Driehoekspunt met vaste functie
De volgende structuur wordt gedeclareerd in HLSL om trefferkenmerken te vertegenwoordigen voor het snijpunt van een driehoek met vaste functies:
struct BuiltInTriangleIntersectionAttributes
{
float2 barycentrics;
};
Alle hit - en dichtstbijzijnde hit-shaders die worden aangeroepen met behulp van het snijpunt met vaste functies, moeten deze structuur gebruiken voor hitkenmerken. Opgegeven kenmerken a0, a1 en a2 voor de 3 hoekpunten van een driehoek, barycentrics.x is het gewicht voor a1 en barycentrics.y is het gewicht voor a2. De app kan bijvoorbeeld interpoleren door het volgende te doen: a = a0 + barycentrics.x * (a1-a0) + barycentrics.y* (a2 – a0).
Begrenzingsvak met as voor primitief snijpunt
Wanneer asbegrenzingsvakken worden gebruikt voor snijpunt met procedurele primitieven, wordt een snijpunt-shader geactiveerd. Deze shader biedt een door de gebruiker gedefinieerde snijpuntkenmerkstructuur voor de ReportHit-aanroep . De hit- en dichtstbijzijnde hit-shaders die zijn gebonden in dezelfde treffergroep met deze snijpunt-shader, moeten dezelfde structuur gebruiken voor hitkenmerken, zelfs als er niet naar de kenmerken wordt verwezen. De maximale grootte van de kenmerkstructuur is 32 bytes, gedefinieerd als D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES.