作者查詢 / VictorTom
作者 VictorTom 在 PTT [ C_and_CPP ] 看板的留言(推文), 共10783則
限定看板:C_and_CPP
看板排序:
全部C_and_CPP10783AntiVirus1060VideoCard420PC_Shopping277ToS260Fund107CFP103Gossiping72Insurance65WorkinChina55Instant_Mess48P2PSoftWare36CD-R27SFFamily27StupidClown26Bank_Service23Soft_Job23FLAT_CLUB13Programming13Ladies_Digi12Steam11DSLR10MIT10MP53-110Windows10Chinese8HCSHch13_3118MATLAB8Wrong_spell8Broad_Band7ECClab7NUU_CSIE7PCSH91_3057GreenParty6TA_AN6LCD5PDA5Rubiks5Stock5Tech_Job5About_Life4AndroidDev4customers4Education4FSHS-95-3084KS97-3104Linux4MCU_Talk4NKUTEE4NTPU-STAT954NTU-EM934NTUBIME-1024Prob_Solve4SYSOP4THUMath954YoungDotx34ASHS-93-li3Browsers3ck-talk3ck61st3213CSMU-CM-OP3CSMU-ST953CYSH97Y3183documentary3EE_DSnP3EMS3Finance3FJU-Law20063GameDesign3joke3KS96-3123media-chaos3NCTU_SP7073NDHU-His1003NTPU-CSIE973NTUIBMB973NYUST97_MBA3RESIT3Sony-style3XBOX3Army-Sir2ASHS-95RN2CodeJob2CSMU-MED952DJ_fightman2Economics2EZsoft2GVOnline2KHCHS-93-3092KS93-3132KS97-3162KS_PMAC2LAW2Math2MEMS424_95th2movie2NCCU_SEED2NIU-ECE94b2NKFUST-CCE902NTHU_STAT942NTU-MJ2NTUCL-BASKET2NTUGIPO_PNSL2NTUT_MMRE862NTUT_MMRE932NUK_AC982NUK_TALK2Orzhong97cl2OverClocking2PLT2SCU_BM_VB2Storage_Zone2TWSU2AD_NCCU_VB1AGEC931Ancient1ASIA-uni1ask1ASM1b974060XX1BadmintnClub1Bunco1C_Sharp1CCSH_91_3151CCSHwindband1Chan_Mou1Christianity1CHSH_98_3011CJCU_HCA981ck49th3101ck56th3151ck58th3041ck58th3121ck59th3061ck61st3241ckbc1cksh84th3121CLHS-50-141clsh-Chung941CMU_BST011CMU_CM43A1CMU_Guitar421CMU_M491CPU_FC7811CSGirl_Group1CSMU-D951CSMU-HSA961CT24th3371CTSH963021DC1DirectSales1Disabled1DPP1DummyHistory1DYU1Employee1ESP1FCU-PF20061FCU_ECON_93B1FCU_ME_99C1FHSH-89-3161FiremanLife1FJU-EE-2004A1FJU-EE-2006B1FJU-EE-COMM1FJU-EE-PIPO1FJU-STAT91B1FJU-STAT95B1Gintama1Hate1HatePolitics1HCHS593051HCHS901151HCHS923131HCU1HLHS_10thU1HRM1HSNU_10081HSNU_10651HSNU_10851HSNU_10911HSNU_10981HSNU_11081HSNU_11091HSNU_11101HSNU_11261HSNU_11671HSNU_9751ILSH-943131ILSH-963131InitialD1KingdomHuang1KMT1kochikame1KOU1KS91-3051KS92-3061KS96-3051KS96-3111KS97-3081KS98-3021KUAS_5880321KUAS_ME94A1LTK1LTSH-963111MartialArts1medstudent1MenTalk1Militarylife1Miracle1Modchip1Mudran1Nantou1nb-shopping1NCCU05_GIDS1NCCU08_Math1NCCU_KungFu1NCCUPHY981NCKU_DAA-991NCU91Finance1NCU_MATH861NCU_ME-94B1NCUECON961NCUT1NCYU_Fst_991NDHU-AIPhy1NDHU-LF981NDHU-PA961NDHU-phy941NDHU-phy991NDMC-M1081NFU-MDE98A1NSYSU-Chem991NSYSU_EE95-11NTHU_COM6071NTNU-HisSB1NTOU-EBFS931NTPU-ACC-BMT1NTPU-CSIE981NTPU-IIM981NTU-K51NTUCB1NTUE-CS991NTUE-DC991NTUE-EPC-971NTUGIEE_AMTG1NTUHorti961NTUICPSC1NTUMEB951NTUMEB961NTUmed911NTUphy961NTUST-EE-A971NTUST-TX-B921NTUST-TX-B951NTUST_ME1NTUST_Talk1NTUT_EE490A1NUTN_SSSS1NUU-EO-97A1NUU_Talk1Odoko-juku1Olympics_ISG1paranormal1Paul_59-1T1PCCU-CS1Pisces1PSJH5-3051PTGSH96-3161PublicIssue1PushDoll1Road1RSSH94_3061SAN-YanYi1San-Ying1SCU_Law101B1SCU_Talk1SCUG1scutran_city1Seiya1SSSH-16th3131SSSH_17th3141Starbucks1StraightMH1TCFSH67th3011TFG08Music1THU-CHE961THU_BA20001TKU_EE_92C1TNFSH98th1Tokusatsu1Transport981TryingTimes1TTU-AFL1TTU-Transfer1TWproducts1UFO1VET_961viatording971VictoryYouth1Warfare1Wine1WuLing46-3171WuLing50-3031WuLing50-3041XiangSheng1You_out1YP94-3101Yup01-041Zastrology1<< 收起看板(310)
4F推:可以直接推去用XnView嗎....XD05/14 23:25
6F推:http://www.xnview.com/en/gfl.html05/14 23:27
7F→:XnView用的SDK, 看起來是支持多種圖檔格式load/save,05/14 23:28
8F→:只是, 好像~~沒有C/C++用的interfaceㄟ....@_@"05/14 23:28
6F推:作者冬陽?? 封面是綠灰和好像白還是什麼顏色的書?_?05/14 23:16
7F→:話說, 其實網路上的資源也有, Nehe Lesson 也不錯呀:D05/14 23:23
3F推:假設 float f; 用 ((unsigned char*)&f)[?] ?是0~305/14 15:57
4F→:就是強制取float的address出來, 再強制用char的指標去解05/14 15:58
5F→:釋這連續的4 byte, 就可以達到你要的效果.05/14 15:58
7F推:不過, 用union可以更簡單的達到你想要的.05/14 16:01
8F→:union BYTE4{ float f; unsigned char b[4]; };05/14 16:03
9F→:BYTE4 test; float資料用test.f存, 要byte的資料從05/14 16:03
10F→:test.b[0] ~ test.b[3]取; 同樣都要注意endian問題.05/14 16:03
11F→:話說, 應該不是boolean array, 是byte或char array吧@@05/14 16:04
2F推:這其實是用C++ object封裝的概念去操作OpenGL API, 所以05/13 22:51
3F→:這裡你看到的沒有一個是OpenGL的東西; 但是這是幫你抽象05/13 22:52
4F→:化程式, 方便你以OO的方式去控制scene裡的各別obj的變化05/13 22:52
5F→:與draw; Vec3或Matrix4x4這種東西也只是一些data的封裝,05/13 22:53
6F→:vec3概念上就是float x, y, z; 這樣子的東西:)05/13 22:53
12F推:OpenGL常用的RedBook與SuperBible, 或者一般的入門書,05/14 10:10
13F→:應該很少會直接給你像青蛙大這樣完整概念sample, 到應用05/14 10:11
14F→:級(比如直接教你寫遊戲之類的??)可能比較會有吧@_@"05/14 10:12
15F→:Nehe的入門lesson, 或者GLUT的sample有看過的也不記得有05/14 10:13
16F→:要像青蛙大這樣寫, 就看您自己習不習慣OO style囉, 確實05/14 10:18
17F→:青蛙大的方法處理Scene Obj是比較有系統的:)05/14 10:19
19F推:有心把數學算一算, 會比較知道transform後的結果是怎麼05/14 10:49
20F→:來的, 不然至少要知道該有的流程, 與transform的順序影05/14 10:50
21F→:響, 比如先translate在rotate, 與先rotate在translate就05/14 10:50
22F→:不會是一樣的; Vertex座標, 如何經過ModelView/Project05/14 10:50
23F→:等matrix轉換, 到最後ViewPort算screen/window位置的:)05/14 10:51
1F→:總覺得不那麼好懂, 直接從語意去解釋不好嗎?_?05/13 17:46
9F推:int num; int *ptr=# cout<<*ptr; // 這樣是可以的05/13 23:15
10F→:當然num最好先init一下, 這樣*ptr印num的值是可以的....05/13 23:16
11F→:你程式掛掉是寫出了怎樣的code??05/13 23:16
14F推:你是用VC嗎?? 看起來你的char應該沒有init.05/14 00:06
15F→:另外, num是char只有1 byte, *ptr這個dereference的動作05/14 00:07
16F→:卻需要4 byte(如果int是4 byte), 所以會解出什麼不知道05/14 00:07
17F→:當掉了也不奇怪~_~05/14 00:08
1F推:開一組變數: x, y, 在VK_UP時y+=5.0f; 以此類推....05/13 17:42
2F→:然後看你是要把xy用在壺1還是壺2, 直接translate(x, y,05/13 17:42
3F→:0) // 如果z不打算變化的話; 要控制壺1和壺2全憑你自己05/13 17:43
4F→:設計, 當然x, y也要先給適當的初值.05/13 17:43
5F→:另外, 你畫茶壺前都LoadIdentity又單獨translate固定常05/13 17:44
6F→:數, 基本上你再怎麼按茶壺都不會動吧?? 不然就是有相關05/13 17:44
7F→:的code你沒有貼上....05/13 17:45
12F推:不奇怪啊, 我上面不是說了, 你兩個壺都先對ModelView做05/13 17:54
13F→:LoadIdentity, 然後自己Translate常數, 這樣你在05/13 17:55
14F→:KeyDown裡下的translate就基本上沒作用(or不知道會做用05/13 17:55
15F→:在什麼鬼上XD) 所以我上面也推覺得你貼的code應該怎麼按05/13 17:56
16F→:都不會動....@_@"05/13 17:56
17F→:給你的簡單的方向改到一個會動一個不會動好了....05/13 17:57
19F→:宣告兩個global變數: float x=50.0f, y=50.0f;05/13 17:58
21F→:把畫茶壺1上面那個 glTranslatef(50.0f,50.0f,0.0f);05/13 17:58
22F→:改成 glTranslatef(x, y, 0.0f);05/13 17:59
23F→:然後KeyDown裡, 的translate全部拿掉....05/13 17:59
24F→:換成 if UP, y+=5.0f; else if DOWN, y-=5.0f;05/13 18:00
25F→:if LEFT, x+=5.0f, if RIGHT, x-=5.0f;05/13 18:00
26F→:(上面的if UP/DOWN等code請自己寫成正確的語法XD)05/13 18:01
27F→:然後應該就可以只對壺1做移動了....05/13 18:01
28F→:至於為什麼, code怎麼寫才會聽你的控制, 請自己比較05/13 18:02
29F→:BCB的example, 你改過的code, 我改過的code的差別....05/13 18:02
30F→:當然, 最好是能乖乖的找本書從頭慢慢學起, 如果你需要05/13 18:02
31F→:OpenGL當你的工具的話....:)05/13 18:02
36F推:我提供的改法只是讓你直接做到你想要的效果, 但是程式這05/13 22:56
37F→:樣寫效率比較差(不同obj都要重設所有需要的matrix), 而05/13 22:57
38F→:且draw obj或state也比較不好管理; 上面幫你改出來, 只05/13 22:58
39F→:是現階段改個你要的成果, 讓你去玩玩看, 順便看能不能了05/13 22:58
40F→:解GL API的使用, 與GL的運作; 真要弄懂, 還是找個教材從05/13 22:59
41F→:頭開始慢慢學習/練習吧:)05/13 22:59
7F推:我們以前計組老師教IEEE754的時候, 除了考試直接出題叫05/13 16:46
8F→:我們換算, 還要我們自己寫程式讀char string進來, 然後05/13 16:47
9F→:自己寫code ASCII=>Digit, 然後自己拼回IEEE754的float05/13 16:47
10F→:bit layout....Q_Q~05/13 16:47
11F→:另外, 原po的dA和dB似乎打反了....XD05/13 16:48
1F推:印象中是當作near plane上的l r b t沒錯....05/13 13:23
2F→:0~?的要求, Projection matrix加一個translate不行嗎??05/13 13:24
3F→:看起來你是不想改變原本是0~?的vertex data也不想在VS05/13 13:25
4F→:運算裡每個vertex都掛一次translate吧?? 不過基本上這05/13 13:26
6F→:個translate掛在ModelView計算也一樣, 除非你的MV05/13 13:26
7F→:matrix頻繁的改變, 而Project Matrix只會改變一次....05/13 13:26
8F推:對啊, 就像第二個茶壺一樣, 先translate 320,240啊....05/13 13:29
12F→:關於這點, 小弟剛補修比較完整的觀念在前篇回文推文處,05/13 13:42
13F→:也許您可以參考看看; GL裡的座標只是抽象的數值座標概念05/13 13:42
14F→:Modelview/Project matrix整套transformation在GL裡有它05/13 13:43
15F→:的意義與道理在, 但是化為計算, 就只是一堆matrix05/13 13:43
16F→:production, 就跟中學學平面座標轉幾度要怎麼乘matrix05/13 13:44
17F→:道理其實基本上是一樣的:)05/13 13:45
1F→:忽然覺得有必要修正自己的話, 所以補在推文下面好了....05/13 13:33
2F→:glFrustrum(或glOrtho)其實都只是依參數產生一個matrix05/13 13:34
3F→:並且multiply在current matrix上, 所以本質上其實和05/13 13:34
4F→:glTranslate()這種function是一模一樣的, 它只是產生一05/13 13:35
5F→:個transform matrix; 只是實務上通常會用在Projection05/13 13:35
6F→:matrix上, 然後照參數設定, 通常會產生決定ViewVolumn05/13 13:36
7F→:的最終計算結果, 因為經VS套入這些matrix的計算後會使得05/13 13:36
8F→:在ViewVolumn外的部份被clip掉; 同樣的它影響投影的結果05/13 13:37
9F→:也只是因為它常作用在Projection Matrix上, 其實拿來05/13 13:37
10F→:乘進Texture Matrix也可以達成一些特效的. 所以本質上05/13 13:38
11F→:都只是個matrix production, 只是應用在哪個matrix以產05/13 13:38
12F→:生什麼樣的效果. 而glFrustrum/glOrtho甚至05/13 13:39
13F→:gluPerspective這些function到底會產生什麼樣的matrix,05/13 13:39
14F→:這些都是可以查到/由數學上去計算出來的. 以上<(_ _)>05/13 13:40
12F推:十進位還是十六進位只有在顯示或你打字的時候有差,05/13 09:30
13F→:對電腦來說0x40就是64, 根本不用做什麼轉換....05/13 09:30
14F→:所以你要存的是*Payload?? 而且只要比前一個?? 那好像不05/13 09:31
15F→:用array, 開一個變數叫previous, 型態與 (*Payload) 相05/13 09:31
16F→:同即可; Ex: 假如Payload為int *, 那讀完Payload以後,05/13 09:32
17F→:previous = *Payload; 就存下來了, 之後在合適處比對就05/13 09:33
18F→:好. 當然, 先前 int previous = ??; // ??要給合適初值.05/13 09:33