游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1533|回复: 1

请各位指点:如何获取并修改.x文件中的顶点坐标值

[复制链接]

23

主题

94

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2007-6-20 14:31:00 | 显示全部楼层 |阅读模式
加载了.x文件之后,我想取得每个三角形面片的顶点坐标,应该怎么做啊?
我这样做为什么错了?总是在访问到某个点的时候提示内存非法访问。。。郁闷死了!

        LPDIRECT3DVERTEXBUFFER9 meshpVB                =        NULL;
        LPDIRECT3DINDEXBUFFER9        meshpIB                =        NULL;               
        HRESULT hr = g_pCopyMesh->GetVertexBuffer( &meshpVB );
        hr = g_pCopyMesh->GetIndexBuffer( &meshpIB );
        WORD*      mesh_pIndices = NULL;
        D3DVERTEX*    mesh_pVertices = NULL;               
        hr = meshpIB->Lock(0, 0, (void**)&mesh_pIndices, 0);
        hr = meshpVB->Lock(0, 0, (void**)&mesh_pVertices, 0);
        DWORD dwNumFaces = g_pCopyMesh->GetNumFaces();       
        for( DWORD index=0; index<dwNumFaces; index++ )
        {
           WORD a = mesh_pIndices[3*index+0];
           WORD b = mesh_pIndices[3*index+1];
           WORD c = mesh_pIndices[3*index+2];
           D3DXVECTOR3 v0 = mesh_pVertices[a].p;
           D3DXVECTOR3 v1 = mesh_pVertices.p;
           D3DXVECTOR3 v2 = mesh_pVertices[c].p;
        }
...........................
常常在访问某个mesh_pVertices的时候提示非法内存访问。。。
谢谢高手帮我看看啊!

23

主题

94

帖子

94

积分

注册会员

Rank: 2

积分
94
 楼主| 发表于 2007-6-20 14:41:00 | 显示全部楼层

Re: 请各位指点:如何获取并修改.x文件中的顶点坐标值

比如,我想把模型中所有的顶点的z坐标加1,所有的y坐标减2,应该怎么做啊?

另外,我不想用模型(我这里说的模型都是directx自带的那些x文件)自带纹理,想用自己指定的,怎么指定啊?

谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 02:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表