M MY Multiplayer: Wiki
Lado
Tipo

engineCreateShader

Cliente

Crea un shader a partir de un archivo .shader o de su código fuente. El shader compila en segundo plano.

shader|false engineCreateShader(string source [, string name = nil, table macros = nil])

Parámetros

NombreTipoDescripción
sourcestringLa ruta de un archivo .shader del recurso, un archivo de otro recurso como @recurso/archivo.shader, o el código del shader, que empieza con #type.
namestringEl nombre con el que los materiales lo encuentran. Sin él, es recurso/archivo; con código fuente o macros, el nombre termina en un hash.por defecto nil
macrostableTabla de nombre → valor (texto, número o booleano) definida antes de compilar. Los nombres son identificadores y no pueden ser nombres que define el motor.por defecto nil

Retorno

El elemento shader, o false si el texto no es un archivo .shader ni código de shader, o si no se pudo leer de otro recurso.

Cuando la compilación termina, se dispara onClientAssetLoad en el shader. Los errores de compilación los lista engineGetShaderErrors.

Ejemplo

local shader = engineCreateShader("shaders/glow.shader", nil, { STRENGTH = 2 })

addEventHandler("onClientAssetLoad", shader, function(loaded)
    if not loaded then
        for _, message in ipairs(engineGetShaderErrors(shader)) do
            outputDebugString(message)
        end
    end
end)
AtenciónDar un nombre que otro shader del mismo recurso ya tiene es un error.

Ver también