dx11
文章平均质量分 85
了解了解了解了
这个作者很懒,什么都没留下…
展开
-
Directx11 顶点
在dx11中,顶点由空间位置和各种附加属性组成,D3D允许我们灵活地建立属于自己的顶点格式。要创建一个自定义的顶点格式,必须创建一个包含顶点数据的结构体。例如下面两种不同类型的顶点格式,第一个由位置和颜色组成,另一个由位置、发现和纹理坐标组成。struct Vertex1{ XMFLOAT3 Pos; XMFLOAT4 Color;};struct Verte...原创 2018-10-15 15:43:28 · 528 阅读 · 0 评论 -
Directx11 顶点缓冲
为了让GPU访问顶点数组,必须把它放置在一个称为缓冲(buffer)的特殊资源容器中,该容器由ID3D11Buffer接口表示。 用于存储顶点的缓冲区成为顶点缓冲(vertex buffer)。D3D缓冲不仅可以存储数据,而且还说明了如何访问数据以及数据被绑定到图形管线的那个阶段。要创建一个顶点缓冲,需要执行以下步骤: 1.填写一个D3D11_BUFFER_DESC结构体,...原创 2018-10-15 20:59:39 · 729 阅读 · 0 评论 -
Directx11 索引和索引缓冲
由于索引需要由GPU来访问,所以它们需要被放在一个特殊的资源结构体中:索引缓冲区。建立一个索引缓冲区和建立一个顶点缓冲区非常相似。以下是建立一个索引缓冲区的示例。UINT indices[24] = {0, 1, 2, // Triangle 00, 2, 3, // Triangle 10, 3, 4, // Triangle 20, 4, 5, // Triangle 3...原创 2018-10-16 10:52:07 · 564 阅读 · 0 评论 -
Directx11渲染管线概述
渲染管线(rendering pipeline)是指:在给定一个3D场景的几何描述及一架已经确定位置和方向的虚拟摄像机时,根据虚拟摄像机的视角生成2D图像的一系列步骤。以下文章将会具体描述这些步骤(阶段)。1.输入装配阶段 输入装配(Input Assembler,简称IA)阶段从内存读取几何数据(顶点和索引)并将这些数据组合为几何图元(例如三角形和直线)。1.1顶点...原创 2018-10-09 20:25:50 · 2196 阅读 · 0 评论 -
Directx11 顶点着色器示例
以下是一个简单的顶点着色器实现cbuffer cbPerObject{ float4x4 gWorldViewProj;};void VS(float3 iPosL : POSITION, float4 iColor : COLOR, out float4 oPosH : SV_POSITION, out float4 oCol...原创 2018-10-16 19:47:08 · 1101 阅读 · 0 评论 -
Directx11 Effects
effects框架是一组工具代码,用来组织着色器程序和渲染状态,使它们共同协作实现一个具体的渲染效果。比如,你可能有不同的特效用于渲染水,云,金属物体和动态的角色。每一个effect都会包含至少一个顶点着色器,一个像素着色器和渲染阶段。 在11之前的版本中,effect属于D3D库,但在11中,它被分离了出来。源码在DirectX SDK\Samples\C++ \Effects...原创 2018-10-19 16:44:31 · 666 阅读 · 3 评论 -
Directx11 像素着色器示例
在光栅化阶段,来自顶点(或几何)着色器的顶点属性输出在三角形的像素进行插值。插值的取值之后会输入到像素着色器中。假设没有几何着色器,下图解释了到目前为止顶点数据所采用的路径。 像素着色器函数和顶点着色器很像,但它会对每个像素片段都执行一次操作。给像素着色器一个输入,他就会计算每一个像素片段的颜色值。我们注意到像素片段可能不会保留下来并进入到后台缓冲区;比如,它可能在像素着色器...原创 2018-10-17 15:16:41 · 526 阅读 · 0 评论 -
Directx11 渲染阶段
D3D基本上是一个状态机。其中的事物都会停留在当前的状态,直到我们去改变他们。例如我们之前看到的,输入布局,顶点缓冲区,索引缓冲区在绑定到输入装备阶段后驻留在那,直到我们绑定其他的缓冲;同样地,当前设置的图元拓扑在它被改变之前一直都生效。另外,D3D具有状态组,可以封装用来配置D3D的设置。 1.ID3D11RasterizerState:该接口表示用于配置光栅化阶段的状态组。...原创 2018-10-17 19:50:20 · 814 阅读 · 0 评论