98. CLASE TEXTURE2D (y II)










GetPixelBilinear:

function GetPixelBilinear (u : float, v : float) : Color


Devuelve el color de los píxeles filtrado en coordenadas normalizadas (u, v).

dichas coordenadas normalizadas u y v van de 0.0 a 1.0, al igual que las coordenadas UV en mallas.


SetPixels:

function SetPixels (colors : Color[], miplevel : int = 0) : void


Establece un bloque de colores de píxeles. Esta función toma un array de colores y cambia los colores de los píxeles del nivel mip entero de la textura. Precisa una posterior llamada a Aply para que los cambios se actualicen en la tarjeta gráfica.

El array de colores es un array 2d plano, donde los píxeles se distribuyen de izquierda a derecha y de abajo arriba. El tamaño del array debe ser al menos la anchura por la altura o el level de mapeo mip usado.

Usar SetPixels puede ser más rápido que llamar a SetPixel repetidamente, especialmente para texturas grandes. Además, SetPixels puede acceder a niveles de mipmap individuales.

function SetPixels (x : int, y : int, blockWidth : int, blockHeight : int, colors : Color[], miplevel : int = 0) : void

Esta versión de la función no modifica el nivel mip entero, sino sólo la parte comprendida entre los parámetros blockWidth y blockHeight empezando desde x,y. El array de colores debe tener un tamaño de blockWidth*blockHeight, y el bloque modificado debe caber dentro del nivel mip usado.


SetPixels32:

function SetPixels32 (colors : Color32[], miplevel : int = 0) : void


Establece un bloque de colores de píxeles. Esta función toma un array de tipo Color32 y cambia los colores de los píxeles del nivel de mip entero de la textura. No nos olvidemos de llamar después a Apply.



LoadImage:

function LoadImage (data : byte[]) : boolean


Carga una imagen de tipo JPG o PNG desde un array de bytes.


GetPixels:

function GetPixels (miplevel : int = 0) : Color[]

Esta función devuelve un array de colores de píxeles del nivel de mip entero de la textura.

function GetPixels (x : int, y : int, blockWidth : int, blockHeight : int, miplevel : int = 0) : Color[]

Este segundo prototipo retorna sólo el mip de la región blockWidth por blockHeight empezando por x,y.


GetPixels32:

function GetPixels32 (miplevel : int = 0) : Color32[]


Obtiene un bloque de colores de píxeles en formato Color32.


Apply:

function Apply (updateMipmaps : boolean = true, makeNoLongerReadable : boolean = false) : void


Aplica en la práctica todos los cambios previamente efectuados con las funciones SetPixel y SetPixels.

Si el parámetro updateMipmaps es true, los niveles de mipmap son recalculados también, usando el nivel base como fuente. Normalmente tendremos este parámetro en true salvo cuando queramos modificar los niveles mip nosotros mismos usando SetPixels.

Si el parámetro makeNoLongerReadable es true, la textura se marcará como no legible y la memoria será liberada en la siguiente actualización. Por defecto makeNoLongerReadable se pone en false.

Esta función, como ya dijimos previamente, consume muchos recurso, así que es deseable hacer el mayor número de cambios precisos entre cada llamada a la misma.


Resize:

function Resize (width : int, height : int, format : TextureFormat, hasMipMap : boolean) : boolean


Redimensiona la textura, y en concreto modifica la anchura, altura, formato y en ocasiones crea mipmaps. Esta función es muy similar al constructor, salvo que esta trabaja con una textura que ya existe.

precisa llamar a Apply para que los cambios tengan efecto en la tarjeta gráfica.


function Resize (width : int, height : int) : boolean

Esta variante cambia meramente la altura y o la anchura de la textura.


ReadPixels:

function ReadPixels (source : Rect, destX : int, destY : int, recalculateMipMaps : boolean = true) : void


Lee píxeles de pantalla dentro de los datos de la textura guardada. Copia un área de píxeles rectangular de la RenderTexture en uso o bien la vista (especificada por el parámetro source) dentro de la posición definida por destX y destY. Ambas coordenadas usan el espacio de píxeles, donde (0,0) is abajo a la izquierda.

Si recalculateMipMaps está establecido en true, los mip maps de la textura serán tambien actualizados. En caso contrario deberemos llamar a Apply para recalcularlos.

Esta función trabaja sólo con los formatos de textura ARGB32 y RGB24.


EncodeToPNG:

function EncodeToPNG () : byte[]


Codifica esta textura en formato PNG. El array de bytes que devuelve es el archivo PNG. Puedes escribirlo entonces en disco o enviarlo a través de la rec, por ejemplo.

Esta función solo trabaja con los formatos de textura ARGB32 y RGB24. La textura también debe tener el flag Is Readable marcado en import settings.

POSTED BY UnityScripts
POSTED IN
DISCUSSION 0 Comments

Leave a Reply

Con la tecnología de Blogger.