海洋个人博客

喜欢自由的飞翔!

D3D12渲染技术之混合

本篇博客给读者介绍混合,见下图所示, 我们首先绘制地形,然后绘制木箱,然后将地形和板条箱像素放在后面的缓冲区上。 我们使用混合将水面绘制到后面的缓冲区,以便水像素与地形混合,并在后面缓冲区上放置像素,使地形和板条箱通过水显示。 从本篇博客开始,我们将研究混合技术,这些技术允许我们将当前光栅化的像素...

2018-10-14 10:12:42

阅读数:310

评论数:0

D3D12渲染技术之地形和水

在这个案例中,我们为山和水场景添加纹理, 第一个关键问题是我们在地上铺设草纹理, 因为地网格是一个大的表面,如果我们简单地在其上拉伸纹理,那么使用较少的纹理像素将覆盖每个三角形。 换句话说,表面没有足够的纹理分辨率; 我们会得到放大的纹理,因此,我们在地网格上重复草纹理以获得更高的分辨率。 第二个...

2018-10-12 13:37:21

阅读数:341

评论数:0

D3D12渲染技术之纹理案例

我们现在回顾一下将纹理添加到箱子模型上面,就跟以前的博客中提到的那样。下面我们详细介绍如何实现? 指定纹理坐标 GeometryGenerator :: CreateBox生成箱子的纹理坐标,以便将整个纹理图像映射到箱子的每个面上。 为简洁起见,我们仅显示正面,背面和顶面的顶点定义。 另请注意...

2018-10-11 09:39:08

阅读数:235

评论数:0

D3D12渲染技术之在着色器中采样

纹理对象在HLSL中定义,并使用以下语法分配给纹理寄存器: Texture2D gDiffuseMap : register(t0); 这个换成在Unity引擎或者UE4引擎中就是提供的可视化操作界面,而在DX中的表示是按照上面的写法,这样可以通过引擎对其进行赋值操作。 请注意,纹理寄存...

2018-10-10 13:35:38

阅读数:213

评论数:0

D3D1渲染技术之采样

在前面的博客,我们看到除了纹理数据之外,还有两个与使用纹理相关的关键概念:纹理过滤和寻址模式。 采样纹理资源时使用的过滤器和寻址模式由采样器对象定义, 应用程序通常需要多个采样器对象以不同方式对纹理进行采样。 创建采样器 正如我们将在下面看到的,采样器用于着色器, 为了将采样器绑定到着色器以供...

2018-10-08 10:07:41

阅读数:216

评论数:0

D3D12渲染技术之寻址模式

结合常数或线性插值的纹理定义了矢量值函数T(u,v)=(r,g,b,a), 也就是说,给定纹理坐标(u,v)∈[0,1] ,纹理函数T返回颜色(r,g,b,a)。 Direct3D允许我们以四种不同的寻址方式(称为地址模式):wrap,border color,clamp和mirror。 1、w...

2018-10-07 10:19:20

阅读数:191

评论数:0

D3D12渲染技术之过滤

纹理贴图的元素应该被认为是来自连续图像的离散颜色样本,它们不应该被认为是带有区域的矩形。所以问题是:如果我们的纹理坐标(u,v)与其中一个纹素点不一致,会发生什么?这可能发生以下情况。假设播放器放大场景中的墙壁,使墙壁覆盖整个屏幕,例如,假设显示器分辨率为1024×1024,墙壁的纹理分辨率为25...

2018-10-05 09:14:28

阅读数:234

评论数:0

D3D12渲染技术之创建和启用纹理

加载DDS文件 Microsoft提供了轻量级源代码来加载DDS文件: https://github.com/Microsoft/DirectXTK/wiki/DDSTextureLoader 但是,代码仅支持DirectX 11,我们修改了DDSTextureLoader.h / .cpp...

2018-10-04 09:11:49

阅读数:222

评论数:0

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