• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Gattaca

            標題是記憶非常深刻的一部電影,《太空夢》,很好的勵志片。自己一個人在電視上看的,那種感覺現在還記得。

            2007年8月9日 #

            struts 加 velocity 解決 validate 不通過后,返回頁面無法保留值的問題

            自己也原創一下

            項目做了一段時間了,該做的都做了,可以休整幾天了。利用這幾天,看了看自己做的項目,發現一個問題,從頭到尾都沒有用 actionForm。呵呵。

            原因了也是因為以前一個從網上查到的讓大家都很頭疼的經典的問題,就是struts 的 actionForm 執行 validate 返回原來頁面后原來的值無法保存的問題。今天寫了個測試試了一下,發現 struts 并沒有變什么魔術。一切都是這么容易,這個問題根本不是 struts 的問題了。

            關鍵的地方在于, 頁面提交后 struts 會將表單的值填進 actionForm,然后執行 validate 方法,不通過就返回源頁面。 這時 表單對象是存放在 request 對象里的,與我們平時用的 request.setAttribute("xx")沒有任何區別,返回原頁面后這個對象當然還在 ,所以頁面可以用 request.getAttribute("xx") (“xx”是struts action 映射時的 name,如果配了 attribute 就是 attribute了), 得到之前填寫的值。

            我們的工程用 velocity ,更容易了,直接 $xx.fieldname ,搞定。
            所以,以后還是這樣用吧。

            posted @ 2007-08-09 11:04 Gattaca 閱讀(1476) | 評論 (3)編輯 收藏

            2007年8月7日 #

            powerpoint 寫作的經驗【瞎轉】

            做 演示文稿,一般說來還是ppt方便些,也很容易調整視覺布局和顯示效果。主要的方面,請參見別人寫的一篇《制作科研Slide的規范建議》,里面說的每一 點,都很值得注意,而且講述的很有條理。該文里面說的已經很全面、很詳細了,這里我只簡單說一下我自己體會比較明顯的地方,雖然跟該文有重復的地方。 presentation的前提,演示用的電腦能正常打開并演示你的ppt,雖然很少見,但是我也見過有人要開始講了,先倒騰10分鐘筆記本、重啟三遍 的,還有的自己制作的特效放不出來,插入的視頻播放不了的。另外需要注意自己用的一些特殊符號、公式、插圖(origin、visio等)在使用的電腦上 能正確顯示出來。

            首先,題目顏色、字體、大小要合適,作者、導師及工作單位要合適,首頁面上一般給出一定的單位圖標,顯得嚴謹而自然。題 目一般要取的短一些,短,說明主題鮮明、突出,也更有吸引力。整體的slide字體要足夠大,而且字體應該一致,顯得有條理,也給人比較完美、不花哨。淡 底深字,一般說來演示效果不錯。

            其次,每張slide上面最好有一個Title,確實讓人直接了解本頁的內容,而且,可以引導別人跟著自 己的講述思路,使得別人不胡亂思考你的頁面內容(有的人很喜歡鉆你的漏洞)。slide頁面中有需用強調的數字或文字,不妨換種醒目的顏色。頁面中用 item比較好,3~5個項目給人的感覺好些,寧可少寫字。一般只有聽不太懂的人,才會去一字一句的去看你寫的那些段落文字,所以頁面不要放過多的文字。 尤其是通篇都是文字的ppt,其實很惹人反感(除非你是純做理論計算的)。

            圖片的線條粗細要足夠,標簽和標度的文字、數字要足夠大,對比 襯度也要足夠,數據圖盡量把多條曲線用不同的顏色(畢竟是ppt而不是黑白paper)。位圖也要把圖弄得有點兒色彩,雖然是同樣的信息量,但是效果更 好。有問題的數據最好少些或者不標,否則,敏感的聽眾會問的。

            另外,自己的ppt里,盡量少引用別人的、參考文獻上的實驗數據或者圖片, 可能你自己覺得好像自己涉獵挺廣泛,但是真正聽的懂的人,會對此比較反感,除非是有直接聯系的令人信服的其他文獻,或者是非常綜述性或者有特色的。因為, 引用他人的理論數據,通常給人的感覺是你自己沒有這方面的能力,所以只會引用,至少也有偷懶之嫌;另外,那里面可能含有不在你掌握范圍內的其他東西,說不 定別人會就此提問。一般說來,我自己看到到從雜志上拷貝的那種模糊的圖片,也沒什么好感。
            中國振動聯盟|yo%y4W?_ Z'q+p[

            還有,為了使介紹的工作有條理性,一般都是從基 礎的切入點逐步講起,因此,如果工作比較全面的話,可以分成好幾個部分,在不同的部分之間,最好有個紐帶做聯系,比如設置一個提問(但是要有足夠的把握你 后面有能力把這個問題闡述清楚,否則就是自己找不自在),這樣顯得更漂亮。因為聽報告的人也會有一定的疑問,如果你把他們能想到的問題都講到了的話,他們 自然沒疑問了。而每個部分的關鍵地方,不如稍微使用一下動畫,比如說飛入或者漸強顯出,但一般不要用太夸張的動作特效,會讓人覺得這人有病。對于自己還沒 有思考清楚的問題,盡量少放或者不放,或者即使承認這個自己沒搞懂,也順便指出這個問題沒那么容易搞清楚,甚至于說“這個問題全世界其他人也都搞不明白, 即使有人號稱搞明白了,其實還是有問題的!”。事實上,大家都不是萬事通,都有自己不懂的東西,只不過你怎么表述自己和讓別人怎么樣感覺。有時候,“不 說”可能是個比較妥善而簡單的辦法,也沒什么丟人的。

            最后,感謝一下實驗當中給過幫助的同事,這個是禮貌,也給在座的同事一定的好感。另 外整個報告要收尾了,也調節一下學術氣氛,同時給別人一定的思考問題的時間。另外,我覺得可以少說或者不說下面要繼續做的實驗,不妨留到別人提問到的時候 再說,因為你自己先說出來下一步要繼續做什么的話,可能有些人會覺得:你現在的工作做的不全面?

            最最后,一點兒經驗,就是別緊張,大不了 說慢點兒(當然也別太慢)。如果中間有變態人插話提問,你又不想回答,就干脆說“這個我后面的幻燈會講的”,然后你就接著講就是了,其實過了兩分鐘可能別 人都忘了。回答提問的時候,注意兩種快捷鍵:一個是直接數字鍵然后回車,就直接全屏切換到了該頁面;另外一個是shift+F5,當你回到總覽的 powerpoint(普通模式)的時候,找到了需要的那張的時候,用這個鍵就切換全屏了(ppt比較傻,你雙擊左邊的瀏覽圖片,它也不會動作;你回車, 它就給你新加一張幻燈片!)。這些雖然簡單,但是很有效,而且省時間,另外,顯得你很熟練(一鍵搞定)。

            如果您的工作做的有內容,那么跟 silde的張數沒什么關系,只要把你的工作系統的講清楚了就行了。一般說來,給多少時間就講多少時間,太超或者太短都不好,除非是非常出色的內容,否則 的話,寧可講的時間短點兒,也別超時,聽報告的人其實也累。如果內容不多,你就是講的再多也沒用,真正聽的懂的人都明白,只是人家為難不為難你罷了。 ppt也就是個ppt,真正的學術,不是靠ppt做出來的。對于低年級同學,因為沒什么工作量,所以很難講出東西來,也都無所謂。“聞道有先后”,“士別 三日當刮目相看”也不是不常見,即使被別人鄙視,也不用在意。做工作總有量變到質變的時候,只要認真做,早晚都會出東西,這個屢見不鮮。

            posted @ 2007-08-07 12:02 Gattaca 閱讀(540) | 評論 (0)編輯 收藏

            2007年5月21日 #

            第2章 - 調色板, 游戲概念, 雙緩沖區等等(2)

            注:原文地址:http://scorpioncity.com/dj2.html

            3、一些你寫程序時必須知道的概念

             

            3.1 位圖和子圖形 

            位圖是一副圖片在計算機里被當作一個像素值的數組來存儲。這是個相當蹩腳的解釋。基本上可以是計算機上的任何圖片,通常是一塊由像素組成的矩形。子圖形是個和位圖一樣的東西,但是通常這個子圖形相關的位圖有透明區域(對于子圖形的精確定義在程序員之間也是相當不同的)。子圖形是游戲里一個相當重要的組成,有著超過一百萬次的使用。例如,你的鼠標光標就是一個合格的子圖形,DOOM里的怪物也是子圖形。面向你的那邊被編程為有透明區域的平面圖片(有點繞)。記住子圖形總是面對你,但并不是說怪獸總是面對你。不管怎樣,對位圖和子圖形的解釋應該足夠了,我想。

            3.2 雙緩沖區和頁翻轉 

            如果你的游戲直接繪圖到當前顯示器,當游戲直接繪圖到屏幕時用戶將注意到非常明顯的閃爍。解決方案是準備兩個圖像緩沖區,一個“前緩沖區”,一個“后緩沖區”。前緩沖區是用戶看到的那個,后緩沖區不是。你把所有的操作畫到后緩沖區,當完成繪制完屏幕的所有部分后,你復制后緩沖區的所有內容到前緩沖區。這就是雙緩沖區,事實上現在有好幾種雙緩沖區模式。
            通常有兩種方法來執行后緩沖區到前緩沖區的傳輸:復制或者頁翻轉。

            復制:后緩沖區的內容簡單的復制到前緩沖區。后緩沖區可以在系統內存或者其他顯存表面(這個不會翻譯了,應該是顯卡內存吧);
            頁翻轉:使用這種技巧,就不需要實際的復制操作。兩個緩沖區都必須在顯存中。為你游戲的每個框架輪流使用這兩個表面來繪圖。你總是繪圖到當前不可見的那個緩沖區,在框架繪制完成后,你指示硬件去把這個繪制好的緩沖區當成可見的,因此在每個框架中前緩沖區現在都是后緩沖區了。

            這個技巧會帶來一個問題“Tearing”。顯示器按照刷新頻率重畫屏幕上的圖片,通常大約每秒70次(70Hz)。一般的,按照從上到下的順序。這時問題出現了,當你使用上面的任何一種技巧指示硬件開始畫另一個東西時,顯示器只畫了一半的圖像。當你這么做時,下半截的屏幕使用的是新圖像,而上半截屏幕還是老圖像。這個效果就叫做“Tearing”,或者“切斷”。有個已有的解決方案,無論如何,你的頁面翻轉有可能與屏幕刷新的結束很好的配合起來。(fixme:我想DirectDraw以及替你處理這個了,檢查一下)。

            4、 剪切和DirectDraw剪切器

             

            剪切是一種技術,指預防繪圖操作超出到屏幕外邊或者超出一個矩形區域比如窗口。如果不執行這個,通常的結果用最好的詞來描述就是一團糟(這句是瞎譯的)。在DirectDraw里,例如,當使用窗口模式時,window會給DirectDraw一個它想要的正確的屏幕區域。無論如何,一個行為良好的DirectDraw程序應該只畫屬于自己的窗口。DriectX有一個對象叫做剪切器可以被加到DirectDraw表面來預防畫到窗口外面。

            5、DirectDraw表面

             

            DirectDraw使用“表面”去訪問一段內存,無論是系統內存還是顯存,內存段通常用來存儲位圖,紋理圖,子圖形,屏幕或窗口的當前內容。
            DirectDraw也支持“覆蓋”,一個特殊類型的子圖形,一個“覆蓋”通常是屏幕上將被覆蓋的包含透明位圖的內存段。例如,一個賽車游戲可能對駕駛區域和窗口邊框使用覆蓋。
            在有些情況下DirectDraw表面使用的內存可能被丟棄,因為DirectDraw和GDI共享資源。你的程序需要規律的檢查看這個是否發生,如果被丟棄那就要恢復表面。

            6、DirectX返回值和錯誤檢查

             

            所有的DirectX函數返回HRESULT作為錯誤碼。自從DirectX對象基于COM體系后,正確的方法檢查DirectX函數失敗是使用宏 SUCCEEDED() 和 FAILED() ,用HRESULT做參數。并不是檢查一個if就夠了,例如,有的DirectDraw函數返回HRESULT等于DD_OK,但COM對象可能會有多種表示正確的返回值,你的代碼有可能還會正確工作,但是這個是錯誤的方法。

            有些事情需要引起注意,有寫DirectX函數執行成功后會返回失敗碼。例如,當你僅詢問數據大小的時候,IDirectPlay::GetPlayerData將返回DPERR_BUFFERTOOSMALL。This behaviour isn't documented either, which is incredibly frustrating. There aren't many of these, but be on the lookout.

            7、DirectX調試


            當你安裝DirectX SDK是有個選擇安裝零售版庫還是調試版的。調試版會診斷信息OutputDebugString到你的調試器,這個會很有用。無論如何,這個會降低很多速度。如果你只是想玩游戲,那就選擇零售版的庫,如果你主要做游戲開發,而且你有足夠快的機器,安裝調試版本。

             

            posted @ 2007-05-21 11:33 Gattaca 閱讀(767) | 評論 (0)編輯 收藏

            2007年5月18日 #

            第2章 - 調色板, 游戲概念, 雙緩沖區等等

            注:原文地址:http://scorpioncity.com/dj2.html


            1、圖像模式

             

            按照用多少位來存儲屏幕上的一個像素,有好多種屏幕模式。使用更多的位,就能顯示更多的顏色,但會占用更多的顯存。
            • 1、2、4、8位 “indexed”模式(8位就是通常所說的"256色");
            • 16位(64K色)“high-color” 模式;
            • 24位(16.7M色)“真彩色”模式;
            • 32位 RGBA 模式,前三個字節和24位真彩色模式一樣,第4個字節用做“alpha-channel”,即透明度。
            這些模式都是可用的。下面說一下分辨率:
            • 320x200
            • 320x240
            • 640x400
            • 640x480
            • 800x600
            • 1024x768
            • 1280x1024
            • 1600x1200
            現在比較常用的是640x480(好像年代比較久遠了這篇文章,我覺得1024x768應該比較常用吧)
            顯示器通常是3/4的縱橫比,所以沿著高的那個邊擁有的像素點應該是寬的那個的3/4,這樣像素點的長寬比就是1,所以像素點就是正方形,也就是說100個像素在一個方向上的物理長度和另一個方向上的相當。但是320x200不是這樣子滴,實際上它的像素點是稍顯瘦高一點的。

            2、顏色原理


            有好多種表示顏色的方法,即“顏色模型”,比較常見的一個是“RGB”,幾乎所有可見的顏色都可以用紅、綠、藍三種顏色按照各種比例組合生成。通常會用三個字節來存儲顏色,每位表示一個主色的強度,從0到255。比如純的亮紅色就是#ff0000,紫色是#ff00ff,灰色是#969696,等等。
            下面是一些可以用來表示顏色的c代碼:

             

            struct SColor
            {
                
            int r;
                
            int g;
                
            int b;
            }
            ;

            SColor make_rgb( 
            int r, int g, int b )
            {
                SColor ret;
                ret.r 
            = r;
                ret.g 
            = g;
                ret.b 
            = b;
                
            return ret;
            }


            或者你可能用一個無符號32位整型來儲存RGB顏色,0-7位存藍色,8-15位綠色等等。

            typedef unsigned int rgb_color;

            #define MAKE_RGB(r,g,b) ( ((r) 
            << 16| ((g) << 8| (b) )


            當然還有其他的顏色模型,比如HSV(Hue 色調, Saturation 飽和度, Luminance 亮度),但我不打算涉及它。

            2.1 High-color和true-color模式



            在這兩種模式下,屏幕像素按照他們相應的RGB值存儲到顯存里。比如,如果屏幕左上角的像素點是綠色,那么在true-color模式下,顯存里前三個字節就是0,255,0。而在high-color模式下,對應的RGB值分別用5、6、5位來存儲,即前5位紅色,接下來6位綠色,然后5位藍色,所以在這個模式下顯存對應的就是兩個字節,二進制表示就是 00000111 11100000。

             

            2.2 基于調色板或者indexed模式


            Indexed模式使用一個“look up table”(LUT)的原理,即顏色查看表,通常這種模式使用8位圖像模式,即256色,屏幕上的每個像素都用一個字節來表示,所以每次只能顯示256 種顏色,所以這256種顏色就按照每種3個字節存到LUT里,顯卡每次就按照LUT里的值確定要顯示的顏色。
            用Indexed模式創建一個程序是非常痛苦的,尤其是搞圖像藝術的,但使用Indexed模式還是有一些優勢的:

                * 需要很少的內存
                * 運行會更快,因為需要傳輸的字節變少了
                * 一些有趣的“調色板動畫”技巧,在其他模式下很難完成的在Indexed模式下簡直太容易了。你可以只改變LUT里的值去改變屏幕顏色,而不需要改變內存里每個像素對應的值。例如,一個淡出效果可以改變LUT里的RGB值到0來實現。
                * 當你有一個紋理需要很多內存的時候,有些3D加速器支持Indexed模式的紋理。

            2.3 ModeX


            ModeX是一個特殊的 VGA 256色模式,這種模式下顯存的內容會按照一個稍微復雜點planar(二維)格式。這個模式下的分辨率可以非常高,DirectDraw知道如何寫 ModeX表面,但是windows GDI并不會,所以當你混合這兩種不同類型表面的時候要小心。當設置DirectDraw全屏模式時可以選擇是否允許DirectDraw創建ModeX 表面。這些日子里你可能想避開ModeX。

             

            2.4 Pitch/Stride


            雖然屏幕分辨率可能是640x480x32,但這并不是說每行像素會占用640x4個字節的顯存。因為速度上的原因,顯卡存儲的這些表面寬度經常比他們邏輯上要寬。例如,最大支持1024x768的顯卡可能會把所有從320x200到1024x768的模式內部實現為1024x768模式,所以表面的右邊會留下空白(呵呵,默認左對齊),這個分配給表面實際的寬度就稱為表面的Pitch(或者Stride),知道表面的Pitch是非常重要的,不管它是一個2D DirectDraw 表面還是紋理貼圖,可以使用 DirectDraw 查詢表面的Pitch。

            3、一些游戲概念你需要知道

            下班了,以后繼續。。。

            posted @ 2007-05-18 16:18 Gattaca 閱讀(679) | 評論 (1)編輯 收藏

            從這里開始一個新的世界

            博客從今天開始更新了,之所以選擇博客,是因為自己雖然是很早就知道博客的,但是現在才開始接受它,好像自己就像c++一樣的固執。
            c++的博客也符合自己的習慣,并且技術上雖然現在做java很多,但是c++還是割舍不下,國內也都比較浮躁一點,肯用心做事的不多,總在跟著國外的腳步。希望自己能把博客寫好一點,讓喜歡c++的人都能學到一點東西,真正的扎扎實實的打好基礎。
            最初的想法是翻譯一些DirectX方面的比較好的文章,以后會寫一些其他方面的東西。不定期更新吧。

            posted @ 2007-05-18 08:55 Gattaca 閱讀(209) | 評論 (0)編輯 收藏

            僅列出標題  
            国产69精品久久久久观看软件| 久久久久亚洲精品天堂久久久久久| 亚洲国产婷婷香蕉久久久久久 | 久久天天婷婷五月俺也去| 亚洲精品国产自在久久| 国产成人精品综合久久久久 | 777久久精品一区二区三区无码| 99久久99久久精品国产片果冻| 久久久久久毛片免费看| 久久精品国产亚洲AV忘忧草18| 久久国产精品国产自线拍免费| 久久久精品日本一区二区三区| 亚洲国产精品一区二区久久hs| 久久香蕉国产线看观看99| 一级a性色生活片久久无| 久久精品国产只有精品2020| 久久综合久久综合亚洲| 久久―日本道色综合久久| 国内精品综合久久久40p| 国产一区二区精品久久岳| 亚洲AV乱码久久精品蜜桃| 久久精品无码免费不卡| 国产亚洲欧美成人久久片| 色播久久人人爽人人爽人人片AV| 久久精品这里热有精品| 久久这里只有精品18| 亚洲精品97久久中文字幕无码| 97久久精品人人做人人爽| 久久久久女人精品毛片| 精品久久久无码人妻中文字幕| 久久久免费观成人影院| 国产成人久久777777| 久久综合久久综合久久综合| 久久国产免费观看精品3| 久久久久99精品成人片试看 | 久久91精品国产91久久小草| 伊人久久大香线蕉亚洲| 日韩人妻无码一区二区三区久久99| 久久一区二区三区99| 欧美久久一区二区三区| 久久久精品久久久久久|