当前位置: 首页 > news >正文

卡通风格渲染

1、卡通风格渲染是什么

卡通风格渲染(Cartoon Shading),也称为非真实感渲染(NPR)或卡通渲染(Toon Shading)
主要目的是使3D模型看起来更像手绘的二维卡通或漫画风格,而不是逼真写实的3D渲染效果。
这种风格的渲染常用于游戏、动画和电影中,用来创造一种独特的艺术风格

2、卡通风格渲染 基本原理

让光的过渡效果变硬并且实现轮廓描边!
关键点:

  • 如何让光的过渡效果变硬

回顾 Blinn-Phong 光照模型公式:

影响对象光照效果的部分主要是:漫反射的计算 + 高光反射的计算
因此,想要光的过渡效果变硬,只需要从这两方面去考虑即可


漫反射部分的变硬需要使用到渐变纹理:

 高光反射部分的变硬需要基于它的公式修改计算规则

把 pow( max(0, dot(法线单位向量, 半角单位向量)), 幂) 直接进行简化

相当于之前平滑的值变化变得只有1和0两种情况,要不有要不没有


  • 如何实现轮廓描边

这里的轮廓描边不采用全部沿发现放大然后渲染的方法,而是只将背面顶点沿法线方向偏移扩大,即:

同样两个Pass渲染对象:一个Pass渲染背面 将模型背面顶点沿法线方向偏移扩大;一个Pass渲染正面 正常渲染
这样实现的效果会让模型上有重叠的结构出现描边效果

(左图是全部顶点偏移放大,右图是背面顶点偏移放大)

注意:

  • 模型背面就是法线方向和摄像机面朝向呈锐角的部分
  • 模型正面就是法线方向和摄像机面朝向呈钝角的部分


http://www.mrgr.cn/news/83797.html

相关文章:

  • Pytorch通信算子组合测试
  • 如何使用 Vue 自定义指令实现元素拖拽支撑横向和纵向拖拽
  • 工艺参数优化、工程设计优化上新!Elman循环神经网络+NSGAII多目标优化算法(Matlab)
  • Git 命令代码管理详解
  • C# 继承(接口)
  • 【从0-1实现一个前端脚手架】
  • BUUCTF:misc刷题记录4(会持续更新的)
  • 模之屋模型导入到UE5
  • 三相无刷电机控制|FOC理论04 - 克拉克变换 + 帕克变换的最终目标
  • 源码安装httpd2.4
  • Springboot + vue 小区物业管理系统
  • 1.14学习
  • 单独编译QT子模块
  • 三台 Centos7.9 中 Docker 部署 Redis 哨兵模式
  • [创业之路-249]:《华为流程变革:责权利梳理与流程体系建设》核心内容
  • 期望最大化算法:机器学习中的隐变量与参数估计的艺术
  • ASP.NET Core 系列总结
  • 【SH】Xiaomi9刷Windows10系统研发记录 、手机刷Windows系统教程、小米9重装win10系统
  • 前端笔记----
  • 【小王Java自习】
  • Spring FactoryBean到仿照mybatis @Mapper的实现
  • 笔记本电脑 选购 回收 特权模式使用 指南
  • 【update 更新数据语法合集】.NET开源ORM框架 SqlSugar 系列
  • 开发人员学习书籍推荐(C#、Python方向)
  • 【Docker】docker compose 安装 Redis Stack
  • 如何在本地部署大模型并实现接口访问( Llama3、Qwen、DeepSeek等)