3D遊戲基礎 Direct3D(二) D3D初始化

註:後續D3D的講解,均基於C++進行。在解釋D3D初始化之前,先介紹一下幾個先導概念。1、D3D的SDK向開發人員提供兩種裝置類型:參考裝置(Reference Device or REF) 和  硬體抽象層裝置(Hardware Abstract Layer or HAL)。這兩種裝置的區別在於:

XFX9500GT & TRUCK SIMULATION & CUDA

各位,中秋剛過,給大家拜個晚年:)。閑話少說。中秋前日,去電腦城買了一塊9500GT,XFX的,聽網上的朋友們說XFX做工不錯,再加上我的主要目的不是玩遊戲,所以就買了它。JS開始死活要500以上,結果在俺老婆一通狂砍之下,最終以480成交。JS最後很是鬱悶,叮囑我以後一定要常來照顧生意,我一邊含笑應付,一邊心裡暗罵:宰我未遂還想我再來?其實機器裡的整合顯卡對於平時應用來說已經夠用(780G),前段時間看了一下NVIDIA的通用計算開發包,覺得滿好玩,就想來試一下。如果cuda真的好用,我想我們

VG Conformance Test,Khronos的大殺器!

。。。。。。我昨天寫的草稿呢?上哪裡去了??算了,天災怨天,人禍責己,丟了就丟了吧。書接昨晚——好象是寫到自己太懶,很少寫東西,然後還打算瞧不起一下“是個人就出書”的世道來著,然後就存草稿,把草稿弄丟了——今天的工作真的是很充實,因為新的任務是搞定VG11的Conformance Test。哎,正式做VG也有一年了,從第一次看到老虎頭時的興奮,和其後與khronos的Conformance

3D遊戲基礎 空間幾何(二) 向量運算

與向量相關的運算包括:向量相等,向量長度(模),向量正常化,向量加減,向量縮放,點乘,叉乘。向量相等:需同時滿足兩個條件, 維數相同 和 對應分量相同。如: Ux = Vx, Uy=Vy, Uz=Vz 則, (Ux, Uy, Uz) == (Vx, Vy, Vz) 向量長度(用絕對值符號括上):得到的結果是響亮的長度,是一個標量|U| = SQR(Ux*Ux + Uy*Uy + Uz*Uz) 向量正常化:這個過程的意義就是將向量的長度變為單位長度

3D遊戲基礎 空間幾何(三) 變換、平面、射線

因為內容都不多,所以把變換 與平面、射線  合在一起說。變換包含:平移、旋轉和縮放。 我們可以對座標進行所有的三種變換操作;而對於向量,則只能做 旋轉 和 縮放,因為向量不包含位置資訊,所以對他做平移變化是無意義的。每一種變換,都有對應的變換矩陣,用向量或座標乘以變換矩陣,即可對它們完成變換。變換矩陣之間,也可以做乘法疊加,疊加的幾何意義是把變換按疊加的先後順序複合到一個矩陣中去,注意矩陣疊加不滿足交換律。變換矩陣是一個4 x 4的矩陣,所以向量和座標需要擴充到齊次空間中。向量:(x, y,

3D遊戲基礎 Direct3D(三) 固定管線之變換

在前面的章節已經說到過,在固定管線中,第一步動作便是對圖元做座標變換。所謂圖元(primtive),就是一堆頂點,這些頂點構成了特定的幾何形狀,這就叫做圖元。所以,我們做變換的對象說到底,就是頂點。在固定管線中,變換分成2個步驟:       局部座標繫到全局座標系 和 

3D遊戲基礎 Direct3D(一) D3D基本概念及渲染流水線簡介

終於,在前3篇文章裡面聊完了基本的空間幾何概念,現在可以說到實際的東西了。一直以來,都希望用最淺顯易懂的語言,把我對3D的一些瞭解記錄下來,作為一個系列的科普文章,供大家消遣時看看。大約十年以前,我擁有了第一台電腦,不久見識到了3D遊戲的魅力。聽說了OpenGL,再後來又聽說了微軟的DirectX 3D(簡稱

硬體加速CoolUI 1.0—【狀態更新,新功能增加】

目前已經開始針對第一版本OVG加速的版本進行了最佳化,同時增加了一些新功能:1)增加了視頻支援;考慮到未來UI設計中使用者可能使用視頻檔案增加效果,在新的OVG版本中增加了視頻功能;2)增加了外部API介面(External API);沒什麼原因,注意到ScaleForm有這樣的功能,因此增加了External API;代碼已經完成,但沒有測試 ----- 寫測試代碼確實不是我的長項;3)代碼大小有些增加,當前PC的Release代碼大小大約376KBytes -----

3D遊戲基礎 Direct3D(四) 固定管線繪製圖元

什麼是圖元?Primitive說白了,就是一堆頂點集合。這些頂點描述了一個3維圖形。 由3d max產出的模型,其實,就是一組圖元,加上相關的光照、材質 等等屬性 構成的。通常,在D3D和OpenGL中,圖元都由兩個數組(或者叫buffer)來表示,一個叫頂點數組(vertex buffer ),一個叫索引數組(index buffer)。Vertex buffer: 用來存放頂點的具體座標未經處理資料的;Index buffer: 用來存放各個圖元頂點的索引號的,索引號匹配Vertex

硬體加速 CoolUI 1.0 —– 【再接再厲】

 原計劃9月底為大家提供一個可以在PC上運行支援硬體加速的CoolUI(FlashPlayer 8二次開發包)的承諾要食言了,原因有幾個:1.一直沒有找到PC上合適的OpenVG實現;之前使用的是一個網上找到OpenVG實現,但效能一直不是很好,這一個月來嘗試使用AmanithVG,結果問題仍是一大堆 ----- 其中裝置字型的支援是一個很頭痛的問題;2.在這兩個月來,每天都很辛苦的偵錯工具:沒有周末、沒有周日,每天晚上甚至要到2~3點才能結束工作;問題仍不少:系統的穩定性、有些顯示(Mask)

