游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2137|回复: 0

求解释:光照向量规范化(代码看不太懂)

[复制链接]

2

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-10-21 00:02:00 | 显示全部楼层 |阅读模式
这是superbible里面第八章的那个TOON示例里的一段代码:  
M3DMatrix44f mModelViewMatrix;
    M3DMatrix44f mInvertedLight;
    M3DVector3f vNewLight;
    M3DVector3f vNormal;


m3dInvertMatrix44(mInvertedLight, mModelViewMatrix);
    m3dTransformVector3(vNewLight, vLightDir, mInvertedLight);
    vNewLight[0] -= mInvertedLight[12];     //为什么要减去这个值????????????
    vNewLight[1] -= mInvertedLight[13];    //为什么要减去这个值????????????

    vNewLight[2] -= mInvertedLight[14];    //为什么要减去这个值????????????

    m3dNormalizeVector(vNewLight);
        


其中:
void m3dTransformVector3(M3DVector3f vOut, const M3DVector3f v, const M3DMatrix44f m)
    {
    vOut[0] = m[0] * v[0] + m[4] * v[1] + m[8] *  v[2] + m[12];// * v[3];         
    vOut[1] = m[1] * v[0] + m[5] * v[1] + m[9] *  v[2] + m[13];// * v[3];       
    vOut[2] = m[2] * v[0] + m[6] * v[1] + m[10] * v[2] + m[14];// * v[3];       
        //vOut[3] = m[3] * v[0] + m[7] * v[1] + m[11] * v[2] + m[15] * v[3];
    }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-4 22:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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