自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 Real-Time Rendering Fourth Edition 学习笔记之 -- 第六章:纹理

“All it takes is for the rendered image to look right.”—Jim Blinn1 纹理映射管线

2019-02-22 15:51:04 527

原创 Real-Time Rendering Fourth Edition 学习笔记之 -- 第五章:着色基础(Shading Basics)

“A good picture is equivalent to a good deed.”—Vincent Van Gogh1 着色模型(Shading Models)第一步首先确定使用哪种着色模型:本章示例中采用的是 Gooch着色模型:结合灯光后可以总结为:2 光源本节描述光照和常见的灯光类型,可以参考之前写过的DX12笔记:Introduction to ...

2019-02-20 15:43:02 581

原创 Real-Time Rendering Fourth Edition 学习笔记之 -- 第四章:Transforms

本章主要讲了 基本变换,四元数,透视投影,骨骼动画中顶点混合中的内容。基本都可以对应到之前写过的DX12笔记中的文章:Introduction to 3D Game Programming with DirectX 12 学习笔记之 — 第三章:变换Introduction to 3D Game Programming with DirectX 12 学习笔记之 — 第二十二章:四元数...

2019-02-14 15:15:33 228

原创 Real-Time Rendering Fourth Edition 学习笔记之 -- 第三章:图形处理单元

过去的20年,图形硬件经历的惊人的演变。1999年,出现了第一个包含了顶点处理的用户图形芯片(NVIDIA’s GeForce256)。过去的几年,GPU从通过配置实现复杂的固定渲染管线,演变为用户可以实现自己的算法的高度可编程管线。出于性能考虑,部分阶段依然是可配置,不可编程的,但是也在走向可编程和更灵活性。1 数据并行结构GPU芯片是一大组专用的处理器,叫做(shader cores)...

2019-02-13 17:45:23 409 2

原创 Unity官方图形教程 学习笔记(三) -- 线性工作流

原文链接:https://docs.unity3d.com/Manual/LinearLighting.html1 线性渲染概述Unity编辑器支持使用gamma颜色空间和linear颜色空间。Gamma涂颜色空间是历史上的标准格式,线性颜色空间渲染可以得到更精确的结果。1.1 linear和gamma颜色空间人类的眼睛对光照的强度不是线性反应的,我们可以更容易的看到某些亮度–也就是...

2019-01-21 11:44:31 1363 2

原创 Unity官方图形教程 学习笔记(二) -- Precomputed Realtime GI(实时全局光照)

原文链接:https://unity3d.com/cn/learn/tutorials/s/graphics1 介绍当使用Baked GI的时候,会在预计算阶段,离线创建一张lightmap纹理贴图,它会以asset形式保存到项目中,并且在运行时无法修改。而预计算实时GI将光照数据以 Lighting Data Asset(包含更新和创建一系列低分辨率的交互的Lightmap) 形式来保存...

2019-01-20 17:10:52 2568

原创 Unity官方图形教程 学习笔记(一) -- 灯光和渲染概述

原文链接:https://unity3d.com/cn/learn/tutorials/s/graphics1 介绍现代游戏扩展了全局光照(GI)的应用。GI用来描述灯光在现实世界中复杂的反射和交互的计算和数学模型。因为全局光照的计算量非常大,所以游戏中使用了一系列的方法来进行预计算。2 选择灯光技术概括的说,Unity中的灯光可以是实时、预计算、也可以组合使用。2.1 实时...

2019-01-19 17:33:19 1169

原创 Real-Time Rendering Fourth Edition 学习笔记之 -- 第二章:图形渲染管线

一环出问题,全局完。 -----匿名

2018-12-21 16:38:22 314

原创 Real-Time Rendering Fourth Edition 学习笔记之 -- 第一章:介绍

实时渲染关心的是在计算机上重复的制作图像。这是计算机图形学中交互最高的领域。图像显示的频率使用FPS或者Hz才测量。如果是每秒一帧,就只会有一点交互的感觉,用户等到每张新图像的显示是很痛苦的;当6FPS的时候,一种交互的感觉开始增加。视频游戏FPS一般30,60,72或更高。在这样的帧速率下,用户就更加关注行为和交互。电影放映机的显示帧速率是24FPS,但是使用了快门系统,让每帧显示了2到4次...

2018-12-18 11:03:27 580

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 全书总结

本系列文章中可能有很多翻译有问题或者错误的地方;并且有些章节描述的也不太清晰。所以请务必结合原书学习!!! ^ @ ^优化总结第一章:向量代数1、向量的基本运算;2、DX数学库中向量的接口。第二章:矩阵代数1、矩阵的定义,基本计算和特性;2、矩阵的行列式,伴随矩阵和逆矩阵;3、DX数学库中矩阵的接口。第三章:变换1、线性变换的定义和其矩阵表达;2、仿射变换的定义和其...

2018-12-17 18:00:27 1042 5

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- Direct12优化

第一章:向量代数1、向量计算的时候,使用XMVECTOR(可以利用SIMD优点);类成员变量使用XMFLOAT2 (2D),XMFLOAT3 (3D),和XMFLOAT4 (4D) 。2、向函数传递参数的时候(XMVECTOR可以直接传递到SSE/SSE2)前三个参数类型要定义为FXMVECTOR; 第四个要定义为GXMVECTOR; 第五个和第六个要定义为HXMVECTOR; 其他参数要定...

2018-12-17 17:57:12 2527

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十三章:角色动画

学习目标熟悉蒙皮动画的术语;

2018-12-17 11:27:38 552

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十二章:四元数(QUATERNIONS)

学习目标回顾复数,以及复数相乘如何在平面上表达旋转;

