Time of Update: 2018-12-04
提要 在上一篇文章中,我們介紹了簡單的Shading,同時提出了一個光照模型,類比了一個點光源,但是,關於光的故事還沒有結束... 今天要學習的是方向光源(Directional Light),聚光燈,per pixel shading,halfway vector。 關於光源的原理及數學描述,請參考:光線追蹤(RayTracing)演算法理論與實踐(三)光照方向光源 方向光源就兩個參數,方向和強度。 還是簡單的 ambient +
Time of Update: 2018-12-04
1、大於2個單詞則採用縮寫規則,否則不用縮寫。2、縮寫的規則採用國際慣用方法:母音字母剔除法,首字母除外。使用單詞的頭一個或幾個字母。組合單詞使用如下規則:3、使用變數名中每個有典型意義的單詞。如Count of Failure寫成FailCnt。4、去掉無用的單詞尾碼 ing, ed等。如Paging
Time of Update: 2018-12-04
CDC::SetMapMode virtual int SetMapMode( int nMapMode
Time of Update: 2018-12-04
提要渲染管線是即時渲染中最重要的部分,它的最主要的任務就是在給定一個虛擬情境,包括相機,object,燈光,紋理等等,產生一副2D的映像。最基礎的渲染管線如所示:主要的階段包括三個:Application,Geometry,Rasterizer,每個階段都可能分成更小的管線,有些小的階段會並存執行。下面來一個個討論。The Application
Time of Update: 2018-12-04
旋轉的風車-VC++執行個體代碼(Win32應用程式)//來源程式如下#include <windows.h>#include <stdlib.h>#include <string.h>#include <math.h>#define PI 3.1415926int nNum=0,nMaxNum=20;LRESULT CALLBACK WindowProc(HWND hwnd, // handle to windowUINT uMsg,
Time of Update: 2018-12-04
三個SDK函數: WinExec,ShellExecute ,CreateProcess可以實現調用其他程式的要求,其中以WinExec最為簡單,ShellExecute比WinExec靈活一些,CreateProcess最為複雜。 WinExec 兩個參數,前一個指定路徑,後一個指定顯示方式。 ShellExecute 可以指定工作目錄,並且還可以尋找檔案的關聯直接開啟不用載入與檔案關聯的應用程式,ShellExecute還可以開啟網頁,啟動相應的郵件關聯發送郵件等等。 Cr
Time of Update: 2018-12-04
OpenSceneGraph是一款高效能的3D圖形開發庫。廣泛應用在可視化模擬、遊戲、虛擬現實、高端技術研發以及建模等領域。使用標準的C++和OpenGL編寫而成,可以運行在Windows系列、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX以及FreeBSD作業系統。官網 - http://www.openscenegraph.org/ 這裡採用的是手動編譯最新版的OSG。 環境:Ubuntu12.04 gcc4.6
Time of Update: 2018-12-04
以下未經說明,listctrl預設view 風格為report1. CListCtrl 風格 LVS_ICON: 為每個item顯示大表徵圖 LVS_SMALLICON: 為每個item顯示小表徵圖 LVS_LIST: 顯示一列帶有小表徵圖的item LVS_REPORT: 顯示item詳細資料 直觀的理解:windows資源管理員,“查看”標籤下的“大表徵圖,小表徵圖,列表,詳細資料”2. 設定listctrl 風格及擴充風格
Time of Update: 2018-12-04
in out 對於 vertex shader,每個頂點都會包含一次,它的主要工作時處理關於定點的資料,然後把結果傳遞到管線的下個階段。 以前版本的GLSL,資料會通過一些內建變數,比如gl_Vertex和gl_Normal,但現在,通常時使用通用頂點屬性( generic vertex attributes)來提供,通常和一個Buffer object 想關聯。對於程式員來說,現在可以自由去定義一些頂點的屬性集來提供輸入,只要在開頭的時候用in關鍵字來聲明就可以了。
Time of Update: 2018-12-04
提要3d模型的匯入是遊戲開發中比較基礎的部分了,這裡通過jpct這個遊戲引擎來載入的,實現起來比較簡單。jpct簡介jPCT是一款基於OpenGL技術開發的3D圖形引擎(PC環境為標準OpenGL,Android為OpenGL ES), 以Java語言為基礎的,擁有功能強大的Java 3D解決方案。該引擎與LGame(此為2D遊戲引擎)相類似,目前擁有PC(J2SE)以及Android兩個開發版本。jPCT的最大優勢之一,就在於它驚人的向下相容性。在PC環境中,jPCT甚至可以運行在JVM1.1
Time of Update: 2018-12-04
文章目錄 平移變換 旋轉矩陣 Rotating縮放變換 Scaling切變變換 Shearing級聯變換 Concatenation of Transforms歐拉變換 Euler TransForm模型矩陣,視口矩陣和投影矩陣 The Model, View and Projection Matrices 提要
Time of Update: 2018-12-04
簡介 隨著圖形硬體的發展,渲染管線由固定不可更改想著可程式化和更平滑的方向不斷髮展。越來越多的基於GPU的程式設計語言開始出現,cg,cuda,各種著色語言等等。 今天要介紹的就是和OpenGL結合非常緊密的GLSL(OpenGL Shading Language). 通過OpenGL的API我們可以繪製圖元,變換圖形等等,當並不能改變基礎的渲染管線。在OpenGL中使用GLSL,就能將渲染管線中固定的功能階段轉變成可程式化的。 編程環境:Ubuntu1
Time of Update: 2018-12-04
集合類是用來容納和處理一組對象或標準資料類型變數的C++類。每個集合類對象可以看作一個單獨的對象。類成員函數可作用於集合的所有元素。MFC提供兩種類型的集合類:基於模板的集合類非基於模板的集合類這兩種集合類 對使用者來說非常相似。基於模板的集合所包含的元素是使用者自訂的資料結構或者說是抽象的資料結構,它以數組、鏈表和映射表三種方式組織使用者自訂的資料結構。使用基於模板的集合類需要使用者作一些類型轉換工作。非基於
Time of Update: 2018-12-04
提要經過前面的關於GLSL基礎學習,可以參考OpenGL進階專欄中的一些文章。接下來的內容將會非常的有意思,比如全域光照,環境貼圖,法線貼圖,景深....是不是聽著就很棒!想要學習的話,當然需要付出更多的努力!不過一切都是值得的。今天的內容主要是關於光照的一些基礎著色。
Time of Update: 2018-12-04
IDispatch error #3092在採用ADO訪問ACCESS資料庫的時候,出現IDispatch error #3092錯誤的原因之一是在SQL語句中使用了保留關鍵字。比如:如果表的名稱為User 則會出現該錯誤。例如:error #3092 : insert into Acc_Record(loginname,password) values ('abc','123')success : insert into
Time of Update: 2018-12-04
提要 PCL中創造了一種用於描述空間點集的檔案 - PCD.關於PCD的簡介,可以參考這裡 - http://pointclouds.org/documentation/tutorials/pcd_file_format.php今天要做的是最簡單的事情 - PCD檔案的生產與讀取。環境:Win7 64bit VS2010 PCL1.7PCL編譯參考這裡 - Window7下手動編譯最新版的PCL庫PCD檔案產生
Time of Update: 2018-12-04
回顧Vertex Shader : 基於GLSL的文法寫的一種類C的代碼,可以用來控制頂點的特性,比如位置,顏色還有紋理座標等。Fragment Shader:用於計算每個片段的顏色,可用於實現光照還有真實感的貼圖。還有一種Shader 叫做Geometry Shader,用於添加頂點。使用結合了GLSL的OpenGL程式的渲染管線就變成了這樣:VAO和VBOVBO: 顯卡儲存空間裡的一塊緩衝區(Buffer),用於記錄頂點的資訊,包括法線,問路座標等,這個Buffer有它的名字(VBO的ID)
Time of Update: 2018-12-04
提要 周末不想學習,就來玩一玩Unity3D好了。 本以為網上會有很多關於Unity3D的配置文章,但搜到的要麼是iOS的,要麼比較 坑爹,所以還是自己來寫一篇。 又是一個單排,希望這次的單排能夠一路衝到20篇~ 話不多說,馬上開始我們的Unity3D遊戲開發之旅。 環境:Windows 7 32bit Unity4.2 Andoroid SDK22.05 相關
Time of Update: 2018-12-04
Obj檔案簡介 OBJ檔案是Alias|Wavefront公司為它的一套基於工作站的3D建模和動畫軟體"Advanced Visualizer"開發的一種標準3D模型檔案格式,很適合用於3D軟體模型之間的互導,也可以通過Maya讀寫。比如你在3dsMax或LightWave中建了一個模型,想把它調到Maya裡面渲染或動畫,匯出OBJ檔案就是一種很好的選擇。目前幾乎所有知名的3D軟體都支援OBJ檔案的讀寫,不過其中很多需要通過外掛程式才能實現。
Time of Update: 2018-12-04
提要 如果要做成果展示或者效果示範,通常需要錄取螢幕產生視頻檔案,在windows中我們可以用螢幕錄影專家在錄影, vegas 來做後期處理,Ubuntu可以嗎?答案時當然可以!雖然第一次用覺得有點折騰,當熟悉之後,發現這其實簡化了你生活。 環境:Ubuntu 12.04 32bit螢幕、視窗錄影 - xvidcap Xvidcap 支援產生 avi、mpeg、asf、flv、swf、mov