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

《顶点, 几何和像素着色器编程》全书目录

入门

在这个章节中, Ralf Kornmann介绍了Direct3D 10和你可以用到的新特性. 除了详细的Direct3D 10的介绍外, 还讨论了Direct3D 9和Direct3D 10的不同之处.

  1. 入门
    1. 你需要什么
    2. 使用DirectX SDK
  2. Direct3D 9开发者的快速入门
    1. 废弃的
    2. 不同的
    3. 新增的
  3. Direct3D 10管线
    1. 输入装配器
    2. 顶点着色器
    3. 几何着色器
    4. 流输出
    5. 光栅化
    6. 像素着色器
    7. 输出合成器
    8. 通过管线的各种方式
  4. 资源
    1. 数据格式
    2. 资源用途
    3. 资源绑定
    4. 缓冲
    5. 一维纹理
    6. 二维纹理
    7. 三维纹理
    8. 资源限制
    9. 子资源
    10. 资源更新
    11. 资源复制
    12. 资源映射
    13. 视图
  5. 状态对象
    1. 输入布局
    2. 光栅化
    3. 尝试模板状态
    4. 混合状态
    5. 采样器状态
  6. 着色器
    1. 公共着色器核心
    2. HLSL
    3. HLSL变量类型
    4. HLSL函数
    5. HLSL类
    6. HLSL流程制属性
    7. 几何着色器
    8. 像素着色器
    9. 编译着色程序
    10. 创建着色器
    11. 着色器反射
  7. Direct3D 10设备
    1. 绘制命令
    2. 记数器, 查询
    3. 断言
    4. 检查
  8. DXGI
    1. 工厂, 适配器和显示器
    2. 设备
    3. 交换链
    4. 资源
  9. 效果框架
    1. FX文件
    2. 编译效果
    3. 创建效果
    4. 技术
    5. 通路
    6. 变量
    7. 常量和纹理缓冲
    8. 注释
    9. 状态块
  10. 其它

环境效果

Jason Zink介绍和讨论了一系列的为场景渲染增加真实感和复杂度的技术. 其中有屏幕空间环境光遮蔽, 各种形式的环境映射, 还有基于GPU的动态粒子系统.

  1. 屏幕空间环境光遮蔽
    1. 介绍
    2. 算法理论
    3. 实现
    4. SSAO演示
    5. 总结
  2. 单通路环境映射
    1. 介绍
    2. 算法理论
      1. 球形映射参数化
      2. 立方体映射参数化
      3. 双抛物面参数化
    3. 实现
      1. 球形映射实现
      2. 立方体映射实现
      3. 双抛物面映射实现
    4. 演示和算法性能
      1. 改进球形映射实现
      2. 改进双抛物面映射实现
    5. 总结
  3. 动态粒子系统
    1. 介绍
    2. 粒子系统的背景资料
      1. 实现难点
      2. 基于GPU的粒子系统(D3D9)
      3. 基于GPU的粒子系统(D3D10)
    3. 算法理论
    4. 实现
    5. 结果
    6. 总结

光照

Jack Hoxley提供了一个关于各种现代光照技术的全面论述. 以一个基础光照理论的考试为开始, 而后是最新的即时渲染研究, 本章不但是一个优秀的信息来源, 更是这个关于这个主题的一流资料.

  1. 基础和理论
    1. 什么是光照, 为什么它很重要
    2. 本节概要
    3. 需要具备的数学知识
    4. 什么是光照模型?
    5. 全局和局部照明
    6. 强调一下动态光照
    7. 双向反射分布函数和渲染方程
    8. 菲涅耳公式
    9. 在哪和什么时候计算光照模型
    10. 单通路和多通路渲染
    11. 示例代码
    12. 参考资料
  2. 直接光源
    1. 衰减
    2. 方向光
    3. 点光源
    4. 聚光灯
    5. 区域光
    6. 性能
    7. 参考资料
  3. 动态逐像素光照
    1. 背景
      1. 光照分辨率
      2. 选择一个分辨率
    2. 创建源数据
    3. 存储源数据
    4. 从逐顶点到逐像素
      1. 非压缩存储
      2. 压缩到2个轴
      3. 压缩到一半精度
      4. 压缩到8位整数
      5. 用几何着色器计算
      6. 摘要
    5. 一个逐像素光照的框架
    6. 简单的法线映射
    7. 带有偏移限制的视差映射
    8. 光线追踪
    9. 效果对比
    10. 参考资料
  4. Phong和Blinn-Phong
    1. Phong方程
    2. Blinn-Phong方程
    3. 效果
    4. 参考资料
  5. Cook-Torrance
    1. Cook-Torrance方程
      1. 几何公式
      2. 粗糙公式
      3. 菲涅耳公式
    2. 实现
    3. 效果
    4. 参考资料
  6. Oren-Nayar
    1. Oren-Nayar方程
    2. 实现
    3. 效果
    4. 参考资料
  7. Strauss
    1. Strauss模型的参数
    2. Strauss光照模型
    3. 实现
    4. 效果
    5. 参考资料
  8. Ward
    1. Isotropic方程
    2. Isotropic实现
    3. Anisotropic方程
    4. Anisotropic实现
    5. 效果
    6. 参考资料
  9. Ashikhmin-Shirley
    1. 方程式
      1. 漫反射公式
      2. 镜面反射公式
    2. 实现
    3. 效果
    4. 参考资料
  10. 对比和总结
    1. 全局与局部照明
    2. 光源和受光环境
    3. 架构
    4. 光照分辨率
    5. 材质类型
    6. 光照模型
    7. 性能

