亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lightobj.cpp

?? 這是我做的一個VC++小程序
?? CPP
字號:
/////////////////////////////////////////////////////////////////////////////////
//	
// LightObj.cpp: implementation of the CLightObj class.
//
////////////////////////////////////////////////////////////////////////////////
// 版權所有(2002)
// Copyright(2002)
// 編寫者: 向世明
// Author: Xiang Shiming


#include "stdafx.h"
#include "LightObj.h"
#include "math.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLightObj::CLightObj()
{
	//缺省光源為一全向白色點光源
	m_clrAmb.red  = 0.0f;		m_clrAmb.green = 0.0f;
	m_clrAmb.blue = 0.0f;		m_clrAmb.alpha = 1.0f;

	m_clrDif.red  = 1.0f;		m_clrDif.green = 1.0f;
	m_clrDif.blue = 1.0f;		m_clrDif.alpha = 1.0f;

	m_clrSpe.red  = 1.0f;		m_clrSpe.green = 1.0f;
	m_clrSpe.blue = 1.0f;		m_clrSpe.alpha = 1.0f;
	
	m_hcPosition.x = 0.0f;		m_hcPosition.y = 0.0f;
	m_hcPosition.z = 8.0f;		m_hcPosition.w = 1.0f;

	m_spotDirection.x = 0.0f;	m_spotDirection.y = 0.0f;
	m_spotDirection.z = -1.0f;


	m_fSpotExp = 0.0f;
	m_fSpotCutoff = 180.0f;
	m_fAttCoef0 = 1.0f;
	m_fAttCoef1 = 0.0f;
	m_fAttCoef2 = 0.0f;
	m_bOnOff = TRUE;
}

CLightObj::CLightObj(const CLightObj& light)
{
	m_clrAmb = light.m_clrAmb;
	m_clrDif = light.m_clrDif;
	m_clrSpe = light.m_clrSpe;
	m_hcPosition = light.m_hcPosition;
	m_spotDirection = light.m_spotDirection;

	m_fSpotExp = light.m_fSpotExp;
	m_fSpotCutoff = light.m_fSpotCutoff;
	m_fAttCoef0 = light.m_fAttCoef0;
	m_fAttCoef1 = light.m_fAttCoef1;
	m_fAttCoef2 = light.m_fAttCoef2;
	m_bOnOff = light.m_bOnOff;
}

CLightObj::~CLightObj()
{}

//設置光源是否可以開啟
//形式上統一, 第一個參數為G3D_LIGHT_ON_OFF有效
void CLightObj::Lightb(DWORD dwProperty,  BOOL bOnOff)
{
	if(dwProperty == G3D_LIGHT_ON_OFF) m_bOnOff = bOnOff;
}

//dwProperty----屬性
//fParam------參數值, 標量
void CLightObj::Lightf(DWORD dwProperty,  float fParam)
{
	switch(dwProperty)
	{
		//聚光指數
		case G3D_SPOT_EXPONENT:
			//發散指數在[0, 128]之間
			m_fSpotExp = (fParam < 0.0f) ? 0.0f : ((fParam > 128.0f) ? 128.0f : fParam);
			break;
		//發散半角
		case G3D_SPOT_CUTOFF:
			//發散半角取 [0, 90] 或 180
			if(ABS(fParam - 180.0f) < 0.001f) m_fSpotCutoff = 180.0f;
			else
				m_fSpotCutoff = (fParam < 0.0f) ? 0.0f : ((fParam > 90.0f) ? 90.0f : fParam);
			break;
		//常數衰減因子
		case G3D_CONSTANT_ATTENUATION:
			m_fAttCoef0 = ABS(fParam);
			break;
		//線性衰減因子
		case G3D_LINEAR_ATTENUATION:
			m_fAttCoef1 = ABS(fParam);
			break;

		//二次衰減因子
		case G3D_QUADRATIC_ATTENUATION:
			m_fAttCoef2 = ABS(fParam);
			break;
	}
}

//參數設置, 向量值(一維數組)
//dwProperty----屬性
//pfParams------參數值, 按 RGBA 順序或 XYZW 順序組織數據

