light.h

来自「一个纹理地形渲染器」· C头文件 代码 · 共 55 行

H
55
字号
// System Light class

#pragma once

#include "ObjectAdapter.h"
#include "Mathematics/Color.h"
#include "Mathematics/Vector.h"


namespace System
{
    using namespace Mathematics;

    /// A directional light source.
    /// Create a light instance using the Display::createLight factory method.
    /// Call Display::selectLight to use this light object when rendering.

	class Light : public ObjectAdapter
	{
	public:

        /// set diffuse color.

		virtual void diffuse(const Color &color) = 0;

        /// set specular color.

		virtual void specular(const Color &color) = 0;

        /// set light position.

		virtual void position(const Vector &vector) = 0;

        /// set light direction.

		virtual void direction(const Vector &vector) = 0;

        /// get diffuse color.

		virtual Color diffuse() const = 0;

        /// get specular color.

		virtual Color specular() const = 0;

        /// get light position.

		virtual Vector position() const = 0;

        /// get light direction.

		virtual Vector direction() const = 0;
	};
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?