⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 material.h

📁 一个纹理地形渲染器
💻 H
字号:
// DirectX Material

#pragma once

#include "System/Material.h"


namespace DirectX
{
    /// %DirectX implementation of %Material

	class Material : public System::Material
	{	
	private:

		D3DMATERIAL9 _material;         ///< d3d material struct

	public:

        /// default constructor.
        /// clears d3d material struct to zeros.

		Material()
		{
			ZeroMemory(&_material, sizeof(D3DMATERIAL9));
		}

		virtual void ambient(const Color &color)
		{
			_material.Ambient.r = color.r;
			_material.Ambient.g = color.g;
			_material.Ambient.b = color.b;
			_material.Ambient.a = color.a;
		}

		virtual void diffuse(const Color &color)
		{
			_material.Diffuse.r = color.r;
			_material.Diffuse.g = color.g;
			_material.Diffuse.b = color.b;
			_material.Diffuse.a = color.a;
		}

		virtual void specular(const Color &color)
		{
			_material.Specular.r = color.r;
			_material.Specular.g = color.g;
			_material.Specular.b = color.b;
			_material.Specular.a = color.a;
		}

		virtual void emissive(const Color &color)
		{
			_material.Emissive.r = color.r;
			_material.Emissive.g = color.g;
			_material.Emissive.b = color.b;
			_material.Emissive.a = color.a;
		}

		virtual void power(float value)
		{
			_material.Power = value;
		}

		virtual Color ambient() const
		{
			return Color(_material.Ambient.r, _material.Ambient.g, _material.Ambient.b, _material.Ambient.a);
		}

		virtual Color diffuse() const
		{
			return Color(_material.Diffuse.r, _material.Diffuse.g, _material.Diffuse.b, _material.Diffuse.a);
		}

		virtual Color specular() const
		{
			return Color(_material.Specular.r, _material.Specular.g, _material.Specular.b, _material.Specular.a);
		}

		virtual Color emissive() const
		{
			return Color(_material.Emissive.r, _material.Emissive.g, _material.Emissive.b, _material.Emissive.a);
		}

		virtual float power() const

		{
			return _material.Power;
		}

        /// get d3d material struct.
        /// used internally by DirectX::Display.

		const D3DMATERIAL9& material() const
		{
			return _material;
		}
	};
}

⌨️ 快捷键说明

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