渲染管线就是在给定一个3D场景和摄像机时,根据摄像机的视角生成一幅2D图像的一系列步骤,类似于流水线作业。 一、IA-从内存读取几何数据(顶点和索引) ID3D10InputLayout 输入布局 1. 创建一个D3D1_INPUT_ELEMENT_DESC结构体 2. 调用CreateInputLayout方法 ID3D10Buffer 缓冲区 1. 创建一个D3D10_BUFFER_DESC结构体,描述要创建的缓冲区 2. 创建一个D3D10_SUBRESOURCE_DATA,指定缓冲区的初始化数据 3. 调用CreateBuffer方法 创建完顶点缓冲区(通过指定bindflag创建不同类型的缓冲区),需要绑定到设备的输入槽上(input slot),这样的话顶点数据就会进入pipeline。 ID3D10Device::IASetVertexBuffers(…) 把顶点缓冲区指定好输入槽只是绘制前的准备工作,需要调用ID3DDevice::Draw方法来进行绘制 图元拓补(Primitive Topology),顶点缓冲区只是一个顶点列表,设备不知道如何解释这些顶点,这就需要设置图元拓补来告诉Device如何解释这些顶点来构成图元,IASetPrimitiveTopology() typedef enum D3D10_PRIMITIVE_TOPOLOGY

Read More

Ansi, 只存储ASC字符,每个字符占1个字节。比如abc存成Ansi文件,大小为3字节。 二进制表示: 61 62 63 Unicode, 每个unicode字符占2个字节,可以表示各种字符。在unicode的文件的头两个字节存储FF FE,用来表示这是一个Unicode文件。比如abc存成Unicode文件,大小为2*3+2 = 8字节。 文件的二进制表示: FF FE 61 00 62 00 63 00, a编码为61 00, 占连个字节,编码从高字节开始。 Unicode big

Read More

最近系统换成了windows 8, 装上gvim7.4, 结果启动、关闭巨慢无比。 关闭的时候会有个E138错误, 写H:\_viminfo文件错误,H盘是我的一个远程共享盘,速度比较慢,估计是这个原因导致vim速度慢,在cmd中查看我的环境变量发现是HOME指向了H盘,修改成本地盘后,问题解决!

Read More