Higher-Order Primitieven (Direct3D 9)
Direct3D 9 ondersteunt punten, lijnen, driehoeken en rasterprimitieven. Deze zijn uitgebreid ter ondersteuning van interpolatie van hogere volgorde dan lineair. Hoewel driehoeken en lijnen ruimtelijk zijn, werden ze tot nu beide weergegeven met behulp van lineaire interpolatie. In Direct3D 9 ondersteunt Direct3D het weergeven van deze primitieve typen met een hogere volgorde, tot quintic, interpolatie. Bovendien wordt een nieuw quad primitief type nu ondersteund. Dit nieuwe type kan ook worden weergegeven met interpolatie van hogere volgorde. Deze functie wordt voornamelijk bepaald door vereisten voor animatie en rendering van tekens. Het kan ook worden gebruikt voor andere oppervlakken, zoals terrein of water.
Primitieven in hogere volgorde ondersteunen interpolatie van hogere volgorde wanneer ze naar de API worden verzonden als lijsten, strips, ventilatoren of geïndexeerde meshes. Dit wordt bereikt door aanvullende informatie te gebruiken die in de hoekpunten zelf is gecodeerd. Normale vectoren kunnen bijvoorbeeld worden gebruikt om tangensvlakken op de hoekpunten te definiëren om kubieke interpolatie mogelijk te maken. De meeste implementaties ondersteunen interpolatie van hogere volgorde door tesseling in planaire driehoeken. De tessellationstap wordt logisch toegepast vóór de arceringsfase van het hoekpunt. Omdat de hoekpunt-shader-API geen semantiek oplegt voor de invoergegevens, wordt er een speciaal mechanisme geboden om het hoekpuntstroomonderdeel te identificeren dat de positie vertegenwoordigt en optioneel de normale vector. Alle andere onderdelen worden dienovereenkomstig geïnterpoleerd.
In deze sectie worden primitieven in hogere volgorde geïntroduceerd en wordt besproken hoe ze in uw toepassingen kunnen worden gebruikt. Informatie is onderverdeeld in de volgende onderwerpen.
Verbeterde kwaliteit via oplossingsverbetering
Huidige primitieven zijn niet ideaal voor het vertegenwoordigen van gladde oppervlakken. Interpolatiemethoden met een hogere volgorde, zoals kubieke polynomialen, maken nauwkeurigere berekeningen mogelijk bij het weergeven van gebogen vormen. Dit biedt een verhoogd realisme door facetartefacten die zichtbaar zijn op silhouetranden of op speculatieve oppervlakteverlichting te verminderen of te elimineren. Bovendien heeft de tesellated driehoek geen invloed op de busbandbreedte wanneer de spatatie op de chip plaatsvindt. In veel gevallen kan een kleine hoeveelheid tesselatie verbeteringen in de beeldkwaliteit bieden met minimale invloed op de prestaties.
Direct3D 9 biedt een eenvoudige manier om oplossingsverbeteringen toe te passen op inhoud die is gemaakt door bestaande veelhoekgeoriënteerde hulpprogramma's en kunstpijplijnen. De toepassing hoeft alleen een gewenst niveau van tesselatie te bieden en de gegevens te verzenden met behulp van de standaarddriehoeksyntaxis die normale vectoren bevat.
Directe toewijzing vanuit Spline-Based-hulpprogramma's
Veel huidige ontwerphulpprogramma's bieden ondersteuning voor primitieven van hogere volgorde om krachtigere modelleringsbewerkingen mogelijk te maken dan vaak wordt geleverd voor planaire driehoeksnetten. Wanneer deze efficiënt wordt gebruikt, zodat het aantal gegenereerde patches redelijk is, kunnen dergelijke hulpprogramma's inhoud produceren die rechtstreeks door de API kan worden weergegeven. Om aan deze vereiste te voldoen, is er een nieuw toegangspunt toegevoegd waarmee de binnenkomende hoekpuntgegevensstroom wordt geïnterpreteerd als een 2D-matrix met besturingspunten en deze naar de gewenste resolutie wordt geïnterpreteerd.
Verwante onderwerpen