3D遊戲基礎 Direct3D(五) 固定管線之”光”(1):光的分類與材質

 書接上回,說完了繪製(其實繪製說的很簡略,有空再補上吧),現在就該聊一聊光照了。因為光照比前面的繪製有趣些,所以就多說幾句吧。:)在D3D中(當然,OpenGL也如此),光被分成三種類型:環境光線(Ambient),漫射光(Diffuse),鏡面光(Specular),這三種光可以同時混合使用,也可使用其中某一種或幾種光。值得注意的是,鏡面光在預設情況下是不會被D3D計算的,只有你將相應的繪製狀態設定為true之後,才會做鏡面光計算

硬體加速 CoolUI 1.0 —- 【試用版本】

原來的FlashPlayer 8是針對硬體加速(OpenVG),遺憾的是在PC平台上一直沒有找到一個穩定的OpenVG庫,準備自己寫一個PC版本的OVG,時間上又不允許,於是臨時修改了一個軟體渲染版本;嚴格說,這還不算一個合適的使用版本,原計劃的CoolUI的最終版本應該是一個完全的“傻瓜”式的IDE環境,至少應該是一個可以使用的二次開發包,CoolUI的核心技術實際就是一個基於FlashPlayer,而其外殼設計事實上並不是痛點,考慮到下一個版本因為要進行版本的更新,開發週期可能會很長,所以,

關於FlashPlayer的最新版本【3】—-之效能測試

幾個主要的Bug基本已經修正了:裝置字型、滑鼠監聽;和IE8、早先的我自己寫的FlashPlayer6及當前進行中的FlashPlayer 8,對比測試了一下效能,螢幕如下:【早先我的小作FlashPlayer 6(----況且叫做gingkoPlayer)版本的效能測試】-----------------------------------------------------------------------------------------------------------------

用命令列設定自己家的ADSL Modem

今天才知道原來我的小ADSL Modem也可以Telnet啊。。。ISP給我的是款很破的,Alcatel ADSL Home Plusplus 500。在命令列Telnet自己的ADSL

硬體加速的CoolUI 1.0 【狀況更新,功能測試】

前言:CoolUI是基於FlashPlayer技術的跨平台UI解決方案,其設計目標是仿效 ScaleForm:為使用者提供基於SWF絢麗效果的UI設計方法;其目標是以更低的實現成本在更廣泛的平台上提供絢麗專業的UI實現;從目前的版本起正式啟用內部名稱CoolUI(正式名稱在Release再確定)前兩天剛進行完一輪ATS測試,新的硬體加速版本FlashPlayer 8在自動化的測試表現的相容性相當不錯,但在手動測試時發現了不少問題,尤其是渲染部分問題比較多 ----

網路基礎概念

1. 電路交換:連線導向, 2. 封包交換,採用儲存轉寄技術,特徵基於標記 3. 頻寬,類比通道單位HZ, 資料通道b/s 4. 輸送量:每秒發送的位元數 5. 發送時延 = 資料區塊長度/通道頻寬 6. 傳播時延= 通道長度 / 電磁波在通道上的傳播速率 7. 總時延 = 傳播時延 + 發送時延 + 處理時延 8. 提高鏈路頻寬只是減少資料的發送時延 9. 調製 :資料訊號轉類比訊號;    解調 :類比訊號轉資料訊號10. windows 查看MTU命令netsh interface

FPGA+CPU:平行處理大行其道

早上偶然看到的兩篇文章,因為即將開始下一版本CoolUI的開發,為了不分心,原打算在下一版本完成前不再更新Blog,但確實非常喜歡這樣的文章 ----

硬體加速CoolUI 1.0—【狀態更新,CodeSize】

前言:CoolUI是基於FlashPlayer技術的跨平台UI解決方案,其設計目標是仿效 ScaleForm:為使用者提供基於SWF絢麗效果的UI設計方法;其目標是以更低的實現成本在更廣泛的平台上提供絢麗專業的UI實現;從目前的版本起正式啟用內部名稱CoolUI(正式名稱在Release再確定)目前的版本的PC Release版本的CodeSize已經壓縮到347KBytes,改用OVG渲染後,代碼大小是減少了不少,但因為FlashPlayer

讓你的VC程式支援Unicode

在我們要用到Unicode字元集的時候,己有的所有和這符串相關的操作全部都複雜起來,有些函數變得不能用了。不過VC本身就支援Unicode的,這就省了不少的事情。我們常用的CString實際上是兩個類型CStringA和CStringW,它們分別對應ANSI字元集和寬字元集。再如我們常用的MessageBox也有MessageBoxA和MessageBoxW兩個版本。讓VC程式支援Unicode要先做幾項工作。1。定義_UNICODE2。設定程式進入點3。使用TCHAR一。在沒有定義_UNICO

NetBeans 手動添加組件

re:要求:一個JButton,一個JPanel,當我們點擊JButton時,JPanel裡添加一個JButton或者其他組件。自己使用純程式碼寫的時候,在JButton的MousePressed()函數裡,使用JPanel的add()函數添加組件,最後使用validate()使得JPanel更新後的布局有效,可以實現。但是,使用netBeans製作介面,然後在JButton的MousePressed()函數內,使用同樣的方法,JPanel裡無法出現JButton。。。不知什麼錯誤。。。望高手解

總頁數: 61357 1 .... 8642 8643 8644 8645 8646 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.