SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje klienta
  3. dxCreateShader

Funkcja

dxCreateShader

Tworzy shader z pliku .fx zasobu albo z kodu podanego jako tekst. W Trilogy Hub shader wykonuje podmianę tekstury: obraz podany przez dxSetShaderValue pod parametrem tekstury zastępuje tekstury świata wskazane przez engineApplyShaderToWorldTexture (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.

Składnia

element, string dxCreateShader(string filepath [, int priority = 0, float maxDistance = 0, bool layered = false, string elementTypes = "world,vehicle,object,other"])

Argumenty

filepathstring
Ścieżka do pliku .fx w zasobie albo kod shadera.
priorityint, opcjonalny = 0
Pierwszeństwo, gdy kilka shaderów trafia w tę samą teksturę.W MTA:SA inny typ: table macros = {}
maxDistancefloat, opcjonalny = 0
Dla zgodności ze starszymi skryptami.
layeredbool, opcjonalny = false
Dla zgodności ze starszymi skryptami.W MTA:SA inny typ: float maxDistance = 0
elementTypesstring, opcjonalny = "world,vehicle,object,other"
Dla zgodności ze starszymi skryptami.W MTA:SA inny typ: bool layered = false

Różnice względem MTA:SA

  • Argumenty zaznaczone innym kolorem różnią się od MTA:SA.
  • Tych argumentów z MTA:SA tu nie ma: string elementTypes = "world,vehicle,object,other"

W MTA:SA

dxCreateShader(string filepath/raw_data, table macros = {}, float priority = 0, float maxDistance = 0, bool layered = false, string elementTypes = "world,vehicle,object,other")

Zwraca

Element shader i nazwa techniki z pliku albo false, gdy pliku nie da się wczytać.

Przykład

local shader = dxCreateShader("texture gTexture; technique replace { pass P0 { Texture[0] = gTexture; } }")
local image = dxCreateTexture("billboard.png")
dxSetShaderValue(shader, "gTexture", image)
engineApplyShaderToWorldTexture(shader, "heat_02")

Zobacz też