📄 lighting.h
字号:
/*==========================================================================;
*
* 光线游戏引擎(Light Game Engine)
*
* 版权所有 (C) 2005-2007 康 旭。 保留所有权利。
* Copyright (C) KangXu. All Rights Reserved.
*
* 文件: lighting.h
* 内容: 光照函数
*
****************************************************************************/
/*! \file lighting.h * 光照函数. * 此文件是光照函数头文件. */
/* 光源的颜色 */
#define LIGHT_AMBIENT 1259 /* 环境光 */
#define LIGHT_DIFFUSE 1260 /* 漫反射 */
#define LIGHT_SPECULAR 1261 /* 镜面反射光 */
/* 光源的衰减因子 */
#define LIGHT_CONSTANT 1262 /* 恒定衰减因子 */
#define LIGHT_LINEAR 1263 /* 线性衰减因子 */
#define LIGHT_QUADRATIC 1264 /* 二次衰减因子 */
/*! \class LightLight * \brief 光照类 * * 本类负责动态光源的管理。 * 每个 LightLight 实例都必须通过 LightEngine 类的 NewLight 方法分配,分配实例的同时,也就创建了一个动态光源。 */
class LightLight
{
public:
/*! \fn int SetPosition( float x, float y, float z, float w ) = 0 * \brief 设置光源的位置 * * 设置光源的位置。 * * \param float x 光源位置的 x 坐标 * * \param float y 光源位置的 y 坐标 * * \param float z 光源位置的 z 坐标 * * \param float w 光源位置的 w 坐标 * * \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。 * * \see
*/
virtual int SetPosition( float x, float y, float z, float w ) = 0;
/*! \fn int SetColor( int name, float red, float green, float blue, float alpha ) = 0 * \brief 设置光源的颜色值 * * 设置光源的颜色值 * * \param int name 要设置的光源颜色。可以选择下面的其中一个值:
* \li LIGHT_AMBIENT 环境光
* \li LIGHT_DIFFUSE 漫反射
* \li LIGHT_SPECULAR 镜面反射光 * * \param float red 光源颜色的红色成分 * * \param float green 光源颜色的绿色成分 * * \param float blue 光源颜色的蓝色成分 * * \param float alpha 光源颜色的 Alpha 色成分 * * \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。 * * \see
*/
virtual int SetColor( int name, float red, float green, float blue, float alpha ) = 0;
/*! \fn int SetSpotlight( float x, float y, float z, float exponent, float angle ) = 0 * \brief 设置光源的聚光参数 * * 设置光源的聚光参数 * * \param float x 聚光方向的 x 坐标 * * \param float y 聚光方向的 y 坐标 * * \param float z 聚光方向的 z 坐标 * * \param float exponent 光源的聚光指数 * * \param float angle 光源的聚光角度 * * \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。 * * \see
*/
virtual int SetSpotlight( float x, float y, float z, float exponent, float angle ) = 0;
/*! \fn int SetAttenuation( int name, float attenuation ) = 0 * \brief 设置光源的衰减因子 * * 设置光源的衰减因子 * * \param int name 要设置的衰减因子。可以选择下面的其中一个值:
* \li LIGHT_CONSTANT 恒定衰减因子
* \li LIGHT_LINEAR 线性衰减因子
* \li LIGHT_QUADRATIC 二次衰减因子 * * \param float attenuation 衰减因子的值 * * \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。 * * \see
*/
virtual int SetAttenuation( int name, float attenuation ) = 0;
/*! \fn void Enable() = 0 * \brief 打开灯光 * * 打开灯光 * * \param 无 * * \return 无 * * \see
*/
virtual void Enable() = 0;
/*! \fn void Disable() = 0 * \brief 关闭灯光 * * 关闭灯光 * * \param 无 * * \return 无 * * \see
*/
virtual void Disable() = 0;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -