DirectX
瓦力冫
喜欢看点书,跑跑步,热爱游戏编程
展开
-
DirectX 9.0 C++ 教程 开发环境设定
1.开发工具我一般使用Visual C++ 6.0来编译和调试DirectX,比较轻量级。 也可以用VS2005 或 VS2010。推荐使用Visual C++ 6.0时安装Visual Assist X。这样Visual C++ 6.0下代码提示会好些。2.安装 DirectX 9.0玩游戏的话是安装个DirectX 9.0 软件。这里我们开发要安装DirectX 9.0 SDK。下原创 2012-10-01 11:36:21 · 9539 阅读 · 4 评论 -
矩阵中的数学旋转公式 转换到 C++中函数 替换DirectX 9.0中D3DXMatrixRotationAxis函数
还记得DirectX 9.0 C++ 教程 光照中这个旋转的水壶吗?当时我们用的是官方函数D3DXMatrixRotationY(D3DXMATRIX *pOut, FLOAT Angle)。刚刚我们已经学习了线性代数中的一些基础知识,Matrix 矩阵,单位矩阵,Transposition,矩阵与矩阵相乘,矩阵中的旋转(Rotation),我已经迫不及待想用自己写的旋转函数替换官方旋转函数了原创 2013-01-19 13:08:06 · 3322 阅读 · 1 评论 -
DirectX 9.0 C++ 教程 使用3ds max 创建的模型 xfile,mesh
效果图:一个旋转的带纹理的“兵”模型。对上面这张gif图片是如何制作感兴趣?看截取视频,然后制成gif 教程1.在开始编程之前,还是要了解下像3ds max 是如何导出我们要用的.x 后缀文件。下面这图是我在3ds max中按照 tutorial 中创建的,多了木板纹理,3Ds max中给物体加纹理可以参考3Ds max tutorial中的Materi原创 2012-11-18 21:26:37 · 4500 阅读 · 0 评论 -
DirectX 9.0 C++ 教程 Texture 纹理映射
效果图:Directx SDK上 Texture 略微修改,它是一个旋转的空心圆柱体,我觉得用正方形比较能更好理解纹理坐标。其实用游戏引擎时,是不会关心纹理是如何具体映射的。对上面这张gif图片是如何制作感兴趣?看截取视频,然后制成gif 教程1.纹理坐标DirectX中的纹理跟Opengl中的是类似的,可以参考这篇文章 Android 中使用OpenGL ES进行2D原创 2012-10-27 12:57:38 · 4898 阅读 · 0 评论 -
DirectX 9.0 C++ 教程 光照
效果图:一个有方向光(Directional lights)照着的茶壶。(根据DirectX SDK 光照例子改编)对上面这张gif图片是如何制作感兴趣?看截取视频,然后制成gif 教程1.光源Direct3D支持3种光源。1.点光源(Point lights),2. 方向光(Directional lights),3.聚光灯(Spot lights)/原创 2012-10-21 10:29:13 · 3965 阅读 · 1 评论 -
DirectX 9.0 C++ 教程 绘制三角形
注:开发环境设定参考 上篇文章 DirectX 9.0 C++ 教程 开发环境设定也可以参考下这篇Android Opengl ES下绘制三角形本例子效果图(来源 DirectX 9.0 SDK):1.定义一个自定义的顶点(Vertex)类型// A structure for our custom vertex typestruct CUSTOM原创 2012-10-14 10:00:55 · 6054 阅读 · 1 评论 -
DirectX 9.0 C++ 教程 第一个程序
开发环境设定参考 上篇文章 DirectX 9.0 C++ 教程 开发环境设定效果图:1. 初始化 Direct3D1.creating a Direct3D objectLPDIRECT3D9 g_pD3D = NULL;if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSI原创 2012-10-06 19:24:50 · 9564 阅读 · 2 评论 -
用一个Pixel Shader(像素着色器)来介绍HLSL
首先我们来看下这个项目的效果,一个照片被"黑白化"下面这张是原图。我们来看下是如何实现的,首先你要有点知识关于“DirectX Texture(纹理)”. 如果你还没有的话,可以看下这篇文章 “DirectX 9.0 C++ tutorial Texture ”.今天的主题是 HLSL and Pixel Shader(像素着色器), 这两个主题原创 2013-02-02 16:55:29 · 10523 阅读 · 0 评论 -
Illustrate a HLSL example by using Pixel Shade
First we look at the project result: A picture that looks “grey”.Below is the original Picture.So let’s see how to do it. First you had to know some knowledge about “DirectX Textur原创 2013-02-02 16:34:44 · 2496 阅读 · 0 评论 -
DirectX 9.0 C++ 教程 字体 迟到的helloworld
效果图:本文只设计到使用ID3DXFont接口来绘制文本,其他的方面参考DirectX 9.0 C++ 教程 第一个程序1.说明ID3DXFont接口内部使用GDI绘制文本,相应地在性能上会有一点的损失。但是它支持ANSI and Unicode 字符串。2.创建ID3DXFont接口对象其实可以用D3DXCreateFont原创 2012-11-09 15:56:05 · 3343 阅读 · 0 评论 -
DirectX 9.0 C++ 教程 关于Perspective projection,Matrices,摄像头,旋转
效果图:对上面这张gif图片是如何制作感兴趣?看截取视频,然后制成gif 教程1.坐标系 默认情况下,Direct3D使用的是左手坐标系。这意味着虚拟3D网格上的每个正坐标远离观察者的方向。例如,Z轴的正坐标是冲向屏幕里面的,Y轴的正坐标是向上的,而X轴的正坐标是向右的。这里提下OpenGL使用的是右手坐标系,Z轴的正坐标是冲向屏幕外面的。X轴和Y轴是一样的。原创 2012-10-14 15:55:57 · 4127 阅读 · 1 评论 -
.x file format 详细分析.x 文件格式
The picture below is a .X file opened by DirectX Mesh View. Today, we look at the X file's detail information. I strongly recommand readers search "X File Format Reference" topic in DirectX SDK docum原创 2013-04-03 11:45:36 · 2058 阅读 · 0 评论 -
Face Normals & Vertex Normals(面法线跟顶点法线的区别)
What is a face normal?A face normal is a vector that describesthe direction a polygon is facing(see figure 1)Figure 1: The face normal of a surfaceWhat is a vertex normal?原创 2013-03-03 15:47:14 · 10840 阅读 · 6 评论 -
欧拉角 EulerAngles 中的旋转 Directx D3DXMatrixRotationYawPitchRoll
写在前面:正当很高兴地完成了矩阵相关的旋转后,发现如果涉及到旋转;矩阵,欧拉角(EulerAngles) ,四元数(Quaternions)这三个概念哪本书上都会提。这次先讲下欧拉角。1.什么是欧拉角欧拉角是由三个角组成,这三个角分别是Yaw,Pitch,Roll。很难翻译这三个单词,Yaw 表示绕y轴旋转的角度,Pitch表示绕x轴旋转的角度,Roll表示绕z轴旋转的角度原创 2013-01-24 16:11:10 · 4577 阅读 · 2 评论