游戏开发论坛

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

为什么在启用了Light以后,绘制的顶点就变黑色了?

[复制链接]

4

主题

18

帖子

22

积分

注册会员

Rank: 2

积分
22
发表于 2005-7-18 22:24:00 | 显示全部楼层 |阅读模式
我写的一个绘制顶点程序里面,没有启用Light的时候,顶点可以正常绘制(用DrawPrimitiveUP()),可是启用了Light以后,绘制出来的顶点就都变黑色了,请教高手,这是什么原因?
顶点格式如下:
#define FVF_LIT_VTX ( D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_SPECULAR )
struct SLitVertex
{
        D3DVECTOR vec3;
        DWORD clrDiff;
        DWORD clrSpec;
};

        // Render bounding center point
        SLitVertex vtx;
        vtx.vec3 = m_boundingSphere.GetBS().m_vCenter;
        vtx.clrDiff = D3DCOLOR_ARGB(255, 255, 255, 255);
        vtx.clrSpec = D3DCOLOR_ARGB(255, 255, 255, 255);

        ChangeFvf(FVF_LIT_VTX);
        ChangeRenderState( D3DRS_ZENABLE, FALSE );
        float fPtMax = 64.0f;
        ChangeRenderState( D3DRS_POINTSIZE, *((DWORD*)&fPtMax) );
        m_pd3dDevice->DrawPrimitiveUP(D3DPT_POINTLIST, 1, &vtx, sizeof(SLitVertex));
        ChangeRenderState( D3DRS_POINTSIZE, *((DWORD*)&(fPtMax=1.0f)) );

9

主题

266

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
发表于 2005-7-18 23:40:00 | 显示全部楼层

Re:为什么在启用了Light以后,绘制的顶点就变黑色了?

没有法线。

4

主题

18

帖子

22

积分

注册会员

Rank: 2

积分
22
 楼主| 发表于 2005-7-19 12:09:00 | 显示全部楼层

Re:为什么在启用了Light以后,绘制的顶点就变黑色了?

可以了,Thx!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 11:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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