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

関連



そのほかの言語