Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Direct3D 10.1 utökar funktionsuppsättningen för Direct3D 10.0 med följande nya funktioner:
Blandningslägen – Oberoende blandningslägen per återgivningsmål med hjälp av det nya blend-state-gränssnittet (se ID3D10BlendState1 Interface). Blandningsåtgärder med dubbla källor är begränsade till att återge målplats 0. du kanske inte skriver till andra utdata eller har några återgivningsmål som är bundna till andra platser än fack 0.
Gallringsbeteende – Nollområdesansikten gallras automatiskt. Detta påverkar endast återgivning av trådramar.
Flyttalsregler – Använder samma IEEE-754-regler för flyttal UTOM 32-bitars flyttalsåtgärder har skärpts för att skapa ett resultat inom 0,5 enhet-sista plats (0,5 ULP) av det oändligt exakta resultatet. Detta gäller addition, subtraktion och multiplikation. (noggrannhet till 0,5 ULP för multiplikering, 1,0 ULP för reciprocal).
Format – Precisionen för float16-blandning har ökat till 0,5 ULP. Blandning krävs också för UNORM16/SNORM16/SNORM8-format.
Multisample Anti-Aliasing – Multisampling har förbättrats för att generalisera täckningsbaserad transparens och få multisampling att fungera mer effektivt med multi-pass-rendering. För att uppnå detta definieras alla multisample-semantik som om pixelskuggaren alltid körs en gång per exempel (exempelfrekvens) och beräknar en separat färg per exempel. Om en pixelskuggare inte använder några attribut per exempel beräknas samma värde för varje täckt exempel i en pixel. I så fall motsvarar det maskinvaran som kör skuggningen en gång per pixel (pixelfrekvens) och replikerar resultatet till alla exempel som omfattas. Naturligtvis ger körning med pixelfrekvens alltid samma resultat som när samma skuggning körs med exempelfrekvens, när attributen samplas med en pixelfrekvens. PsInvocations-pipelinestatistiken ökar med samplingsfrekvens om inte skuggningen körs med pixelfrekvens.
Bandbredd för pipelinesteg – Ökade mängden data som kan skickas mellan skuggningssteg:
Resurs Gränser Registrerar mellan skuggningssteg 32 (32-bitars x 4-komponent) Vertex Shader-indataregister 32 Input Assembler-indatafack 32 Rastreringsregler – Reglerna för rastrering har ändrats för rader. Dessutom har nya funktioner lagts till.
- MultisampleEnable påverkar endast linje rasterisering (punkter och trianglar påverkas inte) och används för att välja en linjeritningsalgoritm. Det innebär att vissa rastrering med flera exempel från Direct3D 10 inte längre stöds.
- Ny pixelskuggning med exempelfrekvens med primitiv rasterisering.
Resurser – CopyResource är aktiverat i två nya scenarier:
- Både färg- och djup/stencil-MSAA-ytor kan nu användas med CopyResource som källa eller mål
- Formatera konvertering vid kopiering mellan vissa förstrukturerade 32/64/128-bitarsresurser och komprimerade representationer med samma bitbredd.
Textursampling – sample_c och sample_c_lz instruktioner definieras för att fungera med både Texture2DArrays och TextureCubeArrays använder du platsmedlemmen (alfakomponenten) för att ange ett matrisindex.
Vyer – TextureCube och den nya TextureCubeArray (se D3D10_TEXCUBE_ARRAY_SRV1) är inte faktiska resurser, men är nya vyer på en Texture2DArray-resurs. Skapa en resursvy från en Texture2DArray-resurs med en ny användningsflagga (D3D10_RESOURCE_MISC_TEXTURECUBE), använd det nya ID3D10ShaderResourceView1-gränssnittet gränssnitt för att binda en kubstrukturvy till pipelinen.
De nya funktionerna kräver en 10.1-enhetstyp (se ID3D10Device1 Interface) som kan skapas genom att anropa D3D10CreateDevice1, eller så kan du skapa enheten och växlingskedjan samtidigt genom att anropa D3D10CreateDeviceAndSwapChain1.
I Windows Vista Service Pack 1 finns Direct3D 10.0 och Direct3D 10.1 DLL:er sida vid sida i systemet. Om du vill komma åt 10.1-funktioner gör du något av följande:
Åtkomst till 10.1-funktioner på Vista Gold och Vista Service Pack 1
Utvecklare som vill stödja Vista Gold samt SP1 måste ta hänsyn till bristen på de nya 10.1 API-tilläggen på Vista Gold. Både DXUT och D3DX10 tillhandahåller bekvämlighetsfunktioner för att skapa rätt enhet, baserat på de DLL:er som är tillgängliga i systemet och den tillgängliga maskinvaran (10.0 eller 10.1). 10.1-enheten ärver från 10.0-enheten och kan hämtas med QueryInterface(). Vi rekommenderar att varje program håller reda på enhetstypen och behåller en pekare till 10.1-enheten (om tillgänglig) för att undvika frekventa QueryInterface-anrop när 10.1-funktioner önskas. På samma sätt, där 10.1-resursvyer och tillståndsobjekt är associerade med ett programs anpassade klass, rekommenderar vi att programmet spårar om objektet är av typen 10.0 eller 10.1 för att undvika redundanta QueryInterface()-anrop. D3DX10 innehåller en uppsättning verktygsfunktioner för att förenkla den här processen (se D3DX10CreateDevice och D3DX10CreateDeviceAndSwapChain).
Åtkomst till 10.1-funktioner på Vista Service Pack 1 exklusivt
Vissa utvecklare kan välja att kräva Vista Service Pack 1, som distribueras brett till slutanvändare och innehåller en rad förbättringar utanför Direct3D 10.1. De här utvecklarna kan använda Direct3D 10.1-huvuden och bibliotek exklusivt och ta ett beroende av Direct3D 10.1 DLL:er som stöder både 10.0- och 10.1-maskinvara (vissa anrop kan dock misslyckas på 10.0-enheter där den nya funktionen inte stöds).
Några ytterligare kommentarer:
- API:erna som exponeras i D3DX10.dll accepterar både 10.0- och 10.1-enheter och drar nytta av 10.1-funktioner när de är tillgängliga.
- D3D10SDKLayers.dll stöder en 10.1-enhet och kan mata ut rätt felsökningsspew för 10.1-funktioner.
- D3D10Ref.dll implementerar en 10.0- och 10.1-programvaruenhet.
- D3DX10 och FXC stöder den uppdaterade skuggningsmodellen 10.1 med följande mål: vs_4_1, gs_4_1, ps_4_1 och fx_4_1 som kan bindas till en 10,1-enhet. En 10.1-enhet stöder skuggningsmodell 4.0 och 4.1-skuggning.
- Direct3D 10.0-effektramverket stöder 10.0- och 10.1-enheter, men alla tekniker som innehåller skuggningsmodell 4.1-skuggningar eller de nya 10.1-funktionerna måste använda en 10.1-enhet.
Relaterade ämnen