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()
    -- 退屈なシロ
    love.graphics.setShader()
    love.graphics.rectangle('fill', 10,10,780,285)

    -- 見て!見て!かわいい色でしょ!
    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

関連



そのほかの言語