Custom-Render-Pipeline
A study in new Universe Render in latest Unity Engine.
Updates
New Render Pipeline
- Replace default renderer: project setup, render pipeline asset, render pipeline
Renderer
- Skybox: camera renderer, static view of skybox
- VP Matrix: aligned skybox
- Clear Target: command buffer, buffer sample, color+Z+stencil clear
- Draw Geometry: culling, sorting, flitting(not correct), drawing settings(shader id)
- Draw Transparent Geo: opaque,transparent
Editor Renderering
- Legacy Shader: multiple passes
- Error Material: assign override material in drawingsetting
- Refactor Editor Class: partial class
- Scene Window: camera gizmos, UI elements
- Multiple Cameras: camera buffers, profiling
- Camera Layers & Clear Flags: clear flags
Shader
- Setup HLSL Shader System: include flies
- Space Transform: unity_ObjectToWorld, unity_MatrixVP
- Integrate Core Library: Packages/com.unity.render-pipelines.core
- Color Property: shader variables
Batches
- SRP Batches: CBUFFER_START
- PerObject Color: different memory layout
- Combine Objects GPU Instances, shader struct
- Instanced Meshes Instanced Meshes
- Configuring Batching
Blend
- Blend Modes: Blend Tag Pass
- Cutoff: Cutoff,Clip
- Group Instances: Group Demo
Directional Light
- Lighting: surface, normals, lighting
- Diffuse: diffuse light
- Multiple Lights: light culling, shader loop
BRDF
- Diffuse BRDF: meltalic,smoothness