Time of Update: 2018-12-03
1. What is OpenGLOpenGL is strictly defined as a software interface to graphics hardware. 2. Two FormsOpenGl exists in two forms.A software driver and a graphics card in your PC together make up an OpenGL implementation. 3. Extension MechanismTwo
Time of Update: 2018-12-03
1.添加聲音 1.1連結聲音 要連結聲音,可通過使用<a>錨點標籤來實現。將href屬性用來標識音效檔的URL。 樣本:<p>Click<a href = "Funny.wav">here</a>to listen to a funnysound clip!</p> 此方法我沒有通過驗證實現,不推薦。 1.2嵌入聲音
Time of Update: 2018-12-03
1. GLUTOpenGL utility toolkit.Because GLUT was originally not licensed as open source, a new GLUT implementation, freeglut, has sprung up to take its place. 2. GLEWGLEW make an easy way to obtain full access to the OpenGl API.GLEW library is
Time of Update: 2018-12-03
1. 問題的引出這個問題的引出又是因為《3D遊戲編程大師技巧》這書裡面有的問題沒講明白,有的東西又不對。首先寬高比這個名詞的出現是因為我們的PC螢幕不是正方形的,螢幕寬度 : 螢幕高度 就是寬高比。但是我們上次搭建的相機系統的視平面是正方形的,那麼當很多物體投影到視平面上後,必然最後完成的是一幅正方形的畫,而螢幕是長方形的,這時只有兩種辦法:1) 把照片壓扁,這樣畫上的所有物體都被壓扁了。2) 把照片上下多餘的兩條分別裁下來,只保留螢幕大小的畫,這樣物體不會走樣變形,但是這幅畫有一部分看不到了。
Time of Update: 2018-12-03
0. 上篇文章,人物已經可以正確的朝向和移動了,這次我們要添加幾個石頭,並且達到以下效果1) 人物和石頭根據站位可以正確產生遮擋效果2) 人物被石頭阻擋住,即不能穿過石頭3) 當滑鼠點擊石頭後面時,人物可以自動繞過石頭走過去效果:可直接運行版本下載:>>點擊進入下載頁面<< 1.
Time of Update: 2018-12-03
1.關於樣式 1.1使用樣式的優點 假設有一個FAQ的頁面,需要將所有的question都設定為綠色,可以在每個問題前加上<font>標籤將color屬性設定為綠色。但是如果我們需要將頁面中所有問題改為藍色,就會變得非常麻煩。所以需要樣式,樣式類似於C++中的宏定義,只需在開頭聲明,當需要改動時,只改變定義的值就都改了。 樣本:<style>p.question{color:green}</style>
Time of Update: 2018-12-03
1. 為什麼要背面消隱通過之前的DEMO,能夠知道如果在渲染過程中多邊形越多,那麼要不處理的內容就越多,就越消費電腦的處理能力。對於物體來說,一般我們只看到它面對我們的面,可能不是正對著,但是肯定有很多面是完全背對我們的,我們就應該在渲染時跳過他們。這將減少大約一半的三角形渲染量。原理其實很簡單,就是向量與平面的關係,這個原理我在參數化直線與平面的那篇文章中特意推導了整個來龍去脈。我喜歡在2D俯視圖中來分析問題,如: 2.
Time of Update: 2018-12-03
1. 相機需要哪些參數先看瞭解一下上次我們建立的相機在3D世界中的意義:如Hello3DWorld中介紹的,在相機座標系下,相機朝向正Z軸,相機有視野角度,因為視野角度,形成了的視錐體,視平面就是要被透視投影到的2D平面。 在這幅圖裡增加了近裁剪面與遠裁剪面。他們是做什麼的呢?在現實中,我們會發現,離眼睛太遠的東西我們就看不到了,離眼睛太近的東西又會擋住大部分景色。於是就定義了遠裁剪面和近裁剪面——比近裁剪面還近的物體和比遠裁剪面還遠的物體,我們不把他們透視到視平面上。他們和視平面平行,也就和x
Time of Update: 2018-12-03
研究了幾天Diablo2的技術,今天突然對劇情產生了濃厚的興趣,雖然從1代,到地獄火,到2代,再到破壞之王一路玩下來,但一直沒有太明白劇情,今天各處搜尋學習,終於稍稍有所瞭解,所有的文章內容均為轉貼,我將他們按順序編排了一下,我找到的文章中已經不知道作者是誰了~ 1. 在Diablo1開始前的故事
Time of Update: 2018-12-03
1. 為什麼要光柵化一個三角形我們不能總讓我們的引擎顯示線框,要支援實心顏色、光照還有紋理貼圖,這些都需要光柵化一個三角形作為支援。 2. 三角形的類型為了方便光柵化,一般將三角形分為以下4種: 3.
Time of Update: 2018-12-03
0. 要學懂3D程式設計,必然要精通3D相關的線性代數、3D幾何、複分析等相關知識,我也因為如此才開始這個部落格系列的寫作,不自己實現,就不是自己的東西,從今天開始,將會把所學的數學知識,從數學推導到代碼實現的心得全部記錄於此。最終得到一個獨立的3D映像引擎,也就完成了對3D映像知識的基本學習。 1. 文章布局。除了本文,所有文章都將由3部分組成。1) 數學理論推導。2) 不參看任何樣本,只根據數學原理進行的代碼實現。3) 項目代碼下載。 2. 語言與開發環境1)
Time of Update: 2018-12-03
0. 當打算寫KOK1的DEMO的滑鼠管理模組時,是這麼想的,擷取到滑鼠在視窗中的絕對位置(相對於視窗0,0點的座標),然後來推算這個位置在地圖上的座標,然後讓玩家走過去。存在如下幾種方案: <1> 使用Windows的系統滑鼠指標,GetWindowPos來獲得指標的位置,以及一些Win32API來擷取指標的狀態。這種問題就是在遊戲中,基本上都不會去使用滑鼠的指標樣子,甚至靜態圖片也不行,通常都是動畫,通過反覆的修改視窗滑鼠的樣子的方式來實現動畫效能太差。 <2>
Time of Update: 2018-12-03
1. Which 3DThe term three-dimensional, or 3D, means that an object being described or displayed has three dimension of measurement: width, height, and depth. 2. True 3D To truly see in 3D, you need to actually view an object with both eyes.The
Time of Update: 2018-12-03
1. 數學分析1) 參數化直線還記得我們在學習向量時介紹的位移向量嗎?參數化直線的原理和他相同。其實所謂參數化直線,就是通過一個參數t來表示直線上的一個線段,當t為0時,則取線段的一端的端點,當t取1時,則取到另一端的端點。核心原理就是向量加法的幾何意義,Vd是加數,通過t(從0到1)去乘以這個Vd,則可以描述向量p,而p在某個t時的座標值,就是從點P1到點P2的線段在t時的座標值。注意這裡我們使用的是圖中的p = p1 + t * vd,這樣t的取值是0到1,如果是p = p1 + t *
Time of Update: 2018-12-03
1. 數學分析1) 基本定義:向量由多個分量組成,2D/3D向量表示一條有向線段。下面的ux,uy就是兩個分量。向量u = <ux, uy>,如果從點P1(x1, y1)指向點P2(x2, y2),則:U = p2 - p1 = (x2-x1, y2-y1) = <Ux, Uy>向量被定義後,總是相對於原點的,所以可以用一個點來表示從原點指向該點的向量。 2) 向量的範數(norm)範數就是向量長度,是從原點到終點的距離。用|u|表示,所以:|U| = sqrt(Ux2
Time of Update: 2018-12-03
1. RenderingThe process by which mathematical and image data is transformed into a 3D dimensional image. 2. TransformationVertex is moved around in space with a convenient mathematical construct called a transformation matrix. 3. ProjectionA
Time of Update: 2018-12-03
自己動手寫緩衝系統 - tmcache 作者:heiyeluren時間:2008-10-24部落格:http://blog.csdn.net/heiyeshuwu 【 原理介紹 】tmcache 大致就是一個類似於Memcache的快取服務器,用過的應該都大致瞭解它的執行過程,為了便於理解,我簡單描述一下。發送請求過程:用戶端(PHP/Java/C++) --> 快取服務器 --> 記憶體(共用記憶體)接收資料過程:記憶體(共用記憶體) --> 快取服務器 -->
Time of Update: 2018-12-03
1. 數學分析1) 矩陣到底是什麼,用它來幹嘛? 千萬不要把矩陣想複雜了,說白了,他和算盤是一類東西,矩陣根本就沒有實際意義,他就是個數學工具而已,就好像敲算盤,珠子上上下下的按照一定的規律去撥弄,就能得到結果一樣,矩陣是數學家們發明的一個工具,這個工具也有一系列規則,通過這些規則也可以計算出一些結果,只不過他不像算盤是用來做數字加減乘除用的,他是用來求解方程組的。學習完了矩陣的運算規則,就可以發現,所有對向量、點座標的變換都可以通過矩陣運算來完成,這也是為什麼3D映像的運算與矩陣息息相關了。
Time of Update: 2018-12-03
1. Coordinate ClippingIn two-dimensional space, the clipping region is the minimum and maximum x and y values that are inside the window. 2. ViewportThe viewport is the region with in the window's client area that is used for drawing the clipping
Time of Update: 2018-12-03
從飛信裸辭已經2個月了,因為對遊戲的愛,和做出好玩的遊戲這個夢想。《Windows遊戲編程大師技巧》(以下簡稱《大師》)這書已經讀完,DEMO也都搞清楚了,為了確實的掌握2D遊戲的技術,決定完成一個完整的KOK1咒術師打錢坑的DEMO,也是作為我踏入遊戲開發行業的簡曆附加DEMO。【廣告】對遊戲有愛的遊戲公司(北京)缺人(2D/3D遊戲程式員)的話請隨時把我拉走。這個系列文章將記載在這個DEMO開發過程中的一點一滴,廢話不說了,進入正題。 0.