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

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

?? d3dvec.inl

?? directX8.1版本。的頭文件和庫 雖然現在directX9.0版本
?? INL
字號:

/****************************************************************** 
 *                                                                *
 *   D3DVec.inl                                                   *
 *                                                                *
 *   Float-valued 3D vector class for Direct3D.                   *
 *                                                                *
 *   Copyright (c) Microsoft Corp. All rights reserved.           *
 *                                                                *
 ******************************************************************/

#include <math.h>

// =====================================
// Constructors
// =====================================

inline
_D3DVECTOR::_D3DVECTOR(D3DVALUE f)
{
    x = y = z = f;
}

inline
_D3DVECTOR::_D3DVECTOR(D3DVALUE _x, D3DVALUE _y, D3DVALUE _z)
{
    x = _x; y = _y; z = _z;
}

inline
_D3DVECTOR::_D3DVECTOR(const D3DVALUE f[3])
{
    x = f[0]; y = f[1]; z = f[2];
}

// =====================================
// Access grants
// =====================================

inline const D3DVALUE&
_D3DVECTOR::operator[](int i) const
{
    return (&x)[i];
}

inline D3DVALUE&
_D3DVECTOR::operator[](int i)
{
    return (&x)[i];
}


// =====================================
// Assignment operators
// =====================================

inline _D3DVECTOR&
_D3DVECTOR::operator += (const _D3DVECTOR& v)
{
   x += v.x;   y += v.y;   z += v.z;
   return *this;
}

inline _D3DVECTOR&
_D3DVECTOR::operator -= (const _D3DVECTOR& v)
{
   x -= v.x;   y -= v.y;   z -= v.z;
   return *this;
}

inline _D3DVECTOR&
_D3DVECTOR::operator *= (const _D3DVECTOR& v)
{
   x *= v.x;   y *= v.y;   z *= v.z;
   return *this;
}

inline _D3DVECTOR&
_D3DVECTOR::operator /= (const _D3DVECTOR& v)
{
   x /= v.x;   y /= v.y;   z /= v.z;
   return *this;
}

inline _D3DVECTOR&
_D3DVECTOR::operator *= (D3DVALUE s)
{
   x *= s;   y *= s;   z *= s;
   return *this;
}

inline _D3DVECTOR&
_D3DVECTOR::operator /= (D3DVALUE s)
{
   x /= s;   y /= s;   z /= s;
   return *this;
}

inline _D3DVECTOR
operator + (const _D3DVECTOR& v)
{
   return v;
}

inline _D3DVECTOR
operator - (const _D3DVECTOR& v)
{
   return _D3DVECTOR(-v.x, -v.y, -v.z);
}

inline _D3DVECTOR
operator + (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return _D3DVECTOR(v1.x+v2.x, v1.y+v2.y, v1.z+v2.z);
}

inline _D3DVECTOR
operator - (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return _D3DVECTOR(v1.x-v2.x, v1.y-v2.y, v1.z-v2.z);
}

inline _D3DVECTOR
operator * (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return _D3DVECTOR(v1.x*v2.x, v1.y*v2.y, v1.z*v2.z);
}

inline _D3DVECTOR
operator / (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return _D3DVECTOR(v1.x/v2.x, v1.y/v2.y, v1.z/v2.z);
}

inline int
operator < (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return v1[0] < v2[0] && v1[1] < v2[1] && v1[2] < v2[2];
}

inline int
operator <= (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return v1[0] <= v2[0] && v1[1] <= v2[1] && v1[2] <= v2[2];
}

inline _D3DVECTOR
operator * (const _D3DVECTOR& v, D3DVALUE s)
{
   return _D3DVECTOR(s*v.x, s*v.y, s*v.z);
}

inline _D3DVECTOR
operator * (D3DVALUE s, const _D3DVECTOR& v)
{
   return _D3DVECTOR(s*v.x, s*v.y, s*v.z);
}

inline _D3DVECTOR
operator / (const _D3DVECTOR& v, D3DVALUE s)
{
   return _D3DVECTOR(v.x/s, v.y/s, v.z/s);
}

inline int
operator == (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return v1.x==v2.x && v1.y==v2.y && v1.z == v2.z;
}

inline D3DVALUE
Magnitude (const _D3DVECTOR& v)
{
   return (D3DVALUE) sqrt(SquareMagnitude(v));
}

