游戏开发论坛

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

新手DX9问题,如何同时渲染顶点格式不同的多边形?

[复制链接]

11

主题

51

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2006-10-23 09:42:00 | 显示全部楼层 |阅读模式
如果渲染一个TEX,没问题,顶点格式FVF是XYZRHW和TEX1
如果渲染一个单纯顶点色的面,也没问题,FVF是XYZRHW和DIFFUSE

但是我一个界面即要有TEX,又要有顶点色的面。似乎后者就显示不正常了……

我自作聪明用switch选择一下,分两种顶点格式,两种顶点缓冲器,但运行后TEX是对的,顶点色那个面颜色不对。不渲染TEX的话,顶点色就正常了

这是render部分的简单代码,高手帮忙指点一下吧……研究几天而不得……
        switch(m_nMode)
        {
        case MODE_HOMOCHROMY:
                m_pD3DDevice->SetFVF(m_dwFVF);
                m_pD3DDevice->SetStreamSource(0, m_pVertexBuffer,0 ,sizeof(VERTEX_HOMO));       
                m_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
               
                break;
        case MODE_TEX:
                m_pD3DDevice->SetTexture( 0, m_pTexture );
                m_pD3DDevice->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE);
                m_pD3DDevice->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_SELECTARG1);
                m_pD3DDevice->SetFVF(m_dwFVF);
                m_pD3DDevice->SetStreamSource(0, m_pVertexBuffer,0 ,sizeof(VERTEX_TEX));       
                m_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
       
        }

11

主题

51

帖子

57

积分

注册会员

Rank: 2

积分
57
 楼主| 发表于 2006-10-23 10:21:00 | 显示全部楼层

Re:新手DX9问题,如何同时渲染顶点格式不同的多边形?

貌似解决了,把顶点色渲染,加一个SetTexture(0,NULL),把贴图去掉……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 16:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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