Vad är ett renderingsmål?

I datorgrafikprogrammering är ett renderingsmål ett område av datorminne där nästa bildruta som ska visas ritas. Används oftast för att öka renderingshastigheten, renderingsmålet är vanligtvis i ett område med dedikerat minne på grafikkortet nära grafikprocessorn (GPU). Även om konceptet är nästan detsamma, finns det några mindre skillnader i implementering och namnkonventioner kopplade till ett återgivningsmål; dessa beror på vilket programmeringsspråk eller bibliotek som används, med vissa språk kallar det en backbuffert, ett framebuffer-objekt eller en dubbelbuffert. Det är också möjligt, särskilt i tredimensionell (3D) datorgrafik, att använda renderingsmålet för att rita texturer på objekt för att hjälpa till att optimera den slutliga visningsbilden när den kompileras. I vissa fall är det möjligt att ha flera renderade mål (MRTs), där olika delar av en ram ritas på olika ytor och sedan sammansätts på det slutliga målet.

Idén med ett renderingsmål liknar processen som används med dubbelbuffring. En bild ritas huvudsakligen på en yta utanför skärmen, vilket egentligen är ett minnesområde, så att när det är dags för nästa bildruta att ritas till en visningsenhet eller skärm, kan det göras så snabbt som möjligt eftersom alla av ritningsfunktionerna har redan utförts. Skillnaden med ett renderingsmål i många implementeringar är att minnesområdet som används kan finnas på grafikkortet och hanteras via hårdvara eller andra aspekter av GPU:n, vilket gör det mycket mer effektivt och snabbare än en mjukvaruhanterad dubbelbuffrande design.

När det gäller 3D-datorgrafikprogrammering kan ett renderingsmål användas för att optimera renderingen av objekt som använder bilder för sina ytstrukturer. Renderingskontexten är inuti grafikhårdvaran, så detta kan möjliggöra mycket snabb rastrering av 3D-objekt. Specialeffekter kan också ritas på detta sätt, vilket gör sammansättningen av den sista scenen på en bakre buffert mycket snabb eftersom det mesta av den grafiska informationen bara flyttas en kort bit på grafikkortet.

Grafikhårdvaran, drivrutinerna och biblioteken som används kan göra viss skillnad i hur ett renderingsmål fungerar. En specifik begränsning är användningen av MRT, där grafikkortet bestämmer hur många mål som kan användas samtidigt. Vissa kort har inte heller något hårdvarustöd för renderingsmål alls, även om liknande funktionalitet vanligtvis kan uppnås genom alternativa metoder.