07 2011 档案
摘要:前面我们学习了Directx 11如何在屏幕上绘制一个图形(三角形),其中涉及到着色器,我们只是使用了其中的方法,而没有讲解着色器是如何工作的,到底什么是着色器等等,今天将来了解一下着色器到底是什么!!!由于在Directx 11中包含了多种着色器,而有些着色器在一些高级的应用中才会用到,因此作为一个初学者,先了解顶点着色器和像素着色器就OK了,其它的在碰到的时候再进行深入了解。
阅读全文
摘要:在前面我们讲过了如何初始化D3D11Device设备初始化等等,这里所讲的绘制图形将在上一篇文章的项目里进行扩展,在屏幕中绘制图形。在3D的呈现中最小的单位为三角形,无论我们看到的是多么大或多么小的,都是有一个或很多个三角形通过各种方向,角度构成的,当然这会涉及到很多数学中的几何学问题,最悲剧的就是我在大学里却没学好代数以及几何学,有学也忘记了。不过Directx SDK中以及为我们解决了很多几何上的问题,通过他们的方法就可以得到结果,说了这么多目的就是我告诉大家,要掌握高阶运用,必然要学会基础知识,所以我们这里就来学习一下如何在屏幕上绘制一个三角形,并涂上颜色。
阅读全文
摘要:为了学习需要,最近查看了一下汇编,因为是个初学者很多东东基本不动,所以记录一下基本指令和寄存器,那样就会对汇编慢慢的适应,看得懂那些华丽花哨的反汇编代码了。学习这个东东基本是为了破解和逆向工程使用,因为我最近需要对一个exe进行调试,所以就顺带学习汇编了。
阅读全文
摘要:最近正在学习Directx 11的开发,上一次记录了Win32应用程序的基础,主要是注册窗体类,加载图标和鼠标,处理事件循环等,链接为:C++Directx11开发笔记一:Win32应用程序窗体创建。今天我们要介绍的是Direct3D基础,其中包括Direct3D 11的设备初始化等等来初步认识Direct3D这个神秘的面纱。由于要用到Directx11所以需要在项目中引入一些库,为了便于后面操作,这里列举了所需要的常见的库名称:d3d11.lib(d3d11d.lib调试下),d3dcompiler.lib(HLSL编译器,HLSL开发一:语言基础),dxerr.lib(错误库),dxguid.lib(这个库定义了Direct3D中所需要的GUID,即COM需要引用的,由于Directx是一个COM组建哦,所以如果不引入会出现问题的哦)。以上这些就是常见的Direct3D在C++编程中需要引入的库,可以在解决方案中的链接输入中引入,这个是C++基础这里就不多说了哦。
阅读全文
摘要:在学习Directx11编程中,你会发现图形渲染等等很大一部分需要一种叫做HLSL(High Level Shading Language),中文应该叫:高级着色器语言,由微软拥有及开发的一种语言,HLSL 独立的工作在 Windows 平台上,只能供Direct3D使用。 HLSL是微软抗衡GLSL的产品,同时不能与OpenGL标准兼容,废话不多说了,我们来看看到底啥子是HLSL,希望我们可以慢慢熟悉他。
阅读全文
摘要:其实这是个相当简单而且常见的东东,如果没有特别的注意有时候是不那么容易的。好久没有写博客了,都不知道如何描述,总之最近下决心学习Directx开发,我下载安装的是June 2010版本的SDK,应该是最新版本吧。也就是涉及到Directx 11开发,所以教程基本没有地方找,何况我是个初学者,对于那些Directx 9.x和10.x用到烂的大侠应该不是问题,所以我就想记录一下我的学习过程。
阅读全文
摘要://斜45度的坐标转换成屏幕坐标 inline void MIToMD(int Dx,int Dy,int &Ix,int &Iy) { Ix=(TileWidth>>1)*(Dx-Dy);//转换为绝对坐标x Iy=(TileHeight>>1)*(Dx+Dy);//转换为绝对坐标y 大菱形 } //屏幕坐标转换成斜45度的坐标 inline void MDToMI(int Ix,int Iy,int &Dx,int &Dy) { Dx=int(0.5*((Iy<<1)+Ix)/(TileWidth>>1));
阅读全文