Spec-Zone.ru › LÖVE

love.graphics.setShader

Доступно начиная с LÖVE 0.9.0
Было переименовано из love.graphics.setPixelEffect.


Устанавливает или сбрасывает Shader как текущий пиксельный эффект или вершинные шейдеры. Все операции отрисовки до следующего вызова love.graphics.setShader будут отрисовываться с использованием объекта Shader, указанного в качестве параметра.

Функция

Синтаксис

love.graphics.setShader( shader )

Аргументы

Shader shader
Новый шейдер.

Возвращаемое значение

Ничего.

Примечания

Устанавливает текущий шейдер на указанный Shader. Все операции отрисовки до следующего вызова love.graphics.setShader будут отрисовываться с использованием объекта Shader, указанного в качестве параметра.

Функция

Синтаксис

love.graphics.setShader( )

Аргументы

Никаких.

Возвращаемое значение

Ничего.

Примечания

Отключает шейдеры, позволяя выполнять операции отрисовки без фильтров.

Примеры

Отрисовка прямоугольника с использованием шейдера пиксельного эффекта

function love.load()
    effect = love.graphics.newShader [[
        extern number time;
        vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 pixel_coords)
        {
            return vec4((1.0+sin(time))/2.0, abs(cos(time)), abs(sin(time)), 1.0);
        }
    ]]
end
 
function love.draw()
    -- boring white
    love.graphics.setShader()
    love.graphics.rectangle('fill', 10,10,780,285)
 
    -- LOOK AT THE PRETTY COLORS!
    love.graphics.setShader(effect)
    love.graphics.rectangle('fill', 10,305,780,285)
end
 
local t = 0
function love.update(dt)
    t = t + dt
    effect:send("time", t)
end

См. также

  • love.graphics
  • Shader


© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/love.graphics.setShader

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API