Pular para o conteúdo

dxCreateTexture

Cliente Texturas, shaders e render targets OOP DxTexture.create(...)DxTexture(...)

Cria uma textura, a partir de um arquivo do resource, de dados de imagem já em memória, ou em branco.

texture dxCreateTexture ( string caminhoOuDados [, string formato = "argb", bool mipmaps = true, string borda = "wrap" ] )
texture dxCreateTexture ( number largura, number altura [, string formato = "argb", string borda = "wrap", string tipo = "2d", number profundidade ] )
NomeTipoPadrãoDescrição
caminhoOuDadosstring—Caminho de um arquivo de imagem do resource, ou uma string de pixels (plain, png, jpeg ou dds).
largura, alturanumber—Na segunda forma, o tamanho da textura em branco.
formatostring"argb"Como os pixels são guardados: "argb", "xrgb" (sem alfa), "rgb" (16 bits) ou de "dxt1" a "dxt5" (comprimidos — os dois lados precisam ser múltiplos de 4, senão a textura fica em 32 bits). Um arquivo DDS mantém o próprio formato quando este argumento é omitido. Os formatos de profundidade ("intz", "df24", "df16", "rawz") não servem para texturas.
mipmapsbooltrueGera versões reduzidas da imagem, que melhoram o resultado quando ela aparece pequena.
bordastring"wrap"O que acontece fora dos limites da imagem. Veja modos de borda.
tipostring"2d"Só na segunda forma: "2d", "3d" (textura de volume) ou "cube".
profundidadenumber—Só na segunda forma com "3d", e aí obrigatório: quantas camadas a textura de volume tem.

Os argumentos são lidos nesta ordem, então para chegar a um posterior informe também os anteriores (nil mantém o padrão). A textura em branco é sempre criada sem mipmaps.

O elemento de textura. Devolve false, com um aviso no console de debug, quando um argumento está errado, o caminho é inválido ou o arquivo não existe. Devolve nil, também com um aviso, quando a imagem não pode ser decodificada ou a textura não pode ser criada (tamanho inválido, formato inutilizável ou falta de memória).

local logo = dxCreateTexture("imagens/logo.png")
local rascunho = dxCreateTexture(256, 256)
local compacta = dxCreateTexture("imagens/fundo.png", "dxt1") -- menos memória de vídeo, sem alfa