游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1410|回复: 2

请问一个directx下超级菜鸟的问题,关于使用索引画模型

[复制链接]

36

主题

197

帖子

197

积分

注册会员

Rank: 2

积分
197
发表于 2006-10-15 18:42:00 | 显示全部楼层 |阅读模式
当一个顶点有多个法线或者多个贴图坐标的时候,如果使用索引方法画多边形,那么就必须把一个顶点分别变成好几个放在顶点缓存中吗?


比如一个模型中
点a在一个面中有一个法线信息和2个贴图坐标信息(多重贴图mapchannel)
可是点a在另一个面中,可能有另外一组,不一样的法线和贴图坐标

这是我定义的顶点格式
const D3DVERTEXELEMENT9 Decl[5] =
{
        { 0, 0,  D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
        { 0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,   0 },
        { 0, 24, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD,   0 },
        { 0, 32, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD,   1 },
        D3DDECL_END()
};

我想的是给所有不同的信息重新在顶点缓存中增加一个顶点,这样顶点缓存就有2个或2个以上的同一个顶点,只是他们的法线,贴图坐标不同,但是这样有一个问题,这样做无形中增加了顶点数量,岂不是会导致游戏变慢?

我如何使用DrawIndexedPrimitive画这个模型?

难道贴图坐标和法线也可以用索引么?

[em7] [em7]

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2006-10-16 09:04:00 | 显示全部楼层

Re:请问一个directx下超级菜鸟的问题,关于使用索引画模型

"这样顶点缓存就有2个或2个以上的同一个顶点,只是他们的法线,贴图坐标不同,但是这样有一个问题,这样做无形中增加了顶点数量",是这样的。但是说会让游戏变慢,这个就不是你需要担心的了。因为对现在的显卡来说,瓶颈根本不在多几个定点。而是在其他方面。

36

主题

197

帖子

197

积分

注册会员

Rank: 2

积分
197
 楼主| 发表于 2006-10-16 13:46:00 | 显示全部楼层

Re:请问一个directx下超级菜鸟的问题,关于使用索引画模型

哦?你是说,我增加顶点的方法是正确的做法?

那么现在主要瓶颈在那里?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 15:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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