游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1703|回复: 3

关于LIGHTING的小问题

[复制链接]

12

主题

70

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2005-6-15 15:24:00 | 显示全部楼层 |阅读模式
从DX SDK的TUTORIAL里可以看到
// Turn off D3D lighting, since we are providing our own vertex colors
    g_pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );

这里为什么要将灯光关掉?我试过打开后就显示不出3D图形,这里的
struct CUSTOMVERTEX
{
    FLOAT x, y, z;      // The untransformed, 3D position for the vertex
    DWORD color;        // The vertex color
};

// Our custom FVF, which describes our custom vertex structure
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE)

如果我把color 换成 D3DXVECTOR3 normal,却仍然无法正常显示出来,为什么呢

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2005-6-15 15:31:00 | 显示全部楼层

Re:关于LIGHTING的小问题

设置material

12

主题

70

帖子

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2005-6-15 16:24:00 | 显示全部楼层

Re:关于LIGHTING的小问题

MATERIAL 和LIGHT要同时设置吗,只设置其中一个没用的吧???

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2005-6-16 19:09:00 | 显示全部楼层

Re:关于LIGHTING的小问题

如果打开灯光的话,顶点的颜色是根据顶点的法线和光的夹角计算出来的。当顶点有颜色值的时候如果打开灯光,而且你的结构中没有法线,所以顶点的颜色为0,所以看不见。第二个问题,就算你在结构中设置了法线,还需要设置法线的值,不然就跟上面说的一样,不会看见物体的,因为没有颜色,建议看看3D原理之类的书(比如OpenGL红宝书)就会明白了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 00:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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