gpt4 book ai didi

c++ - 创建具有所有语义类型的 Direct3D 顶点是否会降低性能?

转载 作者:行者123 更新时间:2023-11-28 03:55:11 34 4
gpt4 key购买 nike

在 Direct3D 中,您可以创建您喜欢的任何类型的顶点。你可以有一个只有位置信息的简单顶点,或者你可以添加颜色信息、纹理信息等等。创建输入布局时,您可以定义已实现的顶点的哪些部分:

D3D10_INPUT_ELEMENT_DESC layout[] =
{
{ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },
{ "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, D3D10_APPEND_ALIGNED_ELEMENT, D3D10_INPUT_PER_VERTEX_DATA, 0 },
};

我的问题是,我是否应该定义一个包含所有 输入类型(位置、颜色、纹理等)的顶点结构。或者我应该创建多个顶点结构,每个结构具有不同类型的输入。

使用多个类的缺点是您必须创建和维护多个类,而且不知道要使用哪种类型的顶点可能会造成混淆。具有 1 个顶点结构的缺点是什么?

最佳答案

您会将未使用的顶点数据上传到 3d 加速器,它会占用一些带宽。除非您正在制作一些一流的视频游戏(您几乎肯定会在其他地方遇到瓶颈),否则这无关紧要。

关于c++ - 创建具有所有语义类型的 Direct3D 顶点是否会降低性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3880425/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com