随笔分类 -  DirectX

摘要:返回两个4-D向量组成三角形的重心坐标。定义:D3DXVECTOR4*WINAPID3DXVec4BaryCentric(D3DXVECTOR4*pOut,CONST D3DXVECTOR4*pV1,CONST D3DXVECTOR4*pV2,CONST D3DXVECTOR4*pV3,FLOATf,FLOATg);参数:pOut[out, retval]指向D3DXVECTOR4结构的操作结果。pV1[in]指向D3DXVECTOR4结构的向量。pV2[in]指向D3DXVECTOR4结构的向量。pV3[in]指向D3DXVECTOR4结构的向量。f[in]权重系数。看说明。g[in]权重系 阅读全文

posted @ 2011-09-30 12:33 bendanchenzhicheng 阅读(204) 评论(0) 推荐(0) |

摘要:4-D向量的叉乘。定义:D3DXVECTOR4*WINAPID3DXVec4Cross(D3DXVECTOR4*pOut,CONST D3DXVECTOR4*pV1,CONST D3DXVECTOR4*pV2,CONST D3DXVECTOR4*pV3);参数:pOut[in, out]指向D3DXVECTOR4结构的操作结果。pV1[in]指向D3DXVECTOR4结构的源向量。pV2[in]指向D3DXVECTOR4结构的源向量。pV3[in]指向D3DXVECTOR4结构的源向量。返回值:指向D3DXVECTOR4结构的叉乘结果。说明:函数返回值跟pOut 参数返回值是一样的。这样可以让 阅读全文

posted @ 2011-09-30 12:32 bendanchenzhicheng 阅读(249) 评论(0) 推荐(0) |

摘要:两个4-D向量的点乘。定义:FLOATD3DXVec4Dot(CONST D3DXVECTOR4*pV1,CONST D3DXVECTOR4*pV2);参数:pV1[in]指向D3DXVECTOR4结构的源向量。pV2[in]指向D3DXVECTOR4结构的源向量。返回值:点乘的结果。函数信息:Headerd3dx9math.hImport libraryd3dx9.libMinimum operating systemsWindows98函数相关:D3DXVec4Cross 阅读全文

posted @ 2011-09-23 10:09 bendanchenzhicheng 阅读(241) 评论(0) 推荐(0) |

摘要:灯光一、环境光(Ambient Light) 最简单的一种光,只有一个颜色值,它为世界提供一个基本的照明亮度。没有方向、没有衰减,也不会产生阴影。二、点光(Point Light) 从一个点向周围均匀发射的光,有最大的照明范围,亮度随距离衰减,最明显的一个例子就是我们家里用的灯泡。 三、方向光(Directional Light) 方向光是一组没有衰减的平行光,类似太阳光的效果。 四、聚光灯(Spot Light) 最复杂的一种灯,有光源点位置、有方向、有范围、有发光的内径和外径,光照强度还会随距离衰减。类似的例子是电筒。 在D3D中用结构D3DLIGHT8来设置灯光的属性,... 阅读全文

posted @ 2011-09-15 16:27 bendanchenzhicheng 阅读(254) 评论(0) 推荐(0) |

摘要:一台摄象机有以上画面中的一些属性: 1、 观察点:摄象机摆放的位置 2、 目标点:摄象机对着一个地方 3、 观察范围:圆锥形状投影范围的夹角大小,单位是弧度。 4、 可见的最近距离和最远距离:这两个距离中间的观察范围就是可见区域。 5、 纵横比:显示时候的宽和高比例,一般为1。 明白了摄象机的原理后,我们来看D3D中是怎么设置它的,有两个矩阵是用来设置摄象机的,一个是观察矩阵,一个是射影矩阵,程序说明一切。 首先是设置摄象机的观察矩阵: m_vEyePt = D3DXVECTOR3( 0.0f, 3.0f,-5.0f ); // 视点坐标 m_vLookatPt = D3DX... 阅读全文

posted @ 2011-09-13 21:51 bendanchenzhicheng 阅读(1370) 评论(0) 推荐(0) |

摘要:索引顶点: // 顶点原始数据 CUSTOMVERTEX g_Vertices[] = { { -1.0f,-1.0f, 0.0f, 0xffff0000, }, // A红色 { 1.0f,-1.0f, 0.0f, 0xff0000ff, }, // B兰色 { 1.0f, 0.0f, 0.0f, 0xff00ff00, }, // C绿色 { 0.0f, 1.0f, 0.0f, 0xffff00ff, }, // D洋红 { -1.0f, 0.0f, 0.0f, 0xffffffff, }, // E白色 }; 这五个点具体到图上是这样的:... 阅读全文

posted @ 2011-09-10 15:16 bendanchenzhicheng 阅读(774) 评论(0) 推荐(0) |

摘要:顶点渲染: 渲染的基本步骤是这样的: (1)定义顶点格式和FVF (2)创建顶点缓冲区并填充之 (3)用D3D进行渲染 我们来渲染一个简单的三角形,但它的3个顶点颜色不同。一、首先来看定义顶点格式和FVF 想要渲染顶点,首先你得有个缓冲区,在D3D中这样定义: LPDIRECT3DVERTEXBUFFER8 g_pVB= NULL; //顶点缓冲区 然后还得为顶点缓冲区里的数据定义格式,这样: //自定义顶点结构 struct CUSTOMVERTEX { FLOAT x, y, z;//顶点坐标 DWORD color;//顶点颜色 }; 最后要让渲染器知道我们... 阅读全文

posted @ 2011-09-10 10:40 bendanchenzhicheng 阅读(386) 评论(0) 推荐(0) |

摘要:这个是D3D入门学习,效果:#include <d3d8.h>LPDIRECT3D8 g_pD3D = NULL; // 用来创建D3D设备LPDIRECT3DDEVICE8 g_pd3dDevice = NULL; // D3D设备// 初始化D3DHRESULT InitD3D( HWND hWnd ){// 创建D3D对象if( NULL == ( g_pD3D = Direct3DCreate8( D3D_SDK_VERSION ) ) )return E_FAIL;// 获取当前的显示模式D3DDISPLAYMODE d3ddm;if( FAILED( g_pD3D-&g 阅读全文

posted @ 2011-09-10 10:07 bendanchenzhicheng 阅读(1437) 评论(3) 推荐(1) |

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3