首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++ directx muliti纹理

c++ directx muliti纹理
EN

Stack Overflow用户
提问于 2010-10-09 06:01:41
回答 1查看 829关注 0票数 0

如何在一个立方体上设置多个纹理,如立方体的正面与背面具有不同的纹理。

我试着使用阶段,但它不起作用。例如,如果我想要做一个骰子,我会让顶部是1边是2..............

代码语言:javascript
复制
D3DXCreateTextureFromFile(d3ddev,   //Direct3D Device
                                _T("image.png"),       //File Name
                                &g_texture);    //Texture handle

    d3ddev->SetRenderState(D3DRS_LIGHTING, FALSE);    // turn off the 3D lighting
    d3ddev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);    // turn off culling
    d3ddev->SetRenderState(D3DRS_ZENABLE, TRUE);    // turn on the z-buffer
 d3ddev->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_SELECTARG1);
    d3ddev->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);
    d3ddev->SetTextureStageState(0,D3DTSS_COLORARG2,D3DTA_DIFFUSE);   //Ignored

    d3ddev->SetTexture(1,g_texture);

 D3DXCreateTextureFromFile(d3ddev,   //Direct3D Device
                                _T("images.png"),       //File Name
                                &texture2);    //Texture handle



    d3ddev->SetRenderState(D3DRS_LIGHTING, FALSE);    // turn off the 3D lighting
    d3ddev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);    // turn off culling
    d3ddev->SetRenderState(D3DRS_ZENABLE, TRUE);    // turn on the z-buffer
 d3ddev->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_SELECTARG1);
    d3ddev->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);
    d3ddev->SetTextureStageState(0,D3DTSS_COLORARG2,D3DTA_DIFFUSE);   //Ignored

 d3ddev->SetTexture(0, texture2);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-09 06:14:20

你要做的就是创建一个纹理,然后把骰子的6个面放入这个纹理中。然后,对于每个面,可以使用与纹理中具有所需骰子边的部分相对应的UV。

如果做不到..。你画了6次。每种纹理一次。

如果可以的话,前一种方法是目前为止最好的方法。使用DirectX 9时,绘制调用越少越好。

编辑:实际上,公平地说,还有其他一些方法可以做到这一点。您可以使用体积纹理,并将每个模具面放在一个切片中,然后将该切片渲染到立方体的表面上。或者,也可以使用立方体纹理并对其进行设置,以便纹理查找发生在所需的面上。

不过,我描述的第一种方法很可能仍然会给你带来最好的性能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3894630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档