void CLightObj::Lightfv(DWORD dwProperty,  const float* pfParams)
{
	ASSERT(pfParams);
	switch(dwProperty)
	{
		//環境光
		case G3D_AMBIENT:
			m_clrAmb.red   = pfParams[0];
			m_clrAmb.green = pfParams[1];
			m_clrAmb.blue  = pfParams[2];
			m_clrAmb.alpha = pfParams[3];
			break;
		//漫反射光
		case G3D_DIFFUSE:
			m_clrDif.red   = pfParams[0];
			m_clrDif.green = pfParams[1];
			m_clrDif.blue  = pfParams[2];
			m_clrDif.alpha = pfParams[3];
			break;
		//鏡面高光
		case G3D_SPECULAR:
			m_clrSpe.red   = pfParams[0];
			m_clrSpe.green = pfParams[1];
			m_clrSpe.blue  = pfParams[2];
			m_clrSpe.alpha = pfParams[3];

			break;
		//光的位置
		case G3D_POSITION:
			m_hcPosition.x = pfParams[0];
			m_hcPosition.y = pfParams[1];
			m_hcPosition.z = pfParams[2];
			m_hcPosition.w = pfParams[3];
			break;

		//聚光照射方向(非齊次坐標)
		case G3D_SPOT_DIRECTION:
			
			//直接單位化
			float fMag = (float)sqrt(pfParams[0] * pfParams[0] + 
							pfParams[1] * pfParams[1] +
							pfParams[2] * pfParams[2]);
			
			//對于退化向量, 將照射方向移至 z 軸
			if(fMag < 0.0001f)
			{
				m_spotDirection.x = 0.0f;
				m_spotDirection.y = 0.0f;
				m_spotDirection.z = -1.0f;
			}
			else
			{
				m_spotDirection.x = pfParams[0] / fMag;
				m_spotDirection.y = pfParams[1] / fMag;
				m_spotDirection.z = pfParams[2] / fMag;
			}
			break;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕av一区二区三区高 | 国产一区三区三区| 日韩毛片高清在线播放| 精品三级av在线| 日韩一区二区精品在线观看| 欧美性大战久久| 在线亚洲+欧美+日本专区| 99re8在线精品视频免费播放| 久久不见久久见免费视频7| 日本特黄久久久高潮| 偷拍日韩校园综合在线| 日本伊人精品一区二区三区观看方式| 一区二区三区成人| 亚洲国产精品嫩草影院| 婷婷亚洲久悠悠色悠在线播放 | 91污片在线观看| 97aⅴ精品视频一二三区| 99精品在线观看视频| 色婷婷激情综合| 欧美视频在线一区二区三区| 欧美三片在线视频观看| 5858s免费视频成人| 日韩欧美黄色影院| 亚洲精品一区在线观看| 国产日韩欧美一区二区三区乱码 | 丁香六月久久综合狠狠色| 蜜臀av性久久久久蜜臀aⅴ| 久久精品免费看| 国产精华液一区二区三区| eeuss鲁一区二区三区| 欧美亚洲国产一区二区三区| 3d成人h动漫网站入口| 久久先锋资源网| 中文字幕在线不卡| 亚洲成人午夜电影| 国产一区二区三区精品欧美日韩一区二区三区 | 午夜精品久久久久久久久| 免费av网站大全久久| 国产成人精品免费在线| 色国产精品一区在线观看| 欧美一区二区三区四区久久| 国产日韩欧美a| 亚洲成av人综合在线观看| 国产毛片精品视频| 在线区一区二视频| 精品99久久久久久| 亚洲午夜精品在线| 国产69精品一区二区亚洲孕妇| 日本国产一区二区| 久久久久久久久久久久久久久99| 亚洲免费观看在线观看| 久久精品av麻豆的观看方式| 91麻豆国产在线观看| 亚洲精品一线二线三线| 一区二区三区欧美在线观看| 国产精品一区二区黑丝| 欧美午夜免费电影| 日本一区二区在线不卡| 日韩精品成人一区二区在线| 波波电影院一区二区三区| 精品少妇一区二区三区在线播放| 一区二区三区在线视频观看| 国产成人aaa| 精品少妇一区二区三区视频免付费| 亚洲综合色成人| 成人动漫一区二区| 久久精品在线免费观看| 青青草国产精品亚洲专区无| 欧美午夜视频网站| 一区二区三区欧美在线观看| aa级大片欧美| 国产精品视频在线看| 国产精品一区二区视频| 欧美变态口味重另类| 午夜精品一区二区三区免费视频 | 一区二区三区高清不卡| 91一区二区在线| 国产精品女同一区二区三区| 国产剧情一区二区| 欧美sm极限捆绑bd| 久久电影网电视剧免费观看| 日韩一区二区三区在线| 青青草原综合久久大伊人精品优势| 欧美日韩精品一区二区三区四区| 亚洲蜜桃精久久久久久久| 91在线观看免费视频| 亚洲欧美中日韩| 欧美怡红院视频| 一区二区欧美在线观看| 色哦色哦哦色天天综合| 亚洲人一二三区| 在线免费精品视频| 午夜伊人狠狠久久| 91精品蜜臀在线一区尤物| 日韩经典中文字幕一区| 欧美一区二区啪啪| 韩国av一区二区三区在线观看| 精品少妇一区二区| 粉嫩aⅴ一区二区三区四区五区| 国产色产综合产在线视频| 成人一区二区三区中文字幕| 亚洲视频一二三区| 欧美日韩中文字幕一区二区| 日韩和欧美的一区| 欧美精品一区二区三区视频| 粉嫩aⅴ一区二区三区四区五区 | 国产精品456露脸| 中文成人av在线| 欧美日韩一区在线| 美女任你摸久久| 国产情人综合久久777777| 91蝌蚪国产九色| 免费高清在线一区| 欧美韩国一区二区| 欧美色网一区二区| 国产剧情一区二区三区| 一区二区三区四区精品在线视频| 欧美一区二区三区在线观看| 成人精品小蝌蚪| 天天色综合天天| 国产精品久久精品日日| 777午夜精品免费视频| 成人免费视频一区二区| 天天综合天天做天天综合| 中文字幕av免费专区久久| 4438x亚洲最大成人网| 99re在线视频这里只有精品| 蜜臀av一区二区| 亚洲午夜久久久久久久久久久| 亚洲欧洲成人av每日更新| 欧美日本精品一区二区三区| 国产99久久久国产精品免费看| 一区二区欧美国产| 亚洲国产成人一区二区三区| 欧美精品aⅴ在线视频| 成人一二三区视频| 蜜桃传媒麻豆第一区在线观看| 亚洲精品中文在线| 久久精品人人爽人人爽| 在线成人午夜影院| 日本乱码高清不卡字幕| 成人精品视频一区| 国产九色sp调教91| 奇米影视一区二区三区| 亚洲电影你懂得| 亚洲男人的天堂在线aⅴ视频 | 久久久高清一区二区三区| 欧美日韩国产电影| 欧美自拍偷拍一区| 91在线丨porny丨国产| 东方欧美亚洲色图在线| 国精品**一区二区三区在线蜜桃| 日韩在线一区二区| 午夜一区二区三区视频| 亚洲午夜三级在线| 亚洲精品成人天堂一二三| 亚洲六月丁香色婷婷综合久久 | www.综合网.com| 国产成人精品免费视频网站| 国产在线视视频有精品| 青青草精品视频| 久久99国产精品久久99果冻传媒| 免费高清在线一区| 久久激情综合网| 国产乱子伦视频一区二区三区| 麻豆一区二区99久久久久| 久久精品国产一区二区三区免费看| 亚洲va天堂va国产va久| 日韩和欧美一区二区三区| 青青国产91久久久久久| 麻豆精品一区二区综合av| 久久精品噜噜噜成人av农村| 久久精品国产免费| 国产尤物一区二区| 福利一区二区在线观看| 日本韩国视频一区二区| 欧美日韩视频一区二区| 91麻豆精品国产| 久久久亚洲精品一区二区三区| 国产欧美精品在线观看| 亚洲精品久久久蜜桃| 日韩中文字幕不卡| 国产成人精品一区二| 一本色道久久综合亚洲91| 91麻豆精品国产91久久久资源速度| 欧美一级爆毛片| 国产精品久久毛片av大全日韩| 亚洲欧美日韩一区二区| 日韩经典中文字幕一区| 成人做爰69片免费看网站| 欧美视频一区在线| 久久综合色8888| 亚洲欧美日韩电影| 久久精品国内一区二区三区| 成人av午夜电影| 欧美一级片在线| 亚洲日本成人在线观看| 激情综合色播五月| 日韩一区二区在线观看视频| 国产三级一区二区|