inline D3DVALUE
SquareMagnitude (const _D3DVECTOR& v)
{
   return v.x*v.x + v.y*v.y + v.z*v.z;
}

inline _D3DVECTOR
Normalize (const _D3DVECTOR& v)
{
   return v / Magnitude(v);
}

inline D3DVALUE
Min (const _D3DVECTOR& v)
{
   D3DVALUE ret = v.x;
   if (v.y < ret) ret = v.y;
   if (v.z < ret) ret = v.z;
   return ret;
}

inline D3DVALUE
Max (const _D3DVECTOR& v)
{
   D3DVALUE ret = v.x;
   if (ret < v.y) ret = v.y;
   if (ret < v.z) ret = v.z;
   return ret;
}

inline _D3DVECTOR
Minimize (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return _D3DVECTOR( v1[0] < v2[0] ? v1[0] : v2[0],
                   v1[1] < v2[1] ? v1[1] : v2[1],
                   v1[2] < v2[2] ? v1[2] : v2[2]);
}

inline _D3DVECTOR
Maximize (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return _D3DVECTOR( v1[0] > v2[0] ? v1[0] : v2[0],
                   v1[1] > v2[1] ? v1[1] : v2[1],
                   v1[2] > v2[2] ? v1[2] : v2[2]);
}

inline D3DVALUE
DotProduct (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
   return v1.x*v2.x + v1.y * v2.y + v1.z*v2.z;
}

inline _D3DVECTOR
CrossProduct (const _D3DVECTOR& v1, const _D3DVECTOR& v2)
{
	_D3DVECTOR result;

	result[0] = v1[1] * v2[2] - v1[2] * v2[1];
	result[1] = v1[2] * v2[0] - v1[0] * v2[2];
	result[2] = v1[0] * v2[1] - v1[1] * v2[0];

	return result;
}

