Grahpics之Blit

Posted llstart-new0201

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Grahpics之Blit相关的知识,希望对你有一定的参考价值。

1.前言

Graphics的Blit方法是比较简单也是比较常用的方法。最简单的作用是将一张纹理绘制到另一张纹理中。而在此方法中可以指定一种材质来实现特殊的效果,所以常和OnRenderImage方法配合使用来实现屏幕后处理效果。

2.OnRenderImage简介

void OnRenderImage(RenderTexture src, RenderTexture dest)方法是unity中渲染流程的最后阶段,如果不调用此方法则渲染的图像直接显示到屏幕上(不考虑buffer问题),如果调用则src为获取到的渲染图像,dest则为绘制的目标纹理。调用此方法的脚本需要挂载在含有camera组建的脚本上。

3.应用示例

3.1 最简单应用

下述方法为将camera渲染结果直接绘制到屏幕上,不做任何处理,当然如果这样调用也就没有调用此方法的意义了。

    void OnRenderImage(RenderTexture src, RenderTexture dest)
     {		
     	Graphics.Blit(src, dest);
	}

3.2 最基本应用

一般应用如下所示,设置某一材质,然后通过材质对src纹理进行处理,并绘制到dest上,但是material要包含_MainTex变量,因为unity会默认将src纹理赋值给_MainTex。

    material.SetFloat("_Brightness", brightness);
    void OnRenderImage(RenderTexture src, RenderTexture dest)
     {		
     	Graphics.Blit(src, dest, material);
	}

4.结语

此方法应用就是如此简单。

以上是关于Grahpics之Blit的主要内容,如果未能解决你的问题,请参考以下文章

当 win.blit() 后台 pygame 时滞后

当 win.blit() 后台 pygame 时滞后

在Pygame中使用screen.blit时,我可以使用.format功能吗?

python pygame blit。获取要显示的图像

如何在pygame中只对背景进行一次blit?

Pygame Blit 一次?