source | コピー元の画像 |
dest | コピー先の RenderTexture オブジェクト。null の場合、直接画面に転送する |
mat | 使用するマテリアル。たとえば、マテリアルのシェーダーはいくつかのエフェクトを後処理できます。 |
pass | -1 (デフォルト) の場合、マテリアルのすべてのパスを描画します。そうでなければ、指定されたパスだけを描画します。 |
元のテクスチャをシェーダーでレンダリングするテクスチャへコピーします。
これは主に image effects を実装するために使用されます。
Blit はレンダーターゲットとして dest
を設定し、マテリアルに source
_MainTex
プロパティーを設定し、
フルスクリーンクワッドを描画します。source
(レンダー) テクスチャの一部であるデプスかステンシルバッファーを使用する場合、
手動で Blit 機能と同等のことを行う必要があることに注意してください。すなわち、
(コピー)元デプスバッファーと(コピー)先カラーバッファーと Graphics.SetRenderTarget 、Orthographic プロジェクション設定 (GL.LoadOrtho) 、
マテリアルのパス設定 ([Material.SetPass]) 、クワッドの描画 (GL.Begin) です。
リニアカラー空間で正しい sRGB<->Linear 色変換状態を設定することが重要であることに注意してください。
以前にレンダリングされた状態から現在の状態が期待するものではないかもしれません。
Blit やその他の手動のレンダリングを行う前に必要に応じて GL.sRGBWrite の設定を
検討してください。
See Also: Graphics.BlitMultiTap, image effects.
// Copies aTexture to rTex and displays it in all cameras.
var aTexture : Texture; var rTex : RenderTexture;
function Start() { if(!aTexture || !rTex) Debug.LogError("A texture or a render texture are missing, assign them."); }
function Update () { Graphics.Blit (aTexture, rTex); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Texture aTexture; public RenderTexture rTex; void Start() { if (!aTexture || !rTex) Debug.LogError("A texture or a render texture are missing, assign them."); } void Update() { Graphics.Blit(aTexture, rTex); } }