游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2869|回复: 8

请问:怎样求法线及光照计算?

[复制链接]

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
发表于 2007-10-8 21:51:00 | 显示全部楼层 |阅读模式
假设有这样一组顶点:
        d=-1;
        ff[d=d+1]=0.0f,ff[d=d+1]=0.0f,ff[d=d+1]=0.0f;
        for(i=0;i<9;i++)
        {
                f[0]=(2*D3DX_PI*i)/8;
                ff[d=d+1]=cosf(f[0])*3.0f,ff[d=d+1]=sinf(f[0])*3.0f,ff[d=d+1]=-10.0f;
        }
三角形索引为:
        d=-1;
        sy[d=d+1]=0,sy[d=d+1]=1,sy[d=d+1]=2;
        sy[d=d+1]=0,sy[d=d+1]=2,sy[d=d+1]=3;
        sy[d=d+1]=0,sy[d=d+1]=3,sy[d=d+1]=4;
        sy[d=d+1]=0,sy[d=d+1]=4,sy[d=d+1]=5;
        sy[d=d+1]=0,sy[d=d+1]=5,sy[d=d+1]=6;
        sy[d=d+1]=0,sy[d=d+1]=6,sy[d=d+1]=7;
        sy[d=d+1]=0,sy[d=d+1]=7,sy[d=d+1]=8;
        sy[d=d+1]=0,sy[d=d+1]=8,sy[d=d+1]=9;
请问:如何求这10个顶点的法线?

3

主题

31

帖子

31

积分

注册会员

Rank: 2

积分
31
发表于 2007-10-8 22:53:00 | 显示全部楼层

Re:请问:怎样求法线及光照计算?

每个顶点的法线可以通过三角形其他两点的与该点所组成的2个向量做叉乘来求吧

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2007-10-9 00:22:00 | 显示全部楼层

Re:请问:怎样求法线及光照计算?

楼上:有些面会有共同的顶点。

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2007-10-9 09:39:00 | 显示全部楼层

Re:请问:怎样求法线及光照计算?

DX里面就是求点的法线嘛,然后系统会由此计算面的法线

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-10-9 10:18:00 | 显示全部楼层

Re:请问:怎样求法线及光照计算?

公共的点就把法线相加/ 公共点数

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2007-10-9 15:01:00 | 显示全部楼层

Re:请问:怎样求法线及光照计算?

公共的点就把法线相加/ 公共点数

明白。

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2007-10-9 15:03:00 | 显示全部楼层

Re:请问:怎样求法线及光照计算?

请问:法线求出来后在光照中怎样计算?

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-10-10 16:21:00 | 显示全部楼层

Re:请问:怎样求法线及光照计算?

那个GPU会帮你算的你要软渲染的话。就是很具光线和法线的夹角然后对那个点混以一定权重的光颜色。比如大于PI就就说明光找不到那么自然就因该黑点。等等类似。你可以看一下3D游戏编程大师那上面全部都是软件模拟了

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
 楼主| 发表于 2007-10-12 09:45:00 | 显示全部楼层

Re:请问:怎样求法线及光照计算?

收到。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-17 12:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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