【什么是渲染目标(render target)】
来源:互联网 发布:mac环境变量设置 编辑:程序博客网 时间:2024/06/03 02:13
渲染目标是一个缓冲,显卡通过这个缓冲使用一个Effect类绘制场景的像素。
默认的渲染目标叫做后备缓冲- 物理上就是包含下一帧要绘制的信息的一块显存。你可以使用RenderTarget2D类创建另一个渲染目标,在显存中保留一块新区域用于绘制。大多数游戏在后备缓冲之外将大量的内容绘制到其他渲染目标内("offscreen"),然后编译这些不同的图像元素,将它们组合起来构成最终的后备缓冲。
一个渲染目标具有高和宽。后备缓冲的高和宽就是游戏的最终分辨率(而在Xbox 360中最终结果要进行缩放匹配用户的屏幕)。而一个offscreen渲染目标无需和后背缓冲有相同大小的高和宽,最终图像的小部分可以绘制到一个小渲染目标中,然后将它复制到另一个渲染目标。渲染目标还有一个surface格式,表明每个像素分配到多少bits和它们如何分割成红,绿,蓝,alpha通道。例如,SurfaceFormat.Bgr32给每个像素分配32 bits:每个颜色通道8 bits ,alpha通道8 bits。渲染目标还可以对所有绘制在其中的图像施加反锯齿(antialiasing)。
要使用渲染目标,需要创建一个指定高、宽或其他选项的RenderTarget2D对象。然后调用GraphicsDevice.SetRenderTarget将这个渲染目标作为当前渲染目标。从这一步开始,任何对Draw的调用会绘制到这个渲染目标。当结束渲染目标后,调用 GraphicsDevice.SetRenderTarget切换到一个新的渲染目标(或设置为null切换到后备缓冲)。 然后你就可以在任何时候调用RenderTarget2D.GetTexture获取渲染目标的内容进行后继处理。
;渲染目标可以和depth-stencil缓冲结合起来使用。如果你设置一个新的渲染目标,这个渲染目标会使用一个已存在的depth-stencil缓冲。如果新渲染目标有一个不同于depth-stencil缓冲的multisampling设置,或更大的宽和高,你就需要一个新的depth-stencil缓冲匹配这种情况。你还需要在depth-stencil缓冲中使用一个匹配渲染目标表面格式的深度格式。有时你可以同时渲染超过一个以上的渲染目标。你的图形设备支持的渲染目标的数量可以从MaxSimultaneousRenderTargets属性获得。使用多个渲染目标有很多变量,更多的信息可见Render Targets。
- 【什么是渲染目标(render target)】
- 什么是渲染目标(render target)&& 渲染到纹理(Render To Texture, RTT)详解
- 什么是渲染目标(render target)&& 渲染到纹理(Render To Texture, RTT)详解
- DX名词解释:渲染目标(Render Target)
- MSDN: Render Targets, Devices, and Resources什么是渲染目标,设备和资源
- Render to Texture(渲染到纹理)
- Render to Texture(渲染到纹理)
- 渲染到纹理(render to texture)
- Render to Texture(渲染到纹理)
- Django的render(模板渲染)机制
- Unity Render Pipeline 渲染管线(漫画)
- OffScreen Render (离屏渲染)
- Reactjs Component 渲染(Render)机制
- fur render(毛发渲染)
- EXT render 渲染过程
- EXT render 渲染过程
- render collection渲染集合
- 渲染树render tree
- C++实现一个不能被继承的类
- Android之Handler、Looper、Message探索
- 在测试phone的app中遇到的问题
- 多选框级联权限保存
- Ligerui grid 合并单元格
- 【什么是渲染目标(render target)】
- Linux切换用户提示This account is currently not available
- 深入理解java内部类和匿名内部类
- Delphi中的T
- PAT 1006. Sign In and Sign Out (25)
- 问过我
- 全局异常处理
- **(leetcode_backtracking) Subsets II
- echart-X