最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity-randertexture

2022-12-27 19:23 作者:Lucas_dudu  | 我要投稿

用途:

在當(dāng)前畫(huà)面基礎(chǔ)上再次渲染

什么是RenderTexture?

RenderTexture是unity定義的一種特殊的Texture類型,它連接著一個(gè)FrameBufferObject的存在于GPU端的Texture(Server-Side Texture)從上面對(duì)RenderTexture的解釋我們了解到要先知道Texture和FrameBufferObject是什么

什么是Texture?

中文翻譯叫紋理,先說(shuō)一下一個(gè)紋理是如何被渲染到屏幕上的 ,起初紋理存在硬盤(pán)(RAM)里,它被cpu解壓縮,如果想要顯示它,那么數(shù)據(jù)將會(huì)被發(fā)送給(上傳到,cpu和gpu之間的通信可以理解成client和server之間的通信)GPU,gpu將它放在顯存(VARM)中,顯存中有一塊內(nèi)存區(qū)域叫做RenderBuffer(渲染緩存),RenderBuffer只是數(shù)據(jù)緩存,它還不能用作Texture渲染,盡管它現(xiàn)在已經(jīng)是一個(gè)texture了,在這里 texture等待著被渲染,當(dāng)要渲染這個(gè)Texture時(shí),會(huì)生成一FrameBuffer(幀緩存),當(dāng)這個(gè)幀緩存被添加到默認(rèn)的幀緩存物體上(FrameBufferObject)時(shí),它就會(huì)被繪制到屏幕上.FrameBuffer指向的是顯存中RenderBuffer的地址,簡(jiǎn)單的說(shuō),RenderBuffer需要附加在FrameBuffer上,它才能是五顏六色的圖片,否則它只是顯存上的一堆數(shù)據(jù),關(guān)于RenderBuffer和FrameBuffer可以看這些文章:

Linux OpenGL 實(shí)踐篇-10-framebuffer - 北冥有魚(yú)其名為鯤 - 博客園

https://www.cnblogs.com/xin-lover/p/8977307.html

OpenGL ES學(xué)習(xí)之路(3.1) 著色器渲染過(guò)程、渲染方式、FrameBuffer與RenderBuffer - 簡(jiǎn)書(shū)

https://www.jianshu.com/p/dbba97339e75?tdsourcetag=s_pctim_aiomsg

什么是FrameBufferObject?

? ? ? ? 可以理解FrameBufferObject是一個(gè)集合,集合了FrameBuffer,通過(guò)快速刷新Framebuffer實(shí)現(xiàn)動(dòng)態(tài)效果,最典型的FBO就是Unity的Main Camera,它是默認(rèn)的FBO,是gpu里渲染結(jié)果的目的地.但是現(xiàn)代gpu通??梢詣?chuàng)建很多其他的FBO(Unity中可以創(chuàng)建多個(gè)Camera),這些FBO不連接窗口區(qū)域,這種我們創(chuàng)建的FBO的存在目的就是允許我們將渲染結(jié)果保存在gpu的一塊存儲(chǔ)區(qū)域,待之后使用,這種用法叫做離屏渲染,這是一個(gè)非常有用的東西。Camera 輸出的FBO,可以嵌在另一個(gè)FBO中,Unity中使用RenderTexture來(lái)接收FBO(可視化FBO),game窗口就是一個(gè)RenderTexture,當(dāng)Camera的RenderTarget設(shè)置為null時(shí)表示輸出到game窗口(沒(méi)有攝像機(jī)的RenderTaget為null會(huì)顯示沒(méi)有攝像機(jī)進(jìn)行渲染),設(shè)置不為null表示輸出到某個(gè)RT.


OK 理解了上面的原理咱們來(lái)制作一下

  • 首先創(chuàng)建資源 randertexture

創(chuàng)建rendertexture
  • 在新的場(chǎng)景中創(chuàng)建一個(gè)camera;

  • 把要渲染物體單獨(dú)創(chuàng)建一個(gè)layer;

  • 這里已effect為例

創(chuàng)建層級(jí)effect
  • camera的渲染圖層改為effect,Background Type 改為solid color,底色改為黑色,一般半透明為0.

  • 創(chuàng)建UI層canvas,并創(chuàng)建image,然后把前面創(chuàng)建的randertexture拖入texture中

  • 如果對(duì)渲染疊加有要求可以新建材質(zhì)球,effectrender,來(lái)控制他的渲染疊加方式。


  • 運(yùn)行unity就會(huì)看到你要單獨(dú)渲染的物體已經(jīng)出現(xiàn)在畫(huà)面中。


Unity-randertexture的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
凤冈县| 渭南市| 从江县| 抚州市| 徐水县| 东城区| 临江市| 德令哈市| 甘谷县| 乐东| 苍南县| 琼结县| 邵东县| 拉萨市| 大宁县| 原阳县| 扬中市| 库车县| 大冶市| 西贡区| 卢湾区| 遂昌县| 名山县| 茌平县| 宜都市| 衡阳市| 五河县| 邵阳市| 贞丰县| 祁门县| 于都县| 津市市| 遵化市| 中卫市| 北安市| 甘孜县| 瑞金市| 精河县| 包头市| 兴海县| 蒲城县|