dxDrawRectLight
Cliente
Acende uma luz que sai de um retângulo por um único quadro, sem criar elemento.
bool dxDrawRectLight(float x, y, z, float normalX, normalY, normalZ, float width, float height, float radius, color color [, float intensity = 1, float falloff = 4, float barnDoorAngle = 88, float barnDoorLength = 0.2, bool castShadow = false, float tangentX, tangentY, tangentZ = nil])
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| x, y, z | float | Posição da luz no mundo, três números ou um vec3. |
| normalX, normalY, normalZ | float | Para onde a face do retângulo aponta. Três números ou um vec3, finito e não nulo; é normalizado. A luz só ilumina na frente. |
| width | float | Largura do retângulo em metros, de 0.01 a 100. |
| height | float | Altura do retângulo em metros, de 0.01 a 100. |
| radius | float | Alcance em metros, maior que 0 e até 1000. |
| color | color | Três números r, g, b (inteiros de 0 a 255) ou um valor de tocolor. O alfa é ignorado. |
| intensity | float | Multiplicador de brilho, de 0 a 1000. Em 1, uma luz branca brilha com 12 de radiância HDR.padrão 1 |
| falloff | float | Expoente do desvanecimento até o raio, de 0.1 a 32. Valores maiores mantêm a luz forte até mais perto da borda.padrão 4 |
| barnDoorAngle | float | Ângulo das abas a partir da normal, de 0 a 90 graus. De 88 para cima as abas não cortam nada.padrão 88 |
| barnDoorLength | float | Comprimento das abas em metros, 0 ou mais.padrão 0.2 |
| castShadow | bool | Se a luz projeta sombras.padrão false |
| tangentX, tangentY, tangentZ | float | Direção da largura do retângulo, três números ou um vec3. Sem ela, é feita a partir da normal e do eixo vertical do mundo. Um vetor nulo ou paralelo à normal gera um aviso.padrão nil |
Retorno
true se a luz entrou na fila do quadro. false quando 256 luzes já estão na fila, ou com um argumento errado.
A luz vale para um único quadro. Uma chamada feita antes de o mundo ser desenhado (por exemplo em onClientPreRender ou onClientRender) ilumina esse quadro; uma feita depois ilumina o próximo. Chamadas feitas enquanto nenhum quadro roda são descartadas. Passar de 256 luzes num quadro registra um aviso uma vez, até um quadro sobrar espaço na fila.
Exemplo
addEventHandler("onClientPreRender", root, function()
dxDrawRectLight(1481.0, -1771.0, 22.0, 0, -1, 0, 4, 0.5, 12, 255, 60, 200, 3)
end)Vindo do MTAO MTA não tem luzes dinâmicas.