原创 多線程渲染技術 Dx 10/11 -ok

  雖然超線程概念已經在CPU領域發展了數十年,但大多數程序員還是直到近年來多核心CPU流行之後纔開始關心程序的平行化,在此之前大部分通用代碼都是簡

原创 DDS貼圖介紹 ok

DDS是DirectDraw Surface的縮寫,它是DirectX紋理壓縮(DirectX Texture Compression,簡稱DXTC)的產物。  DXTC減少了紋理內存消耗的50%甚至更多,有3種DXTC的格式可供使用,

原创 D3D中的渲染到紋理

渲染到紋理是D3D中的一項高級技術。一方面,它很簡單,另一方面它很強大並能產生很多特殊效果。 比如說發光效果,環境映射,陰影映射,都可以通過它來實現。渲染到紋理只是渲染到表面的一個延伸。我們只需再加些東西就可以了。首先,我們要創造一個紋理

原创 speed tree技術分析

兩年前第一次下載speed tree demo運行時,立刻被精美的畫面所震撼,場景中大片的樹木尤其吸引我的眼球,speed tree使用何種技術來渲染大範圍的植物一直令我不解。因爲在很多遊戲中對樹木的渲染都可以很明顯地看到多邊形的痕跡,

原创 Direct3D的一些小貼士

GPU性能調試: 通常來說,使用CPU時間事件來調試GPU是低效並且是不準確的。D3D API在多數命令下會阻塞,甚至是Draw函數。它會在一些時間片上做一些真正的工作,而這往往是不可預知的。因此,GPU的性能調試只能用PIX或者是其他專

原创 四元數(Quaternions)-ok

爲什麼使用四元數 爲了回答這個問題,先來看看一般關於旋轉(面向)的描述方法-歐拉描述法。它使用最簡單的x,y,z值來分別表示在x,y,z軸上的旋轉角

原创 紋理(講得比較詳細的文章)

紋理是增強計算機生成的三維圖像的真實感的有力工具。Microsoft® Direct3D®支持廣泛的紋理特性,並使開發人員可以很方便地使用高級紋理技術。 本節講述如何使用紋理。 紋理的基本概念紋理座標紋理過濾紋理資源紋理環繞紋理

原创 DirectX-渲染到紋理

  什麼是紋理 熟悉DX的兄弟們都知道什麼叫紋理了,這裏簡單介紹一下,先看看現實生活中的例子吧,其實紋理的例子比比皆是,比如地板,牆面都是紋理。在圖形學中,紋理主要是爲了增強場景的真實感,比如你想繪製一個地面,簡單一點可以直接使用一個矩

原创 DirectX 性能優化

1 只在必須的時候Clear。 IDirect3DDevice9::Clear函數通常需要花費較多的時間,因此要儘量少調用,而且只清空的確需要清空的緩存。 2 儘量減少狀態切換。並且將需要進行的狀態切換組合在一起設置。 狀態包括Rende

原创 關於多線程渲染-ok

困擾了一個多月的問題,今天終於有個階段性的了結了,雖然不知道算不算真正的了結. 多核的cpu現在是大勢所趨,渲染是一個很費時的活,所以應該考慮考慮能不能利用多核來提升這部分的性能.引擎一開始沒有在多線程方面作任何的考慮,因爲我從來就不喜

原创 多線程渲染-ok

  首先我們得明確3D引擎使用多線程的目的所在: 1、在CPU上進行的邏輯計算(比如骨骼動畫粒子發射等)不影響渲染速度 2、較差的GPU渲染速度的低下不影響邏輯速度       第一個目標已經很明確了,我來解釋下需要達到第二個目標的原因:

原创 陰影貼圖

概況  陰影貼圖(Shadow mapping)是在三維計算機圖形中加入陰影的過程。陰影貼圖的概念最初是由 Lance Williams 於 1978年在“在曲面上投射陰影”這篇論文中提出的。從那時開始,這種方法就已經用於場景預渲染、實時

原创 3D地形多層紋理混合加陰影渲染方法

修正:我重新觀察了一下Torque引擎 Demo的地形,發現在他在一個方塊內最多用了3張貼圖。這3張貼圖就需要3個TextureStage,再加上2個提供Alpha值的Stage,總共就是5個TextureStage。這對顯卡要求太高,

原创 Direct3D輪迴:遊戲場景之河流

名人名言:每個人在他生活中都經歷過不幸和痛苦。有些人在苦難中只想到自己,他就悲觀消極發出絕望的哀號;有些人在苦難中還想到別人,想到集體,想到祖先和子孫,想到祖國和全人類,他就得到樂觀和自信。——洗星海  繼天空、陸地之後,用於構建遊戲場

原创 Direct3D通用技術與特殊效果

Direct3D提供了一套強有力的工具來幫助我們提高三維場景的逼真度。下面我們將討論一些Direct3D產生的通用的特殊效果。但是,可能出現的效果並不只限於這裏所討論的內容。下面我們分成幾個主要的部分: 1. 霧化(Fog)2. 公告