08 2011 档案
记录下Directx11中几个易错点_C++和HLSL的变量绑定
摘要:最近遇到几个Directx11的bug,有些最后弄懂了,有些没有,记录下避免下次再犯错。 一个bug是在Directx11推荐用的数学库xnamath,里面的XMCOLOR居然无法和HLSL里面的float4绑定,如果你要用颜色的变量和HLSL的float4绑定,必须得用XMFLOAT4,或者Directx10的数学库里面的D3DXCOLOR都可以。(D3DXVECTOR4没测试过,可能也可以)。 一个bug很弱智,如果不用Effect框架,那么在Vertex shader里面VSSetConstantBuffers绑定了一个constant buffer等,在Pixel shader如果用. 阅读全文
posted @ 2011-08-18 19:34 Bester 阅读(369) 评论(0) 推荐(0)
主函数 main WinMain _tmain _tWinMain 的区别
摘要:main是C/C++的标准入口函数名WinMain是windows API窗体程序的入口函数。(int WINAPI WinMain()) 中 WINAPI是__stdcall宏,在windef.h中定义的。_tmain _tWinMain 是Unicode版本函数别名,对应与wmain和wWinMain。*****************************************************************************************中有如下几行:#ifdef _UNICODE#define _tmain wmain#define _tWinMa 阅读全文
posted @ 2011-08-18 10:48 Bester 阅读(196) 评论(0) 推荐(0)
Vs中高亮HLSL关键字
摘要:很多刚开始写HLSL,或者cg,glsl等shader语言的朋友一定会有个小困惑,编辑器不支持这些shader语言的关键字,在记事本中跟文本一样全是一个颜色的写,很容易犯错。下面以HLSL为例(其他类似)说下,如何使得vs能够识别并高亮这些shader的关键字。 主要有三个办法。 一个是利用Nvidia的CG: CG又分为两个方法: (一)是手工修改注册表: 1.到http://developer.nvidia.com/object/cg_toolkit.html#downloads下载一个Cg(不大,20M而已)。 2.装上Cg后找到NVIDIACorporation\Cg\msdev_s. 阅读全文
posted @ 2011-08-17 16:24 Bester 阅读(1287) 评论(0) 推荐(0)
Directx11与PhysX的结合
摘要:最近因为一个比赛项目用了段时间的PhysX,来总结下如何在Directx11中使用PhysX吧。 首先是PhysX的部署。这个在PhysXSDK的第一页的Installation也有讲了。 1:在PhysX的SDK里面找到PhysXCore.dll,PhysXCooking.dll,PhysXDevice.dllandthecudartXX_XX_X.dll(e.g.cudart32_30_9.dllorcudart_64_30.9.dll),PhysXLoader.dllPhysXLoader.lib几个库,放到你自己工程的workingdirectory下。 2:在Linker->I 阅读全文
posted @ 2011-08-13 16:09 Bester 阅读(294) 评论(0) 推荐(0)
Directx11 HelloWorld之HLSL的Effect框架的使用
摘要:最近尝试用了下Directx下的Effect框架,作为一初学者初学者,说下为什么我们要使用Effect框架及其好处吧。 首先Effect最大好处的就是简单,使得编写Shader绘制的程序工作量大大下降。如果不用Effect框架,那么一个个VertexShader,GeometryShader和PixelShader都要一遍遍的先用D3DX11CompileFromFile得到二进制代码,再分别调CreateVertexShader,CreateGeometryShader和CreatePixelShader等创建ID3D11VertexShader,ID3D11GeometryShader,I 阅读全文
posted @ 2011-08-13 11:10 Bester 阅读(323) 评论(0) 推荐(0)