Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Graphics.Blit

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public static function Blit(source: Texture, dest: RenderTexture): void;
public static void Blit(Texture source, RenderTexture dest);
public static function Blit(source: Texture, dest: RenderTexture, mat: Material, pass: int = -1): void;
public static void Blit(Texture source, RenderTexture dest, Material mat, int pass = -1);
public static function Blit(source: Texture, mat: Material, pass: int = -1): void;
public static void Blit(Texture source, Material mat, int pass = -1);

Параметры

source @param source Текстура-источник.
dest @param dest RenderTexture, или null для замены напрямую на экран.
mat @param mat Материал, используемый для копирования. Шейдер материала может реализовывать, например, эффект пост-обработки.
pass @param pass Если равно -1 (по умолчанию), то рисует все проходы материала. Иначе, рисует только указанный проход.

Описание

Копирует текстуру-источник в текстуру, предназначенную для рендеринга.

Эта функция используется, в основном, для реализации различных пост-эффектов,

Blit sets dest as the render target, sets source _MainTex property on the свойство материала _MainTex, и рисует полноэкранный квадрат.

Note that if you want to use depth or stencil buffer that is part of the source (Render)texture, you'll have to do equivalent of Blit functionality manually - i.e. Graphics.SetRenderTarget with destination color buffer and source depth buffer, setup orthographic projection (GL.LoadOrtho), setup material pass (Material.SetPass) and draw a quad (GL.Begin).

Note that in Linear color space, it is important to have the correct sRGB<->Linear color conversion state set. Depending on what was rendered previously, the current state might not be the one you expect. You should consider setting GL.sRGBWrite as you need it before doing Blit or any other manual rendering.

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); } }