![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DirectX 11
文章平均质量分 89
孤独de守候
这个作者很懒,什么都没留下…
展开
-
八叉树
在写Ambient Occlusion时需要进行射线与物体的各个三角形的碰撞检测但是逐个三角形进行判断需要进行大量的无意义计算可以通过一个八叉树管理物体的包围盒空间通过八叉树对物体的包围盒进行空间管理这样判断射线是否与物体相交时可以省去大量的计算当射线与某一个空间有相交的话,则进一步判断子空间与射线的相交性算法描述:原创 2015-03-27 22:02:32 · 1362 阅读 · 0 评论 -
DirectX 11 Particle System With StreamOut
编写DirectX 11 应用程序时,我们通常是将数据发送到GPU,然后在GPU中对数据进行计算,处理,渲染出图像但当我们需要从GPU中获得数据该怎么办,SteamOut,顾名思义,可以将GPU中的数据流输出到CPU中在设计粒子系统时,我们需要做的三件事情是:一:初始化粒子二:更新粒子三:渲染粒子通常而言,一、二都是在CPU中完成,三由GPU完成但是由于我们有S原创 2015-03-10 21:22:16 · 1776 阅读 · 1 评论 -
Ambient Occlusion
在以往的光照模型中,我们没有考虑间接光 以往的环境光照模型为:A=La∗maA= L_a * m_a LaL_a表示物体接受到的间接光的总量 mam_a表示物体的材质,指定了射入环境光的反射和吸收的数量 并且认为光线从各个方向均匀的入射到物体表面 但这种计算模型完全不真实环境光遮蔽的思想是:物体表面某点p\mathit{p}的间接光数目是与以p\mathit{p}为球心的半球对入射光线的遮原创 2015-03-28 22:02:27 · 1323 阅读 · 0 评论 -
GeometricToolsEngine分析之HLSLDefiner
该类是对于D3D11_SHADER_MACRO的封装。typedef struct _D3D_SHADER_MACRO { LPCSTR Name; LPCSTR Definition;} D3D_SHADER_MACRO, *LPD3D_SHADER_MACRO;shader macro是用于描述shader中的宏用法如下:D3D11_SHADER_MACR原创 2015-03-23 15:25:23 · 1147 阅读 · 0 评论 -
Input Layout
假设这样一种情况:vertex shader 的输入结构:struct VertexIn{ float3 PosW : POSITION; float2 Tex : TEXCOORD; float3 Normal : NORMAL;};而程序中传入的数据的组成为:namespace Vertex{原创 2015-03-18 15:32:59 · 1341 阅读 · 0 评论 -
那些年的狗血bug-----shadow
看了Directx 11龙书中讲阴影的一章后,自己迫不及待的开始动手写~~ 于是噼里啪啦一阵之后,代码终于敲完了,于是开始了漫长的调试过程小问题不断不过也很好解决,很快Basic模式和Normal Map模式都能很好的运行~然而,Displacement Map模式下的阴影并非如此~~ 出现了如下的画面: 从图中可以发现,柱子的阴影不见了(好吧,从右下角的调试纹理中也能看出来~~ 于是乎,阴原创 2015-04-14 01:58:43 · 430 阅读 · 1 评论 -
DirectX 11 填充二维纹理
最近写程序刚好需要将数据写到二维纹理中,然后显示出来看数据是否正确。以这个笔记小小的记载下 srand( 0 ); DirectX::XMFLOAT2 data[128 * 128]; for( int i = 0; i < 128 * 128; i++ ) { data[i].x = rand() / ( float )RAND_MAX;原创 2015-05-27 21:36:53 · 1553 阅读 · 0 评论