- Dokumentacja
- Funkcje klienta
- dxSetShaderValue
Funkcja
dxSetShaderValue
Ustawia parametr shadera. Gdy parametr jest teksturą zadeklarowaną w kodzie .fx (albo shader nie ma żadnej), a wartością jest tekstura (dxCreateTexture, render target, przeglądarka) lub ścieżka obrazu, ten obraz staje się nową teksturą podmienianą w świecie. Liczby i wektory są zapamiętywane dla zgodności ze starszymi skryptami.
Składnia
bool dxSetShaderValue(element theShader, string parameterName, any value [, float ...])Argumenty
theShaderelement- Shader.
parameterNamestring- Nazwa parametru z kodu .fx.
valueany- Tekstura, ścieżka obrazu, liczba albo tabela liczb.
...float, opcjonalny- Kolejne liczby wektora.
Zwraca
true przy powodzeniu, false dla nieznanego materiału.
Przykład
local shader = dxCreateShader("texture gTexture; technique t { pass P0 { Texture[0] = gTexture; } }")
local target = dxCreateRenderTarget(512, 256)
dxSetShaderValue(shader, "gTexture", target)
engineApplyShaderToWorldTexture(shader, "heat_02")
Zobacz też
dxCreateShaderTworzy shader z pliku .fx zasobu albo z kodu podanego jako tekst. W Trilogy Hub shader wykonuje podmianę tekstury: obraz podany przezdxSetShaderValuepod parametrem tekstury zastępuje tekstury świata wskazane przezengineApplyShaderToWorldTexture(np. własne billboardy, napisy na budynkach, oklejenie aut). Materiał gry zostaje (oświetlenie, odbicia), zmienia się sam obraz. Efekty pikselowe i wierzchołkowe z kodu HLSL nie są wykonywane.dxCreateTextureTworzy teksturę: z pliku obrazu zasobu, z pikseli (plain,png,jpeg,dds) albo pustą o podanym rozmiarze. Tekstura jest materiałem dladxDrawImage,dxDrawMaterial*3Di shaderów.