2018-12-13 15:14:37 709

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十一章:环境光遮蔽(AMBIENT OCCLUSION)

学习目标熟悉环境光遮蔽的基本思路

2018-12-11 17:56:37 551

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十章:阴影贴图

学习目标熟悉基本阴影贴图算法;

2018-12-10 16:45:49 653

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十九章:法线贴图

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标理解为什么需要法线贴图;学习法线贴图如何保存;学习法线贴图如何创建;学习法线贴图中的法向量的坐标系统是如何与物体空间的三角形的坐标系统关联的;学习如何在顶点和像素着色器中实现法线贴图。1 使用法线贴图的原因找到一种方法在光滑的平面上,显示出更...

2018-12-05 17:14:28 513 3

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十八章:立方体贴图

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标学习什么是立方体贴图;

2018-12-04 18:07:06 970

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十七章:拾取

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标学习如何实现拾取算法

2018-11-29 15:45:26 603

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十六章:实例化和截头锥体裁切

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标学习如何实现硬件实例化;

2018-11-28 17:42:58 645

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标回顾视景坐标系变化的数学算法;

2018-11-27 16:15:40 474

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标使用曲面细分;

2018-11-23 17:26:52 776 1

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十三章:计算着色器(The Compute Shader)

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotesGPU已经被优化为处理单个地址或者连续地址(流操作)的大量内存数据;这和CPU的随机内存访问形成鲜明对比。因为顶点和像素可以独立处理,所以GPU被架构为大量的并行运算;比如NVIDIA的“Fermi”架构支持16个拥有32个CUDA cores的流多处理器(streami...

2018-11-21 18:05:30 1325

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十二章:几何着色器(The Geometry Shader)

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes假设我们没有使用曲面细分阶段,几何着色器阶段就是在顶点着色器和像素着色器之间的一个可选的阶段。几何着色器输入的是基元,输出的是一个基元列表;假如我们绘制的是三角形列表,那么几何着色器就是对每个三角形进行运算:for(UINT i = 0; i < numTrian...

2018-11-20 14:35:51 603

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十一章:模板测试

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes模板缓冲(stencil buffer)状态是通过配置一个D3D12_DEPTH_STENCIL_DESC实例,并且赋值到PSO中的D3D12_GRAPHICS_PIPELINE_STATE_DESC::DepthStencilState学习目标学习如何通过配置...

2018-11-15 16:57:36 549

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十章:混合

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标理解混合的工作原理和如何在D3D中使用它;学习D3D支持的不同的混合模式;学习Alpha组件是如何控制透明基元的;学习如何通过HLSL的clip函数防止像素被绘制到后置缓冲中。1 混合方程令CsrcC_{src}Csrc​为从像素着色器输出的i...

2018-11-13 15:07:01 395

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第九章:贴图

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标学习如何定义将一个纹理映射到一个三角形上;学习如何创建和启用纹理;学习纹理如何被过滤后生产一个更加平滑的图像;学习如何将一个纹理通过地址模式展开多次;学习如何将多个纹理合并成一个新贴图和特殊效果;学习一些基本的纹理动画生成的效果。1 纹理和...

2018-11-09 16:44:19 799

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第八章:光照

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标理解基本的材质和光照之间交互方式;熟悉局部光照和全局光照之间的不同;学习如何用数学的方式描述平面上一个点的方向,以便于计算入射光和平面之间的夹角;学习如何准确的变换法向量;区分环境光,漫反射和高光;学习如何实现点光源、方向光和聚光灯;学习如何通过改...

2018-11-06 16:56:28 942

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)

代码工程地址:https://github.com/jiabaodan/Direct12BookReadingNotes学习目标理解本章中针对命令队列的更新(不再需要每帧都flush命令队列),提高性能;理解其他两种类型的根信号参数类型:根描述和根常量;熟悉如何通过程序方法来绘制通用的几何形状:盒子,圆柱体和球体;学习如何在CPU做顶点动画,并且通过动态顶点缓冲将顶点数据上传到G...

2018-10-30 18:35:05 1229 1

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第六章:在Direct3D中绘制

学习目标1

2018-10-15 16:32:58 1050 4

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第五章:渲染流水线

学习目标了解几个用以表达真实场景的标志和2D图像的深度空间;学习在Direct3D中如何表示3D物体;学习如何模拟虚拟摄像机;理解渲染流水线:如何用几何描述的3D场景渲染出2D图像;1 3D幻觉如何在2D平面(显示器)上产生3D场景的幻觉:1、根据与摄像机的距离缩放;2、遮挡关系;3、光照;4、阴影2 模型的表示一个模型是由三角形网格近似模拟,常用的建模...

2018-09-30 15:27:39 914

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第四章:Direct 3D初始化

学习目标对Direct 3D编程在3D硬件中扮演的角色有基本了解;理解COM在Direct 3D中扮演的角色;学习基本的图形学概念,比如存储2D图像、页面切换,深度缓冲、多重纹理映射和CPU与GPU如何交互;学习如何使用性能计数函数读取高精度时间;学习如何初始化Direct 3D;熟悉本书Demo通用的应用框架中的基本结构。1 前言在理解Direct3D初始化步骤前,需要我...

2018-09-28 18:21:06 1213 1

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第三章:变换

123

2018-09-26 14:27:17 439

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二章:矩阵代数

123

2018-09-10 16:54:10 534

原创 Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第一章:向量代数

Introduction to 3D Game Programming with DirectX 12 学习笔记之 —— 第一章:Vector Algebra学习目标:学习如何使用几何学和数字描述 Vector;学习 Vector 的运算方法及其在几何学上的应用;熟悉在 DirectXMath library 中的 Vector 相关的类和函数。1 向量...

2018-09-06 14:36:44 1079 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除