前言:前几天看米哈游的技术总监说:《崩坏3》的bloom效果的实现是
(1)高亮像素过滤
(2)向下采样(降采样)
(3)向上采样
(4)将模糊后的图像和原图像混合
经过上面的步骤,能高效的实现bloom效果
常规的bloom是使用: 提取高亮+ 卷积滤波横向和纵向+ 混合高亮模糊图和原图(这种实现方式和原理介绍,网上一大堆,这里就不再细说了)
一.效果图:


话不多说,直接上代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[ExecuteInEditMode]
[ImageEffectAllowedInSceneView]
public class Bloom : MonoBehaviour
{
#region constData
const int firstPass = 0;
const int downPass = 1;
const int upPass = 2;
const int mixPass = 3;
#endregion
public Shader bloom;
private Material material;
[Range(0,8)]
public int Interations;
[Range(1,10)]// 已经限定从1开始, 只有开启HDR的才会开启bloom
public float Threshold =1;
[Range(0,1)]
public float SoftThreshold = 0.5f;
[Range(0,10)]
public float Intensity = 1;
RenderTexture[] textures = new RenderTexture[8];
private void OnRenderImage(RenderTexture source, RenderTexture destination)
{
if (!material)
{
material = new Material(bloom);
material.hideFlags = HideFlags

博客提及米哈游技术总监所说《崩坏3》bloom效果的实现步骤,包括高亮像素过滤、向下采样、向上采样以及将模糊后的图像和原图像混合,还指出常规bloom实现方式为提取高亮、卷积滤波横向和纵向、混合高亮模糊图和原图。
最低0.47元/天 解锁文章
103

被折叠的 条评论
为什么被折叠?



