Texture
En Texture är en bild som är sparad i grafikkortets minne, och är redo att ritas ut på skärmen. Man kan skapa en Texture utifrån en Image eller läsa in en bildfil från hårddisken direkt.
Width och height
Varje texture har en width och en height.
Läsa in
LoadTexture()
Läser in en bildfil och skapar en texture direkt från den.
LoadTextureFromImage()
Skapar en ny texture baserat på en Image.
Detta är alltså motsatsen till LoadImageFromTexture().
Rita ut till skärmen
DrawTexture()
Ritar ut en texture till fönstret.
DrawTextureEx()
Ritar ut en texture till fönstret, med andra parametrar: En Vector2 för att ange x och y-positionen den ska ritas ut på, och floats som anger rotation och skalning av texturen.
Rotationen anges i grader och skalningen i decimalform.
OBSERVERA: För att kunna använda Vector2 så måste du lägga in detta bland dina using-statements:
DrawTextureRec()
Ritar ut en del av en texture till fönstret. Fungerar som DrawTextureEx men utan rotationen och skalan, och med en rektangel som säger vilken del av texturen man vill klippa ut.
Det här kan man bland annat använda sig av när man har en bild som är ett s.k. sprite sheet, där alla bildrutor i en karaktärs animation finns med. Man behöver då inte klippa upp animationen i en massa olika bildfiler utan kan istället använda DrawTexturePro för att kopiera en del av bilden till raylibfönstret i taget.
Man kan också ange en source-rektangel med negativ bredd eller höjd för att få en urklippt bild som är flippad längs x- eller y-axeln.
DrawTexturePro()
En ännu mer avancerad version av DrawTexture. Här anges två rektanglar – en för källan, alltså vilken del av texturen som ska kopieras. Och så en för destinationen, alltså var någonstans på fönstret kopian ska placeras och hur stor den ska göras.
Dessutom anges en Vector2 för "origin", som är den position som ritandet och roterandet utgår från. Vill man rotera och skala en textur kring dess mittpunkt anger man alltså en Vector2 vars x- och y-värden är halva destination-rektangelns bredd och höjd.
Bilden nedan visar principen:
SetTextureFilter()
I vanliga fall när man ritar ut en texture i en annan storlek än den är från början så skalas den med interpolering – den hittar på mjuka övergångar mellan originalpixlarna. Det fungerar bra för foton och liknande, men sämre för pixelart.
Last updated