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

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

?? opc_tritrioverlapgilvan.h

?? opcode是功能強大
?? H
字號:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// This is an optional header that implements a custom triangle-versus triangle intersection test.
// This test can be used .
//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#define FindMinAndMax(m,M)  \
	if ( dp1 < m )          \
        m = dp1;            \
	else					\
        if ( dp1 > M )      \
            M = dp1;        \
                            \
    if ( dp2 < m )          \
        m = dp2;            \
	else					\
		if ( dp2 > M )		\
			M = dp2;

#define TriProjection( rkD, a0,a1,a2, mi, ma )	\
{												\
	mi = ma= rkD|a0;							\
	const float dp1 = rkD|a1;					\
    const float dp2 = rkD|a2;					\
												\
	FindMinAndMax(mi,ma)						\
}

#define TriProjection2D( a0,a1,a2, mi, ma )     \
{												\
    mi = ma = (ni0*a0[i0] + ni1*a0[i1]);		\
    const float dp1 = ni0*a1[i0] + ni1*a1[i1];  \
    const float dp2 = ni0*a2[i0] + ni1*a2[i1];  \
                                                \
	FindMinAndMax(mi,ma)						\
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
 *	Triangle/triangle intersection test routine, by Gilvan Maia, 2004.
 *      Some little optimizations were done and added a 2D SAT test for coplanar triangles.
 *      This test is based on the tri-tri test from http://www.magik-software.com
 *
 *	\param		V0		[in] triangle 0, vertex 0
 *	\param		V1		[in] triangle 0, vertex 1
 *	\param		V2		[in] triangle 0, vertex 2
 *	\param		U0		[in] triangle 1, vertex 0
 *	\param		U1		[in] triangle 1, vertex 1
 *	\param		U2		[in] triangle 1, vertex 2
 *	\return		true if triangles overlap
 */
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
inline_ BOOL AABBTreeCollider::TriTriOverlap(const Point& u0, const Point& u1, const Point& u2, const Point& v0, const Point& v1, const Point& v2)
{
	// Stats
	mNbPrimPrimTests++;
	  
    float fVMin, fVMax;

    // direction N
    const Point e0 = u1-u0;
    const Point e1 = u2-u1;
    const Point kN = e0 ^ e1;
    const float fNdU0 = kN | u0;//u0u1u02 origin
    TriProjection(kN,v0,v1,v2,fVMin,fVMax);
	
    if ( fVMin > fNdU0 || fNdU0 > fVMax )
        return FALSE;

    // direction M
    const Point f0 = v1-v0;
    const Point f1 = v2-v1;    
    const Point kM = f0 ^ f1;

    if ( (kN ^ kM).SquareMagnitude() >= 1.0e-6f )
    {
        // triangles are NOT coplanar... is this numerically stable/precise?
        const float fMdV0 = kM | v0;
        TriProjection(kM,u0,u1,u2,fVMin,fVMax);
        if ( fMdV0 < fVMin || fMdV0 > fVMax )
            return FALSE;

        // Sweet macro that makes code shorter and understandable
        #define TEST_AXES( E, F )						\
		{												\
			const Point kDir = E ^ F;					\
			float fUMin, fUMax;							\
			TriProjection(kDir,u0,u1,u2,fUMin,fUMax);	\
			TriProjection(kDir,v0,v1,v2,fVMin,fVMax);	\
			if ( fUMax < fVMin || fVMax < fUMin )		\
				return FALSE;							\
		}
        
        // computes remaining edges
        // directions E[i0]xF[i1]		
		//float fUMin, fUMax;

        TEST_AXES( e0, f0 )
		TEST_AXES( e0, f1 )
        TEST_AXES( e1, f1 )
		TEST_AXES( e1, f0 )
		
		const Point e2 = u0-u2;
		TEST_AXES( e2, f0 )
		TEST_AXES( e2, f1 )

		const Point f2 = v0-v2;
        TEST_AXES( e2, f2 )		
        TEST_AXES( e1, f2 )                
        TEST_AXES( e0, f2 )        
        

		return TRUE;
    }
    else
    {        
        // NOTE: If they're coplanar, then their normals are the same??
#define SATUSE_3D_AXES
#ifdef SATUSE_3D_AXES
		
        // this code looks like the original one, but with few changes
		float fUMin, fUMax;
        TEST_AXES( kN, e0 )
        TEST_AXES( kN, e1 )
        TEST_AXES( kM, f0 )
        TEST_AXES( kM, f1 )

		const Point e2 = u0-u2;
		TEST_AXES( kN, e2 )
		const Point f2 = u0-u2;
        TEST_AXES( kM, f2 )
#else
        // brand new code
		const Point e2 = u0-u2;
        const Point f2 = v0-v2;
		const float A[3] = { fabsf(kN[0]), fabsf(kN[1]), fabsf(kN[2])};
        float ni0, ni1;
        short i0,i1;

		// project onto an axis-aligned plane, that maximizes the area        
        if(A[0]>A[1])
        {
            if(A[0]>A[2])
            {
                i0=1;      /// A[0] is greatest
                i1=2;
            }
            else
            {
                i0=0;      // A[2] is greatest
                i1=1;
            }
        }
        else   // A[0]<=A[1] 
        {
            if(A[2]>A[1])
            {
                i0=0;      // A[2] is greatest
                i1=1;
            }
            else
            {
                i0=0;      // A[1] is greatest
                i1=2;
            }
        }
        
        #define TEST_AXES2D(edge)					  \
			ni0 =  edge[i0];                          \
			ni1 = -edge[i1];                          \
			TriProjection2D(u0,u1,u2,fUMin,fUMax);    \
			TriProjection2D(v0,v1,v2,fVMin,fVMax);    \
			if ( fUMax < fVMin || fVMax < fUMin )     \
				return false;
        
      
		float fUMin, fUMax;
        TEST_AXES2D( e0 )
        TEST_AXES2D( e1 )
        TEST_AXES2D( e2 )
        
        TEST_AXES2D( f0 )
        TEST_AXES2D( f1 )
        TEST_AXES2D( f2 )
#endif
        
		return TRUE;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人免费影院| 99久久久免费精品国产一区二区| 夜夜操天天操亚洲| 亚洲精品午夜久久久| 亚洲精品免费一二三区| 亚洲精品欧美二区三区中文字幕| 亚洲男人电影天堂| 亚洲柠檬福利资源导航| 一区二区三国产精华液| 亚洲摸摸操操av| 亚洲午夜免费福利视频| 三级精品在线观看| 久久成人精品无人区| 狠狠色丁香婷婷综合| 国产高清成人在线| 99视频精品全部免费在线| 色综合网站在线| 欧美探花视频资源| 91精品国产91久久综合桃花| 日韩欧美美女一区二区三区| 久久一留热品黄| 中文字幕乱码久久午夜不卡 | 午夜精品福利一区二区三区av| 亚洲成人av电影| 美女一区二区三区在线观看| 国产一区二区调教| eeuss国产一区二区三区| 色悠久久久久综合欧美99| 精品视频免费看| 日韩免费福利电影在线观看| 久久精品日产第一区二区三区高清版| 国产精品免费免费| 亚洲一区二区视频在线观看| 日本在线不卡视频一二三区| 国产精品中文字幕日韩精品| 91免费看片在线观看| 4438成人网| 国产欧美精品一区| 亚洲自拍另类综合| 蜜桃久久久久久| 成人性视频免费网站| 欧美视频日韩视频| 337p日本欧洲亚洲大胆精品| 亚洲女与黑人做爰| 老司机一区二区| 色又黄又爽网站www久久| 日韩久久久久久| 亚洲激情男女视频| 经典三级视频一区| 欧美综合在线视频| 国产偷v国产偷v亚洲高清| 亚洲电影你懂得| 国产999精品久久| 欧美日韩国产一区二区三区地区| 久久综合999| 亚洲成av人片在线| av亚洲精华国产精华精| 欧美一区二区精品在线| 1区2区3区欧美| 国内成+人亚洲+欧美+综合在线| 色婷婷综合久久久中文字幕| 久久在线免费观看| 丝袜亚洲另类丝袜在线| 91小视频免费观看| 久久美女艺术照精彩视频福利播放 | 亚洲日本在线a| 久久91精品久久久久久秒播| 91激情五月电影| 日本一区二区在线不卡| 日本aⅴ精品一区二区三区| 91香蕉视频在线| 久久久国产综合精品女国产盗摄| 亚洲成人免费观看| 91美女片黄在线观看91美女| 久久久久综合网| 精品一区二区影视| 欧美美女一区二区三区| 亚洲另类在线制服丝袜| www.欧美亚洲| 久久婷婷久久一区二区三区| 青青草97国产精品免费观看 | 国产成人精品aa毛片| 91精品国产免费久久综合| 亚洲欧美二区三区| gogo大胆日本视频一区| 国产精品美女久久久久av爽李琼| 国产一区欧美一区| 日韩三级在线免费观看| 日韩成人精品视频| 欧美日韩国产综合一区二区三区| 亚洲人精品午夜| 成人av集中营| 国产精品女上位| 99re这里都是精品| 亚洲欧美偷拍三级| 91麻豆国产自产在线观看| 中文字幕一区在线观看视频| 大美女一区二区三区| 国产精品色在线观看| 懂色av一区二区在线播放| 国产农村妇女毛片精品久久麻豆| 国产一区二区福利视频| 久久久精品国产免大香伊| 国产麻豆精品在线观看| 国产三级一区二区| 成人久久久精品乱码一区二区三区| 国产日韩欧美精品综合| 国产99精品视频| 综合自拍亚洲综合图不卡区| 95精品视频在线| 亚洲最新在线观看| 欧美日本一区二区| 青娱乐精品在线视频| 26uuu亚洲婷婷狠狠天堂| 国产麻豆成人精品| 国产精品国产自产拍高清av王其| 99免费精品视频| 亚洲精品视频免费看| 欧美三级电影在线观看| 丝袜美腿成人在线| 精品久久人人做人人爰| 国产精品一区在线| 日韩理论电影院| 欧美日韩一级视频| 蜜桃av噜噜一区| 国产精品青草久久| 欧美午夜片在线看| 久久精品国产**网站演员| 久久精品在线免费观看| 91视频免费看| 日韩国产欧美三级| 国产情人综合久久777777| 一本大道综合伊人精品热热| 日韩福利视频导航| 久久看人人爽人人| 色婷婷综合五月| 久久不见久久见免费视频1| 中文字幕成人av| 欧美日韩一区三区| 国产综合色产在线精品| 日韩一区中文字幕| 91麻豆精品国产自产在线| 国产精品一二三| 亚洲国产日韩a在线播放| 精品国产青草久久久久福利| 99re热这里只有精品视频| 婷婷综合久久一区二区三区| 精品国产91乱码一区二区三区 | 国产成人免费网站| 亚洲黄色小视频| 精品国产精品网麻豆系列| 91丨porny丨国产| 久久精品国产99国产| 亚洲永久精品国产| 久久精品欧美日韩| 精品视频在线看| av日韩在线网站| 精品制服美女久久| 一个色综合网站| 中文一区在线播放| 91精品国产综合久久精品麻豆| 成人av在线播放网址| 麻豆专区一区二区三区四区五区| 国产精品国产馆在线真实露脸| 欧美一卡在线观看| 在线视频欧美精品| 顶级嫩模精品视频在线看| 天堂资源在线中文精品| 国产精品美女久久久久aⅴ | 久久综合久久综合久久综合| 91极品视觉盛宴| 成人av午夜电影| 久久99九九99精品| 亚欧色一区w666天堂| 亚洲欧美一区二区三区孕妇| 久久久久久久久99精品| 欧美久久久久中文字幕| 99久久国产免费看| 粉嫩13p一区二区三区| 激情国产一区二区| 免费高清成人在线| 亚洲成a人v欧美综合天堂下载| 国产精品传媒在线| 国产无一区二区| 久久先锋影音av鲁色资源网| 91精品国产综合久久精品麻豆 | 精品国产成人系列| 欧美精品丝袜久久久中文字幕| av电影天堂一区二区在线观看| 国产又粗又猛又爽又黄91精品| 琪琪久久久久日韩精品| 亚洲国产日韩一区二区| 一区二区三区四区在线播放| 国产精品毛片无遮挡高清| 国产三级久久久| 久久久久久久久一| 亚洲精品在线观| 久久夜色精品一区| 久久婷婷色综合| 国产亚洲一区二区三区|