Difference between revisions of "love.graphics.setShader (日本語)"

(Created page with "{{newin (日本語)|0.9.0|090|type=関数|text=love.graphics.setPixelEffect からの名称変更}} 現在のピクセルエ...")
 
m
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
{{newin (日本語)|[[0.9.0]]|090|type=関数|text=[[love.graphics.setPixelEffect (日本語)|love.graphics.setPixelEffect]] からの名称変更}}
 
{{newin (日本語)|[[0.9.0]]|090|type=関数|text=[[love.graphics.setPixelEffect (日本語)|love.graphics.setPixelEffect]] からの名称変更}}
  
現在のピクセルエフェクトまたは頂点シェーダーとして [[Shader (日本語)|Shader]] を設定するか初期状態に戻します。全ての描画操作は次の ''love.graphics.setShader'' が呼ばれるまで指定された [[Shader (日本語)|Shader]] オブジェクトを使用して描画されます。
+
現在のピクセルエフェクトまたは頂点シェーダーへ [[Shader (日本語)|Shader]] を設定するか初期状態に戻します。
 +
 
 +
次回の ''love.graphics.setShader'' を呼び出すまで、全描画操作は指定の [[Shader (日本語)|Shader]] オブジェクトを通して描画します。
  
 
== 関数 ==
 
== 関数 ==
Line 10: Line 12:
  
 
=== 引数 ===
 
=== 引数 ===
; Shader shader
+
{{param|Shader|shader|新規シェーダー。}}
: 新規シェーダー。
 
 
=== 返値 ===
 
=== 返値 ===
 
ありません。
 
ありません。
 
=== 注釈 ===
 
=== 注釈 ===
現在のシェーダーへ指定された [[Shader (日本語)|Shader]] を設定します。全ての描画操作は次の ''love.graphics.setShader'' が呼ばれるまで指定された [[Shader (日本語)|Shader]] オブジェクトを使用して描画されます。
+
現在のシェーダーへ指定された [[Shader (日本語)|Shader]] を設定します。
 +
次回の ''love.graphics.setShader'' を呼び出すまで、全描画操作は指定の [[Shader (日本語)|Shader]] オブジェクトを通して描画します。
  
 
== 関数 ==
 
== 関数 ==
Line 27: Line 29:
 
ありません。
 
ありません。
 
=== 注釈 ===
 
=== 注釈 ===
シェーダーを無効にすることで、フィルタを通らず描画操作ができるようにします。
+
シェーダーを無効にすると、フィルタを通さずに描画操作をします。
  
 
== 用例 ==
 
== 用例 ==
=== ピクセル・エフェクト・シェーダーを使用して長方形を描画します。 ===
+
=== ピクセル・エフェクト・シェーダーで長方形を描画します。 ===
 
<source lang="lua">
 
<source lang="lua">
 
function love.load()
 
function love.load()

Latest revision as of 07:58, 23 September 2019

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

関連



そのほかの言語