DirectX问一个世界矩阵问题
时间:2011-07-17
来源:互联网
             龙书中的D3DXCREATE程序中写着
ID3DXMesh* Objects[5] = {0, 0, 0, 0, 0};
D3DXMATRIX ObjWorldMatrices[5];
然后5个物体分别载入Object里。。。
然后之后定位每一个物体时却可以直接用ObjWorldMatrices一一对应,
那么是什么使得Objects和ObjWorldMatrices关联起来了??一下是一段原程序
D3DXCreateTeapot(
Device,
&Objects[0],
0);
D3DXCreateBox(
Device,
2.0f, // width
2.0f, // height
2.0f, // depth
&Objects[1],
0);
// cylinder is built aligned on z-axis
D3DXCreateCylinder(
Device,
1.0f, // radius at negative z end
1.0f, // radius at positive z end
3.0f, // length of cylinder
10, // slices
10, // stacks
&Objects[2],
0);
D3DXCreateTorus(
Device,
1.0f, // inner radius
3.0f, // outer radius
10, // sides
10, // rings
&Objects[3],
0);
D3DXCreateSphere(
Device,
1.0f, // radius
10, // slices
10, // stacks
&Objects[4],
0);
//
// Build world matrices - position the objects in world space.
// For example, ObjWorldMatrices[1] will position Objects[1] at
// (-5, 0, 5). Likewise, ObjWorldMatrices[2] will position
// Objects[2] at (5, 0, 5).
//
D3DXMatrixTranslation(&ObjWorldMatrices[0], 0.0f, 0.0f, 0.0f);//为什么它能知道对应的是茶壶
D3DXMatrixTranslation(&ObjWorldMatrices[1], -5.0f, 0.0f, 5.0f);//为什么它能知道对应的是箱子
D3DXMatrixTranslation(&ObjWorldMatrices[2], 5.0f, 0.0f, 5.0f);//为什么它能知道对应的是圆柱
D3DXMatrixTranslation(&ObjWorldMatrices[3], -5.0f, 0.0f, -5.0f);//为什么它能知道对应的是圆环
D3DXMatrixTranslation(&ObjWorldMatrices[4], 5.0f, 0.0f, -5.0f);//为什么它能知道对应的是球
            ID3DXMesh* Objects[5] = {0, 0, 0, 0, 0};
D3DXMATRIX ObjWorldMatrices[5];
然后5个物体分别载入Object里。。。
然后之后定位每一个物体时却可以直接用ObjWorldMatrices一一对应,
那么是什么使得Objects和ObjWorldMatrices关联起来了??一下是一段原程序
D3DXCreateTeapot(
Device,
&Objects[0],
0);
D3DXCreateBox(
Device,
2.0f, // width
2.0f, // height
2.0f, // depth
&Objects[1],
0);
// cylinder is built aligned on z-axis
D3DXCreateCylinder(
Device,
1.0f, // radius at negative z end
1.0f, // radius at positive z end
3.0f, // length of cylinder
10, // slices
10, // stacks
&Objects[2],
0);
D3DXCreateTorus(
Device,
1.0f, // inner radius
3.0f, // outer radius
10, // sides
10, // rings
&Objects[3],
0);
D3DXCreateSphere(
Device,
1.0f, // radius
10, // slices
10, // stacks
&Objects[4],
0);
//
// Build world matrices - position the objects in world space.
// For example, ObjWorldMatrices[1] will position Objects[1] at
// (-5, 0, 5). Likewise, ObjWorldMatrices[2] will position
// Objects[2] at (5, 0, 5).
//
D3DXMatrixTranslation(&ObjWorldMatrices[0], 0.0f, 0.0f, 0.0f);//为什么它能知道对应的是茶壶
D3DXMatrixTranslation(&ObjWorldMatrices[1], -5.0f, 0.0f, 5.0f);//为什么它能知道对应的是箱子
D3DXMatrixTranslation(&ObjWorldMatrices[2], 5.0f, 0.0f, 5.0f);//为什么它能知道对应的是圆柱
D3DXMatrixTranslation(&ObjWorldMatrices[3], -5.0f, 0.0f, -5.0f);//为什么它能知道对应的是圆环
D3DXMatrixTranslation(&ObjWorldMatrices[4], 5.0f, 0.0f, -5.0f);//为什么它能知道对应的是球
作者: kgstation 发布时间: 2011-07-17
             D3DXMatrixTranslation(&ObjWorldMatrices[0], 0.0f, 0.0f, 0.0f);//为什么它能知道对应的是茶壶
====
你理解错了。是这句设置好变换矩阵,然后接着绘制茶壶。
这个关系是需要你指定的。
            
            ====
你理解错了。是这句设置好变换矩阵,然后接着绘制茶壶。
这个关系是需要你指定的。
作者: dizuo 发布时间: 2011-07-17
  引用 1 楼 dizuo 的回复:
  
D3DXMatrixTranslation(&ObjWorldMatrices[0], 0.0f, 0.0f, 0.0f);//为什么它能知道对应的是茶壶
====
你理解错了。是这句设置好变换矩阵,然后接着绘制茶壶。
这个关系是需要你指定的。
D3DXMatrixTranslation(&ObjWorldMatrices[0], 0.0f, 0.0f, 0.0f);//为什么它能知道对应的是茶壶
====
你理解错了。是这句设置好变换矩阵,然后接着绘制茶壶。
这个关系是需要你指定的。
那这个关系在哪里啊。。
显示部分只有
for(int i = 0; i < 5; i++)
{
// Set the world matrix that positions the object.
Device->SetTransform(D3DTS_WORLD, &ObjWorldMatrices[i]);
// Draw the object using the previously set world matrix.
Objects[i]->DrawSubset(0);
}啊。。。要怎么指定关系
作者: kgstation 发布时间: 2011-07-17
 相关阅读 更多  
      
    热门阅读
-   office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具阅读:74 
-   如何安装mysql8.0 如何安装mysql8.0阅读:31 
-   Word快速设置标题样式步骤详解 Word快速设置标题样式步骤详解阅读:28 
-   20+道必知必会的Vue面试题(附答案解析) 20+道必知必会的Vue面试题(附答案解析)阅读:37 
-   HTML如何制作表单 HTML如何制作表单阅读:22 
-   百词斩可以改天数吗?当然可以,4个步骤轻松修改天数! 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!阅读:31 
-   ET文件格式和XLS格式文件之间如何转化? ET文件格式和XLS格式文件之间如何转化?阅读:24 
-   react和vue的区别及优缺点是什么 react和vue的区别及优缺点是什么阅读:121 
-   支付宝人脸识别如何关闭? 支付宝人脸识别如何关闭?阅读:21 
-   腾讯微云怎么修改照片或视频备份路径? 腾讯微云怎么修改照片或视频备份路径?阅读:28 















