2. Outline
1. Why do we need post rendering?
2. Mobile device pixel fill rate issue
3. How the post rendering improves performance?
4. Preview demo
5. Performace analysis
6. What is post rendering?
7. How does it work?
8. Projected point UV
9. Projected texture reference code
10.Change screen size vs post rendering
11.Linear texture filtering problem
12.Where is the COF project applied?
13.Summary
3. Why do we need post rendering?
1. Full screen pixel processing performance issues, such as water, clouds,
terrain ... and so on.
2. Reducing screen resolution to reduce pixel processing isn’t an option.
(for example, I hope the UI to maintain the native resolution of the
device).
3. In short, just reduce the pixel resolution.
4. Mobile device pixel fill rate issue
Visible screen cellActual pixel resolution
6. How the post rendering improves performance?
Complex fragment
shader
Complex fragment
shader
Complex fragment
shader
Complex fragment
shader
Complex fragment
shader
(1920X1080)
Only paste one texture
fragment shader
1920X1080 = 2073600
1024X512 = 524800
+ simple shader(1024X512)
19. What is post rendering?
Render an object to texture (RTT), process
shader in this RTT , and then render it
once again with projected UV(so, render
twice).
20. How does it work?
RTT Result
Final Result
Plane
24. Change screen size vs post rendering
Advantage Weakness
Change screen size
1. Draw once。
2. Without any RTT and other
camera processing。
1. Only one Resolution,
can not be individually
optimized。
2. Can not be applied to
situations where native
resolution needs to be
keeped (Example UI)。
Post rendering
1. Keep the native resolution,
not affect the resolution
requirements (such as UI)
2. Provide different resolutions
for individual objects。
1. Draw twice。
2. extra RTT and camera
27. Where is the COF project applied
Cloud system
Ocean system
28. Summry
Timing
○ When dealing with objects covering full screen, and the
fragment shader is too complicated.
○ When screen resolution can not be reduced or want to have
separate pixel resolution.
PS
● Linear textue filter problem.
● Use RenderTexture.GetTemporary and
RenderTextue.Release.