学习记录:《实时渲染》第一章 介绍——《REAL- TIME RENDERING》FOURTH EDITION Chapter 1 Introduction

本文主要是介绍学习记录:《实时渲染》第一章 介绍——《REAL- TIME RENDERING》FOURTH EDITION Chapter 1 Introduction,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        实时渲染是指在计算机上快速生成图像。它是计算机图形学中交互性最高的领域。图像出现在屏幕上,用户会输入或进行反馈,这个反馈会影响接下来生成的内容。这种反馈和渲染循环的发生速度足够快,因此观看者看不到单个图像,而是沉浸在一个动态的过程中。图像显示的速率以每秒帧(FPS)或赫兹(赫兹)为单位进行测量。每秒1帧,几乎没有交互性;用户为了等待下一帧的更新会感到很痛苦。在6FPS左右,一种交互感开始增长。电子游戏的目标是30、60、72或更高的FPS;在这些速度下,用户专注于输入或进行反馈。电影放映机以24帧每秒的速度刷新画面,但使用快门系统显示每帧2到4次,以避免闪烁。此刷新率与显示速率分开,并以赫兹(Hz)表示。照亮帧三次的快门的刷新率为72hz。液晶显示器还将刷新率和显示率分开。观看图像以24帧/秒的速度出现在屏幕上可能是可以接受的,但更高的速率对于最小化响应时间很重要。只要15毫秒的时间延迟就会减缓和干扰交互作用。例如,虚拟现实的头戴显示器通常需要90帧/秒来最小化延迟。实时渲染比交互性更重要。如果速度是唯一的标准,任何快速响应用户命令并在屏幕上绘制任何东西的应用程序都将符合条件。实时渲染通常意味着产生三维图像。交互性和与三维空间的某些连接感是实时渲染的充分条件,但第三个元素已经成为其定义的一部分:图形加速硬件。许多人认为在1996年引入3Dfx Voodoo1卡是消费者级三维图形的真正开始。随着这个市场的快速发展,每台电脑、平板电脑和手机都有内置的图形处理器。图1.1和1.2显示了一些通过硬件加速而实现的实时渲染结果的优秀例子。

图1.1 论坛赛车7的射门。

 图1.2。博克莱尔市上演的《巫师3》。

        图形硬件的进步推动了的交互式计算机图形学领域研究的爆炸式发展。我们将专注于提供增加速度和提高图像质量的方法,同时也描述了加速算法和图形api的特点和局限性。我们无法有深度的涵盖每一个主题,所以我们的目标是呈现关键的概念和术语,解释该领域的最成熟的实际算法,并指引读者获取更多的更好的信息。我们希望我们的努力能为您提供帮助以及有助于理解的工具,希望你感觉值得花的时间和精力来阅读我们的书。


1.1内容概述
下面是对前面章节的简要概述。
第2章  图形渲染管线

        实时渲染的核心是进行场景描述并将其转换为我们可以看到的东西。
第3章  图形处理单元

        现代GPU使用固定功能和可编程单元的组合,实现了渲染管线的各个阶段。
第4章  变换

        变换是操作对象的位置、方向、大小和形状以及照相机的位置和视图的基本工具。
第5章  着色器基础

        讨论开始于材质和光的定义,以及实现具有真实感或者风格化的所需的表面效果。本文还介绍了其他与外观相关的主题,如通过使用抗锯齿、透明度和伽马校正来提供更高的图像质量。
第6章  纹理

        实时渲染最强大的工具之一是能够快速访问和显示表面上的图像。这个过程被称为文本化,有各种各样的方法来应用它。

第7章  阴影

        向场景中添加阴影可以增加真实感。提出了更常用的快速阴影计算算法。
第8章  光和颜色

        在执行基于物理的渲染之前,我们首先需要了解如何量化光线和颜色。在我们的物理渲染过程完成后,我们需要将生成的数量转换为显示器的值,并考虑到屏幕和查看环境的属性。本章将介绍这两个主题。
第9章  基于物理结构的阴影

        我们从头开始就建立了对基于物理的阴影模型的理解。本章从潜在的物理现象开始,涵盖各种渲染材质的模型,最后通过混合材质和过滤等方式以避免锯齿和保持表面外观的方法结束。
第10章  直接光照。探索了描绘更精细的光源的算法。表面阴影会考虑光是由具有特征形状的物理物体发出的。
第11章  全局光照

        模拟光和场景之间多种交互的算法进一步提高了图像的真实性。我们讨论了环境和方向遮挡,以及在漫反射和镜面表面上呈现全局照明缺陷的方法,以及一些前瞻性的方法。
第12章  后处理效果

        图形硬件擅长快速地执行图像处理。首先讨论了图像滤镜和重投影技术,然后我们提到了几种流行的后处理效应:镜头耀斑、运动模糊和景深。

第13章  超越多边形

        三角形并不总是描述对象的最快或最真实的方法。基于使用图像、点云、体素和其他样本集的替代表示都有各自的优点。
第14章  体积和半透明渲染

        这里的重点是体积材料表示的理论和实践及其与光源的相互作用。模拟的现象范围从大规模的大气效应到薄毛纤维内的光散射。
第15章  非真实的渲染

        试图让一个场景看起来很真实只是渲染它的一种方式。其他风格,如卡通阴影和水彩效果,被调查。本文还讨论了行生成技术和文本生成技术。
第16章  多边形技术

        几何数据来自广泛的来源,有时需要修改才能快速、很好地渲染。给出了多边形数据表示和压缩的许多方面。
第17章  曲线和曲线曲面

        更复杂的表面表示提供了一些优点,如能够在质量和渲染速度之间进行权衡,更紧凑的表示和光滑的表面生成。
第18章  管线优化

        一旦一个应用程序运行并使用了高效的算法,它就可以使用各种优化技术变得更快。找到瓶颈并决定如何应对它是这里的主题。并讨论了多重处理问题。
第19章  加速算法

        在你成功后,让它很快。涵盖了各种形式的挑选和细节渲染的水平。
第20章  高效的阴影

        一个场景中的大量灯光会大大减慢性能。在表面碎片可见之前完全阴影是浪费周期的另一个来源。我们探索了一个广泛的方法来解决这些和其他形式的低效率,而阴影。
第21章  虚拟和增强现实

        这些领域对于以快速和一致的速度有效地生成真实图像具有特别的挑战和技术。
第22章  交叉试验方法

        交叉测试对于渲染、用户交互和碰撞检测非常重要。本文为常用几何交集测试的最有效算法提供了深入的覆盖。
第23章  图形硬件

        这里的重点是组件,如颜色深度、框架缓冲区和基本的架构类型。提供了一个具有代表性的gpu的案例研究。
第24章,未来,猜一下。

这篇关于学习记录:《实时渲染》第一章 介绍——《REAL- TIME RENDERING》FOURTH EDITION Chapter 1 Introduction的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

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

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

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

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

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

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd