| CopyRenderFeature | renderGraph.AddCopyPass | Samples\Universal RP\17.0.3\URP RenderGraph Samples\Blit\CopyRenderFeature.cs |
| BlitAndSwapColorRendererFeature | renderGraph.AddBlitPass / resourceData.cameraColor | Samples\Universal RP\17.0.3\URP RenderGraph Samples\BlitWithMaterial\BlitAndSwapColorRendererFeature.cs |
| BlitRendererFeature | ContextContainer frameData / ContextItem | Samples\Universal RP\17.0.3\URP RenderGraph Samples\Blit w. FrameData\BlitRendererFeature.cs |
| TextureRefRendererFeature | ContextContainer frameData / ContextItem | Samples\Universal RP\17.0.3\URP RenderGraph Samples\TextureReference w. FrameData\TextureRefRendererFeature.cs |
| OutputTextureRendererFeature | ConfigureInput | Samples\Universal RP\17.0.3\URP RenderGraph Samples\OutputTexture\OutputTextureRendererFeature.cs |
| . | ||
| UnsafePassRenderFeature | Samples\Universal RP\17.0.3\URP RenderGraph Samples\UnsafePass\UnsafePassRenderFeature.cs | |
| . | ||
| FrameBufferFetchRenderFeature | Samples\Universal RP\17.0.3\URP RenderGraph Samples\FramebufferFetch\FrameBufferFetchRenderFeature.cs | |
| RendererListRenderFeature | Samples\Universal RP\17.0.3\URP RenderGraph Samples\RendererList\RendererListRenderFeature.cs | |
| . | ||
| GbufferVisualizationRendererFeature | Samples\Universal RP\17.0.3\URP RenderGraph Samples\GbufferVisualization\GbufferVisualizationRendererFeature.cs | |
| GlobalGbuffersRendererFeature | Samples\Universal RP\17.0.3\URP RenderGraph Samples\GlobalGbuffers\GlobalGbuffersRendererFeature.cs | |
| . | ||
| ComputeRendererFeature | Samples\Universal RP\17.0.3\URP RenderGraph Samples\Compute\ComputeRendererFeature.cs | |
| MrtRendererFeature | Samples\Universal RP\17.0.3\URP RenderGraph Samples\MRT\MrtRendererFeature.cs |
quick sheet
| IBaseRenderGraphBuilder | |
|---|---|
| buidler.UseTexture(input: passData.source, flag: AccessFlags.Read) | 입력 |
| buidler.SetRenderAttachment(tex: passData.destination, index: 0) | |
| buidler.SetRenderFunc | 렌더함수 지정 |
| buidler.UseRendererList(input: rendererListHandle) | RendererListHandle는 항상 readonly |
| buidler.AllowPassCulling(value: false) | |
| buidler.SetGlobalTextureAfterPass(input: textureHandle, propertyId: Shader.PropertyToID("_HelloTex")) |
context.cmd.SetRenderTarget(data.TmpCopyTexHandle); // Output이라 보면 됨 Blitter.BlitTexture(nativeCmd, textureHandle, scaleBias, mipLevel: 0, bilinear: false); Blitter.BlitTexture(nativeCmd, textureHandle, scaleBias, material, pass); // => Blitter.BlitTexture함수를 쓰면 inputTextureHandle이 shader에서 _BlitTexture로 바인딩됨.
RenderTextureDescriptor rtdesc2 = new RenderTextureDescriptor(w, h, GraphicsFormat.R16G16_SFloat, 0) { autoGenerateMips = true, useMipMap = true }; RenderingUtils.ReAllocateHandleIfNeeded(ref _tmpCurrMipmapRT, rtdesc2, FilterMode.Bilinear, TextureWrapMode.Clamp, name: "_tmpCurrMipmapRT");
CommandBuffer nativeCmd = CommandBufferHelpers.GetNativeCommandBuffer(context.cmd);
migration RenderGraph API
-
RenderingUtils.ReAllocateIfNeeded => RenderingUtils.ReAllocateHandleIfNeeded
-
RTHandle 보다는 TextureHandle
textureHandle = renderGraph.ImportTexture(rtHandle);
- ScriptableRendererFeature를 상속받아쓰는 SetupRenderPasses 더 이상 안쓰임.
// before
public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor)
{
ConfigureInput(ScriptableRenderPassInput.Normal);
}
// after
using (IUnsafeRenderGraphBuilder builder = renderGraph.AddUnsafePass(passName, out PassData passData))
{
ConfigureInput(ScriptableRenderPassInput.Normal);
}