附加顶点延迟
Appending a vertex delaration
我一直在将2010 sdk中的uvatlas项目从控制台应用程序转换为windows应用程序。它落在了追加顶点声明函数上,所以我试图创建一个函数,将顶点声明追加到顶点声明数组(由网格返回)中,但我的代码似乎只返回一个元素。
D3DVERTEXELEMENT9* appenddecl( D3DVERTEXELEMENT9 decl_add,
D3DVERTEXELEMENT9* source,
D3DVERTEXELEMENT9* decl_out,
UINT num_decl )
{
WORD i = 0;
UINT last_offset = 0;
BYTE last_type = 0;
UINT n_offset = 0;
for( i = 0; i < num_decl; i++ )
{
decl_out->Method = source->Method;
decl_out->Offset = source->Offset;
decl_out->Stream = source->Stream;
decl_out->Type = source->Type;
decl_out->Usage = source->Usage;
decl_out->UsageIndex = source->UsageIndex;
last_offset = decl_out->Offset;
last_type = decl_out->Type;
*decl_out++;
*source++;
}
switch(last_type)
{
case 0:
n_offset = 4;
break;
case 1:
n_offset = 8;
break;
case 2:
n_offset = 12;
break;
case 3:
n_offset = 16;
break;
case 4:
n_offset = 4;
break;
default:
break;
}
decl_out->Method = decl_add.Method;
decl_out->Offset = last_offset + n_offset;
decl_out->Stream = 0;
decl_out->Type = decl_add.Type;
decl_out->Usage = decl_add.Usage;
decl_out->UsageIndex = 1;
返回decl_out;
}`
有什么想法吗?
谢谢…`
这是第一关,嘿,成功!
打开到应用程序
相关文章:
- 如何循环打印顶点结构
- 如何仅为一个函数添加延迟
- 以在Qt中的IF语句中设置时间延迟
- D3D11-将混合权重和索引传递到顶点着色器
- 从返回的顶点缓冲区查询顶点结构
- Vulkan 中的动态顶点缓冲区格式设置
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 模板化类中静态成员的延迟初始化
- 在 Windows 8/10 技术中完全实时的屏幕捕获,没有延迟
- 将自定义函数传递到基抽象类中以延迟执行
- 如何将一半传递给顶点着色器?
- 我希望改进或要求我目前的延迟/睡眠方法。C++
- 如何在 c++ 中延迟?
- 在 DirectX 11 中从 GPU 读回顶点缓冲区(并获取顶点)
- QT QOpenGLWidget:如何在不使用数据块复制的情况下修改VBO中的单个顶点值?
- 使用 OpenGL 4.5 更改所选顶点的颜色
- 如何测量管道延迟?
- 获取毫秒延迟的错误值
- Direct3D 11 - HLSL - 获取顶点索引 ID
- 附加顶点延迟