锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鍥炲埌涓婚錛岃褰曚竴涓嬮暅闈㈠弽灝勭煩闃電殑鎺ㄥ銆?/p> 鍦ㄧ敤Irrlicht鍜孯TT鍋氶暅闈㈡晥鏋滅殑鏃跺欙紝鐢ㄥ埌浜?jiǎn)鍙崬畡鐭╅橖c(diǎn)?灝辨槸闇瑕佹妸鎽勭浉鏈洪暅鍍忥紝娓叉煋涓涓猂T錛岃創(chuàng)鍒伴暅闈㈡ā鍨嬩笂銆傝繖涓叾瀹炶繕綰犵粨浜?jiǎn)璁镐箙锛屽洜湄?fù)涔嬪墠鍋氭按闈㈡覆鏌撶殑鏃跺欙紝姘撮潰鏄鉤鐨勶紝寰堝ソ璁$畻鎽勭浉鏈哄湪姘撮潰浠ヤ笅鐨勪綅緗?浣嗘槸鎹㈡垚闀滈潰錛屽氨涓嶄竴鏍蜂簡(jiǎn)錛屽洜涓洪暅闈㈠彲鑳芥槸浠繪剰闈€?浜庢槸灝遍渶瑕佷竴涓氱敤鐨勫弽灝勭煩闃點(diǎn)?/p> 鍙嶅皠鐭╅樀鐨勮綆楁槸鍩轟簬騫抽潰鐨勶紝鍥犱負(fù)錛屼換浣曞弽灝勶紝閮介渶瑕佷竴涓弽灝勯潰銆?/p> 鎵浠ワ紝鎴戜滑鍏堢粰鍑哄鉤闈㈣〃紺?Plane(nx,ny,nz,d); 鍏朵腑(nx,ny,nz)宸茬粡鍗曚綅鍖栥?/p> 鐒跺悗錛屾垜浠亣璁劇┖闂翠腑鏈変換鎰忎竴鐐筆(x,y,z,1) 璁捐繖涓偣P浠lane涓哄弽灝勯潰鐨勯暅鍍忕偣涓篜1(x1,y1,z1,w)銆?/p> 錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?/p> 鏍規(guī)嵁瀹氱悊錛屾垜浠煡閬擄紝 鑻ヤ袱涓偣浠ユ煇涓鐐逛負(fù)闀滃儚錛屽垯涓や釜鐐圭殑鍧愭爣涔嬪拰闄や互2錛屽氨鍒氬ソ鏄腑鐐廣? 榪欎釜鐞嗚鎴戜滑鐢ㄥ埌榪欓噷鐨勮瘽錛?閭h繖涓腑鐐瑰氨鍒氬ソ鏄鉤闈笂鐨勪竴涓偣銆?騫抽潰涓婄殑榪欎釜鐐瑰氨鏄?P(x,y,z,1) - (nx,ny,nz,0)*D . 鍏朵腑D灝辨槸鐐筆鍒板鉤闈㈢殑璺濈 鑰孌=Plane dot P = (x*nx+y*ny+z*nz+d); 鐢變笂闈㈢殑鎻忚堪錛屾垜浠┈涓婃兂鍒幫紝閭d箞瑕佹眰鐐筆1鐨勮瘽錛屽氨鏄繖鏍?nbsp; (P+P1)/2 = P(x,y,z,1) - (nx,ny,nz,0)*D => P1 = P(x,y,z,1) - 2(nx,ny,nz,0)*D =>P1 = P(x,y,z,1) - 2(nx,ny,nz,0)*(x*nx+y*ny+z*nz+d) 鎹㈡垚鐭╅樀褰㈠紡鍒欎負(fù) 锝?-2*nx*nx -2*nx*ny -2*nx*nz 0 | | -2*ny*nx 1 - 2*ny*ny -2*ny*nz 0 | P1 = {x,y,z,1} x | -2*nz*nx -2*nz*ny 1-2*nz*nz 0 | | -2*d*nx -2*d*ny -2*d*nz 1 | 澶у姛鍛婃垚 btw:榪欐槸琛屼富鐭╅樀琛ㄧず娉?/p>
]]>
]]>
浣嗘槸錛屽鏋淐++鍜孉S3鐨勭粨鍚堝紑鍙戞槸濡傛鐥涜嫤鐨勮瘽錛岄偅鎴戣寰桭lasCC灝辨病鏈夊瓨鍦ㄧ殑鎰忎箟浜?jiǎn)銆?榪樺ソ錛岀湅鍒頒簡(jiǎn)榪欎釜渚嬪瓙銆?/p>
榪欎釜渚嬪瓙鏄悜澶у灞曠ず濡備綍鍒╃敤FLASCC鐢熸垚SWC錛屼互渚汚S3浠g爜璋冪敤鐨勩?榪欎釜鏈哄埗鐪熺殑寰堝己澶э紝褰撲竴涓狝S3鍦ㄤ嬌鐢ㄤ竴涓敤FLASCC鐢熸垚鐨凷WC鏃訛紝瀹冩槸瀹屽叏鎰熻涓嶅埌榪欎釜SWC鏄敤C++浠g爜錛岄氳繃FLASCC鐢熸垚鐨勩?/p>
榪欎釜渚嬪瓙浣跨敤浜?jiǎn)涓涓狹urmurHash鐨勫搱甯屽嚱鏁扮殑瀹炵幇錛屾潵灞曠ずSWC鐨勭敓鎴愩?鍗寵繖涓緥瀛愬皢MurmurHash鍖呰鎴愪簡(jiǎn)AS3綾伙紝騫舵墦鍖呮垚AS3錛屼緵澶у浣跨敤銆?/p>
鎵撳紑瀹冪殑澶存枃浠訛紝浣犲彲浠ュ彂鐜?涓嚱鏁般?褰撶劧錛屽氨綆楁槸鏈?00涓嚱鏁幫紝涔熸棤鎵璋擄紝鍥犱負(fù)鍏蜂綋鐨凜++浠g爜鏄粈涔堬紝涓嶆槸鎴戜滑鍏蟲(chóng)敞鐨勯噸鐐癸紝鍝曞彧鏄竴涓嚱鏁伴噷闈㈠啓浜?jiǎn)涓涓猵rintf錛屾垜浠篃鍙互緇х畫(huà)榪欎釜渚嬪瓙銆?/p>
鍡紝瑕佺壒鍒敞鎰忎竴涓嬮偅涓彨 as3api.cpp鐨勫浼欍?榪欎釜鏂囦歡灝卞睍紺轟簡(jiǎn)濡備綍浣跨敤FlasCC鎻愪緵鐨刟s3sig璇硶鏉ユ帶鍒禖/C++鍑芥暟銆傝繖縐嶈娉曟彁渚涗簡(jiǎn)涓涓潪甯稿ソ鐨勬柟寮忔潵涔﹀啓AS3鍜孋/C++浠g爜搴撱傚畠鑳藉榪涜涓浜涘繀瑕佺殑綾誨瀷杞崲銆?/p>
鍢垮樋錛屼綘鑲畾鎯寵錛屽搰闈狅紝灞呯劧涓嶈兘鑷繁鐢熸垚銆?鍏跺疄錛屾槸鍙互鐨勶紝涓嶈繃瑕佷笅涓涓緥瀛愭墠浼?xì)鏁欍?/p>
姣旇緝鐗瑰埆鐨勬槸錛岃繖涓緥瀛愪笉浣嗙敤浜?jiǎn)GCC錛岃繕鐢ㄤ簡(jiǎn)FLEX緙栬瘧鍣ㄣ?/p>
//浣跨敤C++緙栬瘧涓篠WC 娉細(xì)-jvmopt=-Xmx1G 鏄垜鍔犱笂鐨勶紝鍥犱負(fù)緙栬瘧鐨勬椂鍊欙紝鏈夋彁紺烘垜閿欒銆?/p>
"$(FLASCC)/usr/bin/g++" $(BASE_CFLAGS) -O4 -jvmopt=-Xmx1G MurmurHash3.cpp as3api.cpp main.cpp -emit-swc=sample.MurmurHash -o MurmurHash.swc
//浣跨敤mxmlc鐢熸垚SWF
"$(FLEX)/bin/mxmlc" -static-link-runtime-shared-libraries -compiler.omit-trace-statements=false -library-path=MurmurHash.swc -debug=false swcdemo.as -o swcdemo.swf
鍓╀笅鐨勶紝灝辨槸涓婂浘浜?/p>
鎵撳紑hello.c錛屾垜浠彲浠ュ彂鐜頒竴涓爣鍑嗙殑C璇█鐨刪ello world渚嬪瓙銆?/p>
int main()
{
printf(鈥渉ello world鈥?;
}
榪欎釜錛岃櫧鐒惰繑鍥炲兼槸int錛屼絾鏄唬鐮侀噷娌℃湁 return瀛楁牱銆?涓嶈繃錛屾病鍏崇郴錛屾槸鍙互緙栬瘧閫氳繃鐨勩?/p>
鎵撳紑makefile鍙互鍙戠幇錛屽畠璋冪敤浜?jiǎn)涓啤gcc錛屼竴嬈℃槸鐢熸垚projector鐨勪簩榪涘埗鏂囦歡錛屽嵆涓涓墦鍖呬簡(jiǎn)abc瀛楄妭鐮佸拰FLASH铏氭嫙鏈虹殑EXE紼嬪簭銆?絎簩嬈″垯緙栬瘧涓轟簡(jiǎn)SWF鏂囦歡錛屽畠鍙互鍦‵LASH PLAYER涓墽琛屻?/p>
濡傛灉涓嶆兂閫氳繃makefile錛岃屾槸鎯寵嚜宸辯紪璇戯紝鍒欏彲浠ヨ繘鍏ュ埌01_HelloWorld鏂囦歡澶癸紝鎵ц涓嬮潰鐨勪唬鐮併?/p>
絎竴姝ワ紝璁劇疆FLASCC鍜孎LEX鐜
make FLEX=/cygdrive/c/path/to/flexsdk FLASCC=/cygdrive/c/flascc/sdk
濡傛灉鏄兂鐢熸垚鎵撳寘濂界殑EXE錛屽垯
"/cygdrive/c/flascc/sdk/usr/bin/gcc" -Werror -Wno-write-strings -Wno-trigraphs hello.c -o hello.exe
濡傛灉鏄兂鐢熸垚SWF錛屽垯
"/cygdrive/c/flascc/sdk/usr/bin/gcc" -Werror -Wno-write-strings -Wno-trigraphs hello.c -emit-swf -swf-size=200x200 -o hello.swf
鍙傛暟鐨勬剰鎬濆涓?/p>
Werror 灝嗚鍛婅涓洪敊璇?寮鍚簡(jiǎn)榪欎釜鐨勮瘽錛屾墍鏈夎鍛婏紝閮戒細(xì)褰撲綔閿欒杈撳嚭錛岃繖鏄竴縐嶈緝楂樼殑緙栬瘧瑕佹眰銆?/p>
-Wno-write-strings 琛ㄧず涓嶈緭鍑?guó)櫗﹀憡瀛椊W︿覆
-Wno-trigraphs 涓嶇煡閬?/p>
-o 杈撳嚭鍙墽琛屾枃浠?/p>
-emit-swf 鐢熸垚SWF鏂囦歡
-swf-size 鎸囧畾SWF鑸炲彴澶у皬