随笔分类 -  D3D

D3D编程
Directx11代码下载
摘要:很多年前的代码,看还有朋友需要,上传到百度网盘了https://pan.baidu.com/s/1pnGFt84htvdXeK86pvyR8Qhttps://pan.baidu.com/s/1zTqSTFMc2M7dPNfIozXTjg 阅读全文

posted @ 2019-01-04 20:20 迈克老狼2012 阅读(847) 评论(1) 推荐(1) 编辑

Directx11教程(14) D3D11管线(2)
摘要:下面我们来了解一些GPU memory的知识,主要参考资料:http://fgiesen.wordpress.com/0211/07/02/a-trip-through-the-graphics-pipeline-2011-part-2 【注:请参考另一篇日志:2012-11-13:http://www.cnblogs.com/mikewolf2002/archive/2012/11/... 阅读全文

posted @ 2016-01-31 22:01 迈克老狼2012 阅读(1610) 评论(0) 推荐(0) 编辑

OpenGL和D3D11中的深度模版测试
摘要:在OpenGL和D3D11的管线中,像素shader之后的操作就是深度模版测试,深度模版测试是以sample为单位进行的,就是一个像素上可以有多个采样点,每个采样点都有深度信息。深度模版测试对每个采样点都要进行一次,如果是msaa,最后要对每次采样的像素结果进行resolve,得到最终的结果。在下面的链接中有msaa的介绍。 http://www.cnblogs.com/mikewolf... 阅读全文

posted @ 2016-01-21 22:00 迈克老狼2012 阅读(2359) 评论(0) 推荐(0) 编辑

cull/clip distance example
摘要:http://www.gamedev.net/topic/578866-d3d10-how-to-increase-maxcount-of-sv_clipdistance/ The D3D#_CLIP_OR_CULL_DISTANCE_* values are #defines in the d3d11.h header file. For distance count the value... 阅读全文

posted @ 2014-09-03 14:10 迈克老狼2012 阅读(1517) 评论(0) 推荐(0) 编辑

D3D10/11中的遮挡查询的使用
摘要:在D3D10/11中,有D3D10_QUERY/D3D11_QUERY接口,通过QUERY接口,我们可以查询GPU的一些状态,比如GPU的时间戳信息(Timestamp)[这个常用来做performance分析],或者遮挡查询信息等等。我们通过directx sdk中的例子来看看在D3D10/11中,如何使用遮挡查询。源文件目录:SDK root\Samples\C++\Direct3... 阅读全文

posted @ 2012-12-27 21:10 迈克老狼2012 阅读(2875) 评论(0) 推荐(1) 编辑

