摘要: 在渲染多邊形網格對象到場景中的時候,離觀察者越遠的對象應該越模糊,同時離觀察者越近的物體應該越清楚,這就是深度排序(depth sorting)。深度排序有兩種常用的方法。
第一種方法稱為畫家算法(painter's algorithm)。這種方法將對象劃分成不同的多邊形,由后往前對這些多邊形進行排序,再按照排好的順序繪制出這些多邊形。采用這種方法繪制多邊形,能夠確保前面的多邊形總是在其后多邊形之前進行繪制。
深度排序的第二種方法稱為z緩沖方法(z-buffer),它是圖形硬件設備使用最多的方法。這種方法依賴于像素,每個像素都有一個z值(z值是像素距離觀察者的距離)。當每個像素被寫入時,渲染器首先檢查是否已經存在一個z值更小的像素,如果不存在,這個像素就被繪制出來;如果存在,就跳過該像素。
閱讀全文
摘要: 大爆炸,煙霧痕跡甚至魔術飛彈尾部發出的微小火花,都是粒子(particle)所制造出來的特殊效果。在適當的時機,啟用alpha混合并繪制粒子,這樣粒子就能朝向觀察點(使用公告板),得到的結果就是混合對象的抽象拼貼,他們可以用于創建一些奇妙的效果。
粒子奇妙的地方就在于粒子的大小實際上是任意的,原因在于可以創建一個縮放矩陣,使其同粒子多邊形的世界變換矩陣結合起來。也就是說,除非粒子紋理不同,否則只需要使用一個多邊形來繪制所有的粒子,無論如何,多邊形的數目都必須同紋理的數目保持一致。
閱讀全文
摘要: 兩百多年前英國偉大的古典政治經濟學之父亞當斯密曾對工作和休息有過精辟的論述。他在《國富論》中是這么寫的:
由于過度從事某種特殊工作,幾乎每種技工都易患某些特殊疾病。不論是腦力勞動還是體力勞動,一連幾天的過度勞動對大多數人來說自然都會引起放松和休息的欲望。這種欲望如果沒有什么暴力或某種強烈的需要來加以抑制幾乎是不可抑制的,這是天性的要求。在緊張勞動之后要求有某種放縱,有時只是要求一點兒清閑,但有時也要求一點兒放蕩和娛樂。如果這個要求得不到滿足,后果常是危險的,有時甚至是致命的,其結果總是早晚要染上某種特殊的職業病。因此,如果雇主能經常聽從理性和人道的提醒,他們就應該不是鼓勵工人盡量工作,而是適量地工作。我相信那樣每個行業都會發現每天適量工作的工人能夠長期工作,不僅可保持他們的身體長期健康,而且在一年中也能完成最大量的工作。
閱讀全文
八卦一下,一直以來對快男超女的沒什么關注,今天在優酷無意中看到,確實唱的很深情,他的嗓音不如齊秦, 但是很像齊秦的嗓音,歌聲中充滿了淡淡的憂傷,深深的愛意,其嗓音已完全具備了專業歌手的水準。個人認為齊式情歌是中文唱片界最深情的。^_^
陳楚生版:原來的我 (原唱:齊秦)陳楚生:有沒有人告訴你
當火車開入這座陌生的城市
那是從來就沒有見過的霓虹
我打開離別時你送我的信件
忽然感到無比的失眠
看不見雪的冬天無言的城市
我聽見有人歡呼有人在哭泣
早習慣穿梭充滿誘惑的黑夜
但卻無法忘記你的臉
有沒有人曾告訴你我很愛你
有沒有人曾在你日記里哭泣
有沒有人曾告訴你我很在意
在意這座城市的距離
去百度下載《有沒有人告訴你》
摘要: 公告板(billboard)是一種允許在2D對象出現在3D中的很酷的技術,公告板的原理就是通過使用世界矩陣,根據觀察點來排列多邊形,因為觀察的角度已知(或能夠獲得一個觀察變換矩陣),就只需要使用相反的觀察角來構造矩陣。創建公告板世界矩陣的方法是從Direct3D獲取當前的觀察矩陣并將此矩陣轉置。這個轉置矩陣會將所有的東西進行恰當的定位,以朝向觀察點。接著就只需應用網格的平移矩陣,在世界中正確地確定網格的位置。
閱讀全文
摘要: 字體的繪制需要使用ID3DXFont對象和 D3DXCreateFontIndirect函數。
DirectX SDK文檔對ID3DXFont做了簡要的說明:
The ID3DXFont interface encapsulates the textures and resources needed to render a specific font on a specific device.
The ID3DXFont interface is obtained by calling D3DXCreateFont or D3DXCreateFontIndirect.
閱讀全文
摘要: 在科學的神殿里有許多樓閣,住在里面的人真是各式各樣,而引導他們到那里去的動機也各不相同。有許多人愛好科學是因為科學給他們以超乎常人的智力上的快感,科學是他們自己的特殊娛樂,他們在這種娛樂中尋求生動活潑的經驗和對他們自己雄心壯志的滿足。在這座神殿里,另外還有許多人是為了純粹功利的目的而把他們的腦力產物奉獻到祭壇上的。如果上帝的一位天使跑來把所有屬于這兩類的人都趕出神殿,那么集結在那里的人數就會大大減少, 但是,仍然會有一些人留在里面,其中有古人,也有今人,我們的普朗克就是其中之一,這也就是我們所以愛戴他的原因。
閱讀全文
摘要: 在設置可變頂點格式時加入法線和漫反色,如下所示:
// The 3D vertex format and descriptor
typedef struct
{
float x, y, z; // 3D coordinates
float nx, ny, nz; // normals
D3DCOLOR diffuse; // color
} VERTEX;
#define VERTEX_FVF (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE)
閱讀全文
摘要: 設置可變頂點格式時增加一個D3DCOLOR類型的漫反射分量,其中的alpha值指定了alpha混合因子。
// The 2D vertex format and descriptor
typedef struct
{
float x, y, z; // 2D coordinates
float rhw; // rhw
D3DCOLOR diffuse; // diffuse color component
} VERTEX;
閱讀全文
摘要: 物理學家們發現自己的處境極類似于阿爾弗雷德·諾貝爾。阿爾弗雷德 ·諾貝爾發明了到他那個時代為止最具威力的炸藥——一種極強的破壞手段。
為對此有所補償,也為了減輕良心上的負擔,他為促進和平和實現和平設立了獎項。今天,這些參與制造有史以來最可怕、最危險武器的物理學家們,
也被同樣的責任感折磨著。我們幫助制造新式武器的目的,在于防止人類的 敵人先制成它。倘若納粹得到這樣的武器的話,他們必會奴役世界,必會給
世界帶來不可設想的破壞。我們把此武器交到美國和英國人手上,是因為我們把他們看成為全人類的受托人,看成和平與自由的戰士。但至今為止,我
們從未看到任何和平的保證。
閱讀全文