Time of Update: 2018-12-06
I took many days to try to understand anything about Quaternion but got no result. The resaon why I paied out so much on quaternion is that, I'm trying to write a better camera system which is to added to my Cuby Projectcan. It should be able to
Time of Update: 2018-12-06
The first step I want to realize in my camera system using Quaternion is to bulid a Quaternion according to the camera eye "look at" some a certain deriction. Just Say, we know at beginning the "front vector" of the camera points to (0,0,-1) (in
Time of Update: 2018-12-06
Windows圖形編程最先遇到的就是WNDCLASS(EX)結構和CreateWindow(Ex)函數,都有一堆東西要記。雖然有IDE可以自動產生一個模板,或者有智能提示,我還是喜歡自己寫,我喜歡從底層把握一切細節。Windows的編程其實很簡潔的,函數名稱也比較直觀,就是有一些大的結構或函數很難記(極少數),例如Direct3D就要用D3DPRESENT_PARAMETERS,建立字型的LOGFONT結構等。不過用多了也就熟悉了,而且這些結構一般都有些規律。其實WNDCLASS結構還比較好記,
Time of Update: 2018-12-06
a. 這是一篇講解四元數原理的論文翻譯,原文參見 這裡。b. 在此之前在網路上找過很多資料,但基本都是結論性的介紹,並未對”為什麼“進行深入全面的解釋。因此在看完本文並消化理解了以後,我決定將其翻譯出來,一方面作為知識總結,一方面為相似境遇的朋友提供協助。c. 但並不是說這篇翻譯就沒什麼錯誤。尤其是在介紹四元數曆史的那節,由於缺少必要的數學涵養,我不自信是否翻得正確,還請各位朋友幫忙校準。另外由於英文水準有限,許多地方翻得比較生硬,望請諸位海涵。d. 文中( 注: ... )
Time of Update: 2018-12-06
原創,轉載請註明出處。Copyright (c) 2011DingMaotu (http://blog.163.com/dingmaotu@126/)1. 簡介Fltk是一個輕量級的C++介面庫,庫如其名,全稱是Fast Light
Time of Update: 2018-12-06
對應於Windows下的interlocked系列:type __sync_fetch_and_add (type *ptr, type value, ...)type __sync_fetch_and_sub (type *ptr, type value, ...)type __sync_fetch_and_or (type *ptr, type value, ...)type __sync_fetch_and_and (type *ptr, type value, ...)type
Time of Update: 2018-12-06
Ogre3D官方於上個月末放出了1.7的穩定版本。據稱該版本與舊版1.6x比起來,改動幅度較大。因此作為一名Ogre使用使用者,“與時俱進”既是我的責任,又是變被動為主動的上乘戰略。於是,學習新的Ogre系統成為我計劃中的一部分。
Time of Update: 2018-12-06
本文是我於兩年前隨手(其實是很用心)寫的一篇小眾遊戲賞析,記錄在豆瓣日誌上。因為最近打算再寫一篇最近玩到的讓我心動的遊戲賞析,遂先將之前舊文貼出來熱熱身~ Lylian: Episode One - Paranoid Friendship (《莉莉安:第一章 - 偏執的友誼》)
Time of Update: 2018-12-06
一段shell指令碼,放在linux中運行,會自動枚舉/bin、/usr/bin等目錄下的所有可執行檔,然後尋找man產生html的說明文檔。產生的文檔包中index.html是目錄。這包文檔可以用在無man而又想使用unix tools的時候,如在windows下玩grep。#! /bin/bashhelpDir=man_pagesmain_file=./$helpDir/index.htmlcmds=`{for j in ${PATH//:/ }do ls $j
Time of Update: 2018-12-06
最近重溫Swing,嘗試了以前沒試過的事情。大家可能都知道,J字頭的組件(JComponent)都是awt.Container的子類,所以理論上所有的JComponent都可以當作容器來用,比如說JButton或者JMenuItem可以包含一個文字框。以前一直以為這隻是概念上的,從來沒有試過,如今嘗試一下,發現真的可以,有圖為證:圖上的菜單中含有個文字框,最下面是個按鈕,也有一個文字框,可以正常使用。需要注意的是菜單一定要顯式指定大小,否則很可能看不到文字框:JMenuItem
Time of Update: 2018-12-06
免責聲明:速記,真的是速記。用自己的理解把最近一周習得的知識梳理一遍。觀者自斟。歡迎批評。 在作業系統層面。最近項目組分配給我一個業務需求,簡單說就是在loading大檔案之前,能先查閱一下當前記憶體的使用量,以及結合待loading檔案有限的資訊做一個大致評估,看看會不會改檔案會把記憶體搞crash。為了應付這個差事,順道瞭解了一點點OS底層的記憶體管理知識。記憶體分頁(memory
Time of Update: 2018-12-06
Time of Update: 2018-12-06
文章目錄 類似的案例 :mallopt() 與 malloc_trim(0)由此想到的一些經驗之談
Time of Update: 2018-12-06
最近用一些淘汰的機器搭建計算叢集,使用openSUSE。主節點當作各種伺服器,當然也是叢集網路的網關。為了能讓叢集裡面的機器也上網,openSUSE要做一些設定。網上找了很多資料,一直沒有成功,很多人說只要開啟ip forwarding就行了,實際上,如果沒有防火牆(iptables),這樣也就可以了。但是SUSE預設都是開啟防火牆的,而且做一個叢集,不用防火牆,放心嗎?所以關鍵的設定都在防火牆裡面。比如設定兩塊網卡,哪個是external,哪個是internal,啟用masquerating,
Time of Update: 2018-12-06
想在目前的目錄及子目錄的.cpp檔案中搜尋索引鍵char,鍵入:grep -R char *.cpp失敗。找了很久原因,發現這樣一個事實:-R選項的確會進入子目錄遞迴匹配,但前提是,子目錄名稱也必須滿足*.cpp的命名規則,也就是說,對於如下目錄層次應用上面的命令:./1.cpp./2.cpp./dir.cpp/3.cpp./dir/4.cpp其中./dir/4.cpp由於目錄名稱不滿足*.cpp的命名規則,4.cpp這個檔案是不會參與匹配的... 正確的方案得引入管道:find -type
Time of Update: 2018-12-06
好久沒寫部落格了。最近在重構代碼,碰到了很多了有意義的問題,在此和大家分享。大家知道,在使用非同步IO或者大量多線程代碼時,總會碰到同步問題,例如在其他線程調用Winform的Control相關代碼,就會導致異常。最近發現NAudio的WaveIn和WaveOut居然也需要使用UI線程的訊息結構才能正常工作,他們會在後台建立不可見視窗。如果你在Socket的非同步IO回調中直接調用Wave系列的方法,則會異常或者沒有任何反應。(BeginXXX系列等非同步方法呼叫的回調是線上程池中某個線程中調用
Time of Update: 2018-12-06
CCRenderTexture自己的理解CCRenderTexture類似一張空白的“畫布“,使用者通過自訂手寫筆刷(CCSprite*),在touch事件中把筆刷的移動痕迹“記錄”起來,從而“畫”出各種美術效果。記錄方法很簡單,首先CCRenderTexture調用自己的begin()函數,開啟“記錄”功能,然後調用筆刷->visit()把自己”畫“在這張畫布上,最後CCRenderTexture調用end()結束記錄,那就OK了。這裡我想CCRenderTexture是通過把筆刷的紋理
Time of Update: 2018-12-06
我想下載Taylor Swift的Safe And Sound(MP3),搜了半天終於在SongTaste找到了,當我點擊下載,它告訴我必須安裝“多米播放器”才能下載(真是**行徑)。當然我還是要點擊下載,於是我在地址欄出現了如下地址:duomi://t=o&ac=d&u=http://media6.songtaste.com/201202270702/d35b818d85aedef5be99a4db21fe92d1/6/64/6456e46b3226af1ac01ec73b58
Time of Update: 2018-12-06
我在這裡記錄一下對GNU make處理makefile這個過程的思考: 1. 執行make命令後,GNU make掃描整個makefile,將其中出現的變數賦值和目標依賴關聯性記錄到資料庫(就是make解析makefile得到的所有資料集合,用make -p查看)中,其中每個變數記錄變數名及其字面值(用$(value)可以查看,即如myVar = $(CFLAG)的字面值就是$(CFLAG),暫不進行展開)。這個過程中對$所標記的變數或函數不進行任何展開,除非遇到幾種特殊情況(後文提到)。
Time of Update: 2018-12-06
最近在寫一個音頻通訊的系統,因為需要還要處理其他事件,所以就自己設計底層的通訊協定,用了不少底層的Socket編程(.Net