首页 > TAG信息列表 > Directx11

RenderDoc图形调试器详细使用教程(基于DirectX11)

前言 由于最近Visual Studio的图形调试器老是抽风,不得不寻找一个替代品了。 对于图形程序开发者来说,学会使用RenderDoc图形调试器可以帮助你全面了解渲染管线绑定的资源和运行状态,从而确认问题所在。 RenderDoc官网 DirectX11 With Windows SDK完整目录 欢迎加入QQ群: 727623616

填坑之路 DirectX11(二)使用 DirectXTex 读取 DDS 文件时报错解决方案

近日学习 Direct3D 需要加载一幅纹理贴图到内存中,但由于新的 Windows SDK 不包含 d3dx11.lib,所以只能依赖第三方库进行开发。 了解到 DirectXTex 可以处理该需求后,二话不说往项目中引入依赖,然而在代码正常运行的前提下,纹理贴图无法加载到内存中,于是就产生了这篇文章。 本文目

DirectX11 Windows Windows SDK--28 计算着色器:波浪(水波)

前言 有关计算着色器的基础其实并不是很多。接下来继续讲解如何使用计算着色器实现水波效果,即龙书中所实现的水波。但是光看代码可是完全看不出来是在做什么的。个人根据书中所给的参考书籍找到了对应的实现原理,但是里面涉及到比较多的物理公式。因此,要看懂这一章需要有高数功底(求

粒子系统与雨的效果 (DirectX11 with Windows SDK)

前言:最近在学粒子系统,看这之前的<<3D图形编程基础 基于DirectX 11 >>是基于DirectSDK的,而DXSDK微软已经很久没有更新过了并且我学的DX11是用WINDOWSDK来实现. 顺手安利一波:我最近在学DX11 with WindowSDK 教程 博客地址: https://www.cnblogs.com/X-Jun/p/9028764.html 所以下

DirectX11笔记(九)--Direct3D渲染5--CONSTANT BUFFERS

原文:DirectX11笔记(九)--Direct3D渲染5--CONSTANT BUFFERS   在之前例子的 shader 里有这样一段代码 cbuffer cbPerObject{ float4x4 gWorldViewProj;};   这段代码定义了一个 cbuffer 类型的变量 cbPerObject. Constant buffer 时间上就是一个存储能被 shader 访问的

Directx11教程(49) stencil的应用-镜面反射

原文:Directx11教程(49) stencil的应用-镜面反射     本教程中,我们利用stencil来实现一个镜面反射效果。 1、首先我们要在D3DClass中增加几个成员变量及函数。 ID3D11DepthStencilState* m_depthStencilStateMirror; ID3D11DepthStencilState* m_depthStencilStateReflec

Directx11教程(55) 建立球形和锥形物体

原文:Directx11教程(55) 建立球形和锥形物体本教程中,我们新建2个model class,SphereModelClass以及CylinderModelClass,分别用来表示球形和锥形物体。 程序执行后的界面如下: 线框模式界面如下: 从线框模式可以看出,球形是由三个因素决定:半径、经度线、纬度线。        在Spher

Directx11教程(54) 简单的基于GS的billboard实现

原文:Directx11教程(54) 简单的基于GS的billboard实现    本章我们用一个billboard的实现来学习D3D11中的GS。     在VS shader中,我们输入的是顶点位置及顶点属性,输出的也是顶点位置及顶点属性。在GS shader中,我们输入的是体元(primitive,可以是点,线,三角形等等,凡是D3D11中允许

Directx11教程(53) D3D11管线(8) GS的调度执行

原文:Directx11教程(53) D3D11管线(8) GS的调度执行       在前面的教程中,我们分析了VS-PS的shader管线组合执行过程,本章我们分析一下VS-GS-PS的管线执行过程,主要是GS阶段hardware何如调度。      参考资料:http://fgiesen.wordpress.com/2011/07/01/a-trip-through-the-g

Directx11教程(57) 环境映射

原文:Directx11教程(57) 环境映射      建好skydome后,如果我们想让其中的某个物体,比如那个球体来映射出周围环境的蓝天白云(不包括自己附近的物体),该怎么做呢?此时可以把这个球体当成一面镜子,把我们视点看这个物体上某个顶点p时的反射向量当作cube map查询向量v,得到纹理texel,然

Directx11教程(56) 建立一个skydome

原文:Directx11教程(56) 建立一个skydome      本章建立一个skydome(天空穹),主要学习如何使用cube mapping。      cube map就是把六张纹理当作一个cube的六个面,而cube的中心,则是坐标轴,而六个面则是垂直于坐标轴某个轴,如下图所示,在cube mapping中,我们不在使用二维纹理坐标

Directx11教程(60) tessellation学习(2)

原文:Directx11教程(60) tessellation学习(2)       本教程中,我们开始tessellation编程,共实现了2个程序,第一个tessellation程序,是对一个三角形进行细分操作,第二个程序是对一个四边形进行细分操作,两个程序coding差不多,我们先看第一个程序。        程序代码是在myTutori

Directx11教程(59) tessellation学习(1)

原文:Directx11教程(59) tessellation学习(1)      在D3D11管线中,新增加了3个stage, Hull shader, Tessellator, Domain shader,用来实现细分操作,就是在gpu中把低细节的表面细分成高细节的体元。在gpu中把低模通过tessellation转化为高模,在获得高细节模型的同时,可以有效降低把顶

Directx11教程(58) 鼠标控制摄像机

原文:Directx11教程(58) 鼠标控制摄像机       本篇教程我们实现鼠标旋转摄像机的操作。主要就是按下鼠标左键的时候,根据鼠标的移动对摄像机进行pitch, raw的组合旋转。具体修改代码是在D3CClass类中,增加对鼠标事件的处理: case WM_LBUTTONDOWN:     if( wparam & MK_L

Directx11教程(63) tessellation学习(5)

原文:Directx11教程(63) tessellation学习(5)       TS中生成细分后顶点的u,v,{w}坐标,我们根据控制点和u,w,{w}坐标生成新的顶点位置,在前面四边形的细分中,我们用了双线性差值的方法,得到新的顶点位置,这些新顶点位置都在一个平面上。在本教程中,我们使用参数方程,可以生成多边形,

Directx11教程(62) tessellation学习(4)

原文:Directx11教程(62) tessellation学习(4)      现在看看四边形在不同tess factor时,四边形细分的细节,下图是tess factor1-8时候的细分。tess factor是偶数时候,细分的三角形是对称的,奇数时候,只有一条对角线,细分的三角形是不对称的。相比三角形的细分,四边形的相对来说还算简

Directx11教程(61) tessellation学习(3)

原文:Directx11教程(61) tessellation学习(3)      现在我们看看在不同tess factor的情况下,三角形是如何细分的?(这儿三条边和内部tess factor值是一样的,而且partitioning("integer")) 下面8张图是三角形在tess factor 1到8的情况下的细分细节:        因为TS阶段是硬件

Directx11教程(64) tessellation学习(6)-PN Triangles

原文:Directx11教程(64) tessellation学习(6)-PN Triangles      前面我们用tessellation细分三角形或者四边形,产生的细分点都是在三角形或四边形平面内。本教程我们学习一下PN triangles(point normal triangles)的方法,把一个三角形细分为一个曲面。PN triangles的详细介绍请

Directx11学习笔记【二】 将HelloWin封装成类

原文:Directx11学习笔记【二】 将HelloWin封装成类我们把上一个教程的代码封装到一个类中来方便以后的使用。 首先新建一个空工程叫做MyHelloWin,添加一个main.cpp文件,然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面   MyWindow.h文件 1 /***************************

Directx11学习笔记【一】 最简单的windows程序HelloWin

原文:Directx11学习笔记【一】 最简单的windows程序HelloWin声明:本系列教程代码有部分来自dx11龙书及dx11游戏编程入门两本书,后面不再说明     首先,在vs2013中创建一个空的解决方案Dx11Demo,以后的工程都会放在这个解决方案下面。然后创建一个win32项目,勾选空项目,确定 在源文件中

DirectX11学习笔记(不定期更新)

目录   1、DX与HLSL的矩阵 2、创建常量缓冲区的尺寸需要按照16字节对齐 1、DX与HLSL的矩阵 DX的矩阵(DirectX::XMMATRIX)按照行主元优先存储,而HLSL的矩阵默认按照列主元优先存储。解决这个问题的方法有两种 1)将DirectX的矩阵转置 DirectX::XMMATRIX m_matrix; ... DirectX