阴影

Niko Suni在本章介绍了生成渲染时阴影的主要技术. 以体积阴影开始, 进阶到阴影图和光线追踪阴影, 本章提供了卓越的阴影渲染理论.

  1. 阴影介绍
  2. 阴影体
    1. 介绍
    2. 体积阴影
    3. 实现理论
    4. 使用几何着色器生成阴影体
  3. 阴影图
    1. 介绍和理论
    2. 实现
  4. 光线追踪阴影
    1. 基本介绍和实现
  5. D3D 10.1为阴影所做的考虑

层次细节技术

在本章中, Niko Suni 调查了一些LOD可以应用的方面. 这里给出了管理场景LOD的思想, 还有基于镶嵌技术的逐物体LOD.

  1. 管理层次细节
    1. 介绍
    2. 断言渲染
    3. 几何着色器裁减
    4. 像素着色器中的动态流程控制
  2. 动态补丁镶嵌
    1. 基础技术 - 介绍, 理论和实现
    2. 置换
    3. 现在和未来硬件的实用性考虑

程序化合成

在本章中, Niko Suni讨论了各种在像素着色器中生成程序化内容,和程序化内容生成的一般性考虑.

  1. 程序化纹理
    1. 介绍
    2. 简单的程序化像素着色器
    3. 高级的像素着色器 - 雪花
  2. D3D 10.1 为程序化着色器所做的考虑

后处理管线

在本章中, Wolfgang Engel提供了实时渲染环境下的一个后处理的完整讨论 . 开始是一些基础内容, 然后是一些高级技术, 甚至提供了几个常用的效果, 这是想进入后处理竞技场的人们的必读章节.

  1. 介绍
  2. 颜色过滤器
  3. 高动态范围渲染
  4. 星光
  5. 景深
  6. 运动模糊
  7. 有用的效果片段
  8. 鸣谢
  9. 参考资料

相关文章:

  • 3.5 主存储器与CPU的连接
  • 跨线程中Control.Invoke的优雅写法
  • 3.6 双口RAM多模块存储器
  • 3.7 Cache基本原理与基本概念
  • (转)甲方乙方——赵民谈找工作
  • 3.8 Cache-主存映射方式
  • 3.9 Cache替换算法
  • 3.10 Cache写策略
  • C# 拖放操作源码详解一
  • 【操作系统】王道考研知识汇总
  • 人生经典定律[收藏]
  • 3.11 页式存储器
  • 2008哗啦过去了,许,许,许个愿吧
  • 3.12 虚拟存储器
  • 跟未鹏学思考——学习与记忆
  • 3.7、@ResponseBody 和 @RestController
  • angular2开源库收集
  • Angularjs之国际化
  • cookie和session
  • CSS3 变换
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • fetch 从初识到应用
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Xmanager 远程桌面 CentOS 7
  • 闭包--闭包作用之保存(一)
  • 物联网链路协议
  • 一道闭包题引发的思考
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 正则表达式
  • Android开发者必备:推荐一款助力开发的开源APP
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # 达梦数据库知识点
  • #每日一题合集#牛客JZ23-JZ33
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (3)STL算法之搜索
  • (42)STM32——LCD显示屏实验笔记
  • (二)斐波那契Fabonacci函数
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)Google的Objective-C编码规范
  • .gitignore文件---让git自动忽略指定文件
  • .net core使用ef 6
  • .Net程序帮助文档制作
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [acm算法学习] 后缀数组SA
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [Android Studio] 开发Java 程序
  • [Android实例] 保持屏幕长亮的两种方法 [转]
  • [C++]类和对象【上篇】
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项