inline _D3DMATRIX
operator* (const _D3DMATRIX& a, const _D3DMATRIX& b)
{
    _D3DMATRIX ret;
    for (int i=0; i<4; i++) {
        for (int j=0; j<4; j++) {
            ret(i, j) = 0.0f;
            for (int k=0; k<4; k++) {
                ret(i, j) += a(i, k) * b(k, j);
            }
        }
    }
    return ret;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费在线看| 欧美在线制服丝袜| 久久嫩草精品久久久精品| 免费日韩伦理电影| 欧美精品黑人性xxxx| 亚洲h精品动漫在线观看| 色婷婷综合中文久久一本| 中文字幕中文乱码欧美一区二区| 国产激情精品久久久第一区二区| 日韩网站在线看片你懂的| 日韩二区三区在线观看| 在线播放中文字幕一区| 三级不卡在线观看| 日韩一区二区三区高清免费看看| 天天综合天天综合色| 欧美丝袜丝nylons| 天堂精品中文字幕在线| 欧美军同video69gay| 日本va欧美va瓶| 日韩精品一区二区三区在线观看 | 亚洲免费观看在线视频| 91免费版pro下载短视频| 一区二区三区精品视频| 欧美影视一区在线| 亚洲bt欧美bt精品| 91精品国产91综合久久蜜臀| 日本aⅴ亚洲精品中文乱码| 欧美大度的电影原声| 国产一区 二区| 欧美国产日本韩| www..com久久爱| 亚洲美女区一区| 欧美色手机在线观看| 日韩一区欧美二区| 精品国产免费一区二区三区香蕉 | 久久丁香综合五月国产三级网站| 日韩三级中文字幕| 国产在线一区二区| 国产精品成人免费| 欧美日韩免费一区二区三区 | 午夜精品久久久久| 亚洲精品一区二区三区福利| 国产精品99久久久久久久女警| 国产精品视频观看| 在线精品视频免费播放| 热久久国产精品| 国产色产综合产在线视频| 91在线一区二区| 午夜欧美2019年伦理 | 欧美色手机在线观看| 久久99国内精品| 国产精品久久久一本精品| 欧美在线999| 美腿丝袜亚洲色图| 国产精品免费观看视频| 欧美日韩国产一级片| 国产麻豆精品一区二区| 一区二区三区欧美激情| 日韩欧美一区中文| 不卡的看片网站| 无码av免费一区二区三区试看 | 亚洲色图欧美在线| 91精品国产一区二区人妖| 国产精品中文字幕日韩精品 | 久久国产精品一区二区| 欧美国产1区2区| 欧美日韩aaaaa| 国产精品亚洲第一区在线暖暖韩国 | 色狠狠综合天天综合综合| 色哟哟一区二区| 日本免费在线视频不卡一不卡二| 中文字幕免费一区| 欧美肥大bbwbbw高潮| 高清成人在线观看| 午夜激情久久久| 欧美国产日韩a欧美在线观看 | 欧美日韩成人综合天天影院| 国产成人综合亚洲网站| 亚洲va欧美va人人爽| 欧美激情艳妇裸体舞| 欧美一区二区在线免费播放| www.av亚洲| 国产自产v一区二区三区c| 亚洲综合av网| 国产精品国产三级国产aⅴ原创 | 色天天综合色天天久久| 狠狠色综合日日| 亚洲成av人影院| 最新成人av在线| 久久婷婷国产综合国色天香| 欧美日韩精品欧美日韩精品一综合| 成人天堂资源www在线| 久久超碰97中文字幕| 亚洲自拍与偷拍| 中文字幕在线一区免费| 久久综合久久鬼色中文字| 欧美日韩国产综合视频在线观看 | 91热门视频在线观看| 国产传媒日韩欧美成人| 久久国产精品99久久人人澡| 香蕉av福利精品导航| 亚洲精品高清在线| 亚洲欧洲另类国产综合| 久久精品人人做人人综合| 日韩视频免费直播| 欧美日韩免费观看一区二区三区| 9i看片成人免费高清| 国产精品69毛片高清亚洲| 美女爽到高潮91| 日av在线不卡| 日韩电影一区二区三区四区| 亚洲自拍偷拍图区| 一区二区三区中文字幕| 国产精品视频第一区| 久久精品网站免费观看| 久久综合久久鬼色中文字| 精品三级av在线| 精品免费视频.| 日韩亚洲欧美综合| 欧美一级理论性理论a| 欧美片在线播放| 欧美日韩在线不卡| 欧洲精品视频在线观看| 色天使久久综合网天天| 91丨九色丨黑人外教| 成人av资源在线| 成人国产精品免费网站| 播五月开心婷婷综合| www.色精品| 99精品欧美一区二区三区综合在线| 成人97人人超碰人人99| caoporm超碰国产精品| 99re8在线精品视频免费播放| 不卡的av电影| 色哟哟在线观看一区二区三区| 一本到不卡精品视频在线观看| 色综合色狠狠天天综合色| 91麻豆swag| 欧美色综合久久| 91精品国产全国免费观看| 一区二区三区国产豹纹内裤在线| 成人免费在线播放视频| 中文字幕亚洲综合久久菠萝蜜| 中文字幕亚洲一区二区av在线| 国产精品久久久久久福利一牛影视| 国产精品久久久99| 亚洲色图欧洲色图| 亚洲成人动漫av| 免费看欧美美女黄的网站| 精品一区二区在线观看| 国产伦精一区二区三区| 成人激情免费视频| 色综合天天在线| 欧美精品自拍偷拍| 精品福利二区三区| 国产精品视频第一区| 亚洲日本欧美天堂| 午夜精品在线看| 久久精品国产一区二区三区免费看 | 国产精品国产三级国产aⅴ入口| 日韩毛片在线免费观看| 亚洲国产精品自拍| 久久成人免费网| 国产成人精品免费网站| 波波电影院一区二区三区| 欧洲亚洲国产日韩| 欧美大度的电影原声| 国产精品视频第一区| 亚洲一区在线视频| 麻豆精品精品国产自在97香蕉| 高清不卡一二三区| 在线视频国内一区二区| 日韩一区二区在线看片| 中文字幕国产一区二区| 亚洲一区二区三区精品在线| 蜜桃av一区二区三区电影| 成人精品gif动图一区| 欧美三级电影在线看| 日韩视频123| 综合久久久久久| 青青草原综合久久大伊人精品| 国产99久久久精品| 欧美日韩大陆在线| 欧美激情一区二区三区全黄| 亚洲愉拍自拍另类高清精品| 美女视频黄免费的久久| av在线播放一区二区三区| 69精品人人人人| 欧美国产精品一区二区三区| 亚洲国产日韩一级| 国产精华液一区二区三区| 在线观看av一区二区| 国产亚洲欧美色| 午夜精品久久久久影视| 国产成人av资源| 欧美高清www午色夜在线视频| 国产欧美日韩综合精品一区二区 | 亚洲综合久久久| 国产老女人精品毛片久久| 欧美伊人久久久久久午夜久久久久|