Directx11教程(67) 显示模型文件
摘要:在前面的教程中,我们都是通过在ModelClass中直接产生顶点和索引数据,简单的三角形,立方体等等还好说,毕竟比较简单,如何显示复杂的三维物体呢?特别是利用已有的3D文件,比如obj, 3ds, md2, x等格式的文件,这时,就要利用这些3D格式的解析器,本教程中,我们利用Open Asset Import Library库,来显示各种格式的3D文件(动画文件,暂时不考虑,只考虑静... 阅读全文

posted @ 2012-12-24 20:50 迈克老狼2012 阅读(6447) 评论(32) 推荐(2) 编辑

Directx11教程(66) D3D11屏幕文本输出(1)
摘要:在D3D10中,通过ID3DX10Font接口对象,我们可以方便的在屏幕上输出文字信息,一个DrawText函数就能解决所有问题,但在D3D11中个,这个变得超级麻烦,因为微软移除了Font接口,要在屏幕上输出文本,用户需要做很多事情。 通常我们可以用以下的方法来输出文本信息: (1)用纹理贴图的方法,把所有的字体存储在一张纹理上,再做一个字体查询表,对应纹理的相应位置,可以用2... 阅读全文

posted @ 2012-12-23 18:38 迈克老狼2012 阅读(6525) 评论(1) 推荐(1) 编辑

视图矩阵的推导
摘要:把物体从世界坐标系转化到视点坐标系的矩阵称为视图矩阵。 下面我们先看下OpenGL中视图矩阵的推导过程: 假设视点或camera的局部坐标系为UVN,UVN分别指向右方、上方和后方从而构成右手坐标系,视点则处于局部坐标系的原点位置。 就如OpenGL中的函数gluLookAt(eyex, eyey, eyez, lookatx, lookaty,... 阅读全文

posted @ 2012-11-25 15:43 迈克老狼2012 阅读(6038) 评论(1) 推荐(0) 编辑

透视校正插值
摘要:在3D渲染中,输入数据是一些primitive信息,包括顶点位置、颜色、纹理坐标等等。在光栅化阶段,primitive(一般为三角形)被转化成一系列的fragment(或者称为像素),这些fragment接下来要做ps操作,此时每个fragment都有位置、颜色、纹理坐标这些属性信息,这些属性信息... 阅读全文

posted @ 2012-11-25 13:21 迈克老狼2012 阅读(5843) 评论(5) 推荐(4) 编辑

D3D的投影矩阵推导[转贴]
摘要:原帖地址:http://blog.csdn.net/popy007/article/details/4091967 上一篇文章中我们讨论了透视投影变换的原理,分析了OpenGL所使用的透视投影矩阵的生成方法。正如我们所说,不同的图形API因为左右手坐标系、行向量列向量矩阵以及变换范围等等的不同导致了矩阵的差异,可以有几十个不同的透视投影矩阵,但它们的原理大同小异。这次我们准备讨论... 阅读全文

posted @ 2012-11-25 10:47 迈克老狼2012 阅读(3593) 评论(0) 推荐(0) 编辑

D3D11中的硬件反锯齿 SSAA/MSAA/EQAA/CSAA(3)
摘要:五 、EQAA/CSAA EQAA(enhanced quality AA)和CSAA(coverage sample AA)其实是同样的采样技术,EQAA是AMD的实现,CSAA是NV的实现,下面我以EQAA为例看看这两种AA的原理: 在MSAA中,每个采样都有一个sample color缓冲相对应,这样在AA数目比较大的时候,比如16XMSAA,对memory的需... 阅读全文

posted @ 2012-11-24 10:06 迈克老狼2012 阅读(4180) 评论(0) 推荐(0) 编辑

D3D11中的硬件反锯齿 SSAA/MSAA/EQAA/CSAA(2)
摘要:三、SSAA(super-sampling anti-aliasing) SSAA最初的思路是先上采样渲染图像,然后再下采样输出图像,比如我们要渲染输出一个256*256的图像,可以设置color buffer为512*512(4倍的SSAA),这个时候我们的ps需要执行512*512个thread,同时深度模版测试也要进行512*512次,最后把4倍的color buffer re... 阅读全文

posted @ 2012-11-22 20:24 迈克老狼2012 阅读(3706) 评论(3) 推荐(0) 编辑

D3D11中的硬件反锯齿 SSAA/MSAA/EQAA/CSAA(1)
摘要:在篇日志中,我们学习一下在D3D11中,如何启用aa(反锯齿)功能,提高渲染质量,并了解一下硬件反锯齿的原理。首先我们先回顾一下采样和滤波的概念,然后了解在D3D11中,如何启用aa(anti-aliasing)功能,最后是SSAA/MSAA/EQAA/CSAA几种硬件aa的原理。 一、采样和滤波 采样(sampling)和filter(滤波)是信号处理中的概念。所谓sa... 阅读全文

posted @ 2012-11-22 20:08 迈克老狼2012 阅读(3294) 评论(1) 推荐(0) 编辑

Directx11教程(65) 渲染到纹理
摘要:通常情况下,我们的render target都是后缓冲,但也可以把render target设置为一个2d 纹理,然后再通过贴图的方式,把这个2d纹理显示出来,这样,就可以在一个屏幕上显示多个场景了。 本教程中,我们在myTutorialD3D11_59的基础上,来实现渲染到纹理的效果。 首先,创建一个rendertextureclass,这个类中,我们创建一个2d纹理... 阅读全文

posted @ 2012-09-09 09:10 迈克老狼2012 阅读(4417) 评论(1) 推荐(0) 编辑

Directx11教程(64) tessellation学习(6)-PN Triangles
摘要:前面我们用tessellation细分三角形或者四边形,产生的细分点都是在三角形或四边形平面内。本教程我们学习一下PN triangles(point normal triangles)的方法,把一个三角形细分为一个曲面。PN triangles的详细介绍请参考:2001 paper by Vlachos et al ,下面我们简单介绍一下PN triangles: 大家都... 阅读全文

posted @ 2012-08-21 07:07 迈克老狼2012 阅读(3142) 评论(7) 推荐(0) 编辑

Directx11教程(63) tessellation学习(5)
摘要:TS中生成细分后顶点的u,v,{w}坐标,我们根据控制点和u,w,{w}坐标生成新的顶点位置,在前面四边形的细分中,我们用了双线性差值的方法,得到新的顶点位置,这些新顶点位置都在一个平面上。在本教程中,我们使用参数方程,可以生成多边形,在tess factor增大的情况下,得到近似的球体。 DS中生成新顶点的代码为: //顶点在现在表面的位置 ... 阅读全文

posted @ 2012-08-14 07:19 迈克老狼2012 阅读(1629) 评论(0) 推荐(0) 编辑

Directx11教程(62) tessellation学习(4)
摘要:现在看看四边形在不同tess factor时,四边形细分的细节,下图是tess factor1-8时候的细分。tess factor是偶数时候,细分的三角形是对称的,奇数时候,只有一条对角线,细分的三角形是不对称的。相比三角形的细分,四边形的相对来说还算简单,但边的细分以及内部环绕四边形的概念和三角形是一样的,奇数时,中心是一个小的四边形,偶数时中心是一个点。 阅读全文

posted @ 2012-08-13 20:39 迈克老狼2012 阅读(1306) 评论(0) 推荐(0) 编辑

Directx11教程(61) tessellation学习(3)
摘要:现在我们看看在不同tess factor的情况下,三角形是如何细分的?(这儿三条边和内部tess factor值是一样的,而且partitioning("integer")) 下面8张图是三角形在tess factor 1到8的情况下的细分细节: 因为TS阶段是硬件自己做的,没有算法细节,所以我们只能从这些图中,来猜一猜不同tess factor情况下的规律... 阅读全文

posted @ 2012-08-13 07:23 迈克老狼2012 阅读(2078) 评论(0) 推荐(0) 编辑

Directx11教程(60) tessellation学习(2)
摘要:本教程中,我们开始tessellation编程,共实现了2个程序,第一个tessellation程序,是对一个三角形进行细分操作,第二个程序是对一个四边形进行细分操作,两个程序coding差不多,我们先看第一个程序。 程序代码是在myTutorialD3D11_53的基础上改出来的,首先就是修改ModelClass,用来画一个三角形。代码主要的改动是Render函数中... 阅读全文

posted @ 2012-08-11 07:39 迈克老狼2012 阅读(2734) 评论(1) 推荐(0) 编辑

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

posted @ 2012-08-10 19:42 迈克老狼2012 阅读(1829) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示