实时渲染学习(九)非真实感渲染(NPR)相关技术总结

2023-10-28 00:20

本文主要是介绍实时渲染学习(九)非真实感渲染(NPR)相关技术总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考博文:【《Real-Time Rendering 3rd》 提炼总结】(十) 第十一章 · 非真实感渲染(NPR)相关技术总结

前言

大体浏览了本章内容,主要介绍模拟艺术绘制风格的非真实感渲染,不是我当前学习和关注的领域,所以本章内容就简单记录,有需要深入了解的朋友可以点击文章顶部的原博链接查看。
本章知识概览:

  • 非真实感渲染的基本思想和相关领域
  • 卡通渲染
  • 轮廓描边的几种实现流派
    1)基于视点方向的描边
    2)基于过程几何方法的描边
    3)基于图像处理生成的描边
    4)基于轮廓边缘检测的描边
    5)混和轮廓描边
  • 其他风格的NPR渲染技术
    1)纹理调色板(Palette of Textures)
    2)色调艺术图(Tonal Art Maps,TAM)
    3)嫁接(Graftals)
  • 水彩风格的NPR

一、非真实感渲染

非真实感渲染(Non-Photorealistic Rendering,NPR), 也称为风格化渲染,旨在模拟艺术式的绘制风格。
真实感绘制与非真实感绘制对比

二、卡通渲染

卡通渲染(Toon Rendering,又称Cel Rendering),是一种特殊形式的NPR。卡通着色的三要素:

  • 锐利的阴影(Sharp shadows)
  • 少有或没有高亮的点(Little or no highlight)
  • 对物体轮廓进行描边(Outline around objects)

三、轮廓描边的渲染方法小结

轮廓描边的渲染方法可以分为以下五种:
1)基于视点方向的描边(利用视点方向与表面法线之间的点乘结果获得轮廓信息)
2)基于过程几何方法的描边(先渲染正向表面,再渲染背向表面,从而使轮廓边缘可见)
3)基于图像处理的描边(寻找相邻Z缓冲数值的不连续性可确定轮廓线的位置)
4)基于轮廓边缘检测的描边(检测轮廓边缘并直接进行绘制)
5)混和轮廓描边(结合方法2)和3))

四、其他风格的NPR渲染技术小结

其他风格的NPR渲染技术:

  • 纹理调色板(Palette of Textures)
  • 色调艺术图(Tonal Art Maps,TAM)
  • 嫁接(Graftals)

这篇关于实时渲染学习(九)非真实感渲染(NPR)相关技术总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/289404

相关文章

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.