Nebula3中的模型

大體畫了個結構圖, UML不知道用得對不對, 反正我自己看懂就行了......VisXXX可以看做是情境可見度裁剪的一部分, 渲染模組都是跟這個打交道的, 通過它可以把各個結點(node)排序以達到最佳化渲染目的.Model是一個可以繪製的對象, 由一些樹形結構的ModelNode組成. Model可以通過ModelServer建立, 這樣能保持同一個Model只會載入記憶體一次. 要繪製Model的話, 一個ModelInstance是必不可少的.

打造最小的DirectX安裝程式

DirectX Runtime核心組件有Direct3D, DirectSound和DirectInput, 可以看作是作業系統的一部分. DirectX9.0c的核心組件自從DirectX SDK Summer 2004後就再也沒有變過了, 除了Vista上的DX10. 而DirectX9.0c已經包含在WinXP SP2中了, 我想現在應該還沒有人在用SP1或2000而不裝DX9.0c的吧?(除非不玩遊戲). 換句話說, 我們可以假設核心組件在使用者的機器都已經存在了,

GameEngineArchitecture讀書筆記(一)

Game Team 國外AI和Audio程式員所佔的角色還是很重要的, 而國內AI都是伺服器在做, Audio基本上沒有人下多少工夫美術的話TA越來越重要, 3D遊戲開發不缺少另外, 專案管理也很重要, 程式員沒有那麼多精力去關注這些事情Game Engine引擎的三個特性: 資料驅動, 可複用, 可擴充流派第一人稱 寫實效果, 對於技術要求最高. 真實渲染, 高幀率, 物理類比, 動畫和高智能AI, 多人遊戲支援第三人稱卡通效果, 豐富的動作, 可互動情境格鬥遊戲大量的動作, 打擊判定,

MPQ 檔案系統完成

基於StormLib, 參考N3的ZipFileSystem實現了一個MpqFileSystem 有一點要注意, 檔案路徑裡不能用'/', 都要用'//' @_@ mpq檔案包裡的檔案是不儲存檔案名稱(或目錄名)的, 也就是說打包後的檔案是無法復原的. 但是在每個檔案包的根目錄下都有一個(listfile)檔案, 裡麵包含了檔案包中的檔案名稱列表(為什麼listfile檔案最後有一段Null 字元串呢???)沒有去實現寫入的功能, 雖然StormLib可以添加檔案,

Nebula3渲染層: Graphics

圖形子系統是渲染層中圖形相關子系統的最高層. 它基本上是Mangalore圖形子系統的下一個版本, 但是現在整合進了Nebula, 並且與低層的渲染代碼結合得更加緊密. 最基本的思想是實現一個完全自治的圖形”世界”, 它包含模型, 燈光, 還有攝像機實體, 而且只需要與外部世界進行最少的通訊. 圖形世界的最主要操作是加入和刪除實體, 還有更新它們的位置. 因為Mangalore的圖形子系統跟Nebula2的完全分界線從Nebula3中移除了, 很多設想都可以用更少的代碼和互動來實現.

Nebula3 in CLR

有用N3 + CLR做介面的衝動 建立一個CLR WinForm工程, 直接引入N3的標頭檔和庫進行編譯........ 編譯不過, 找了半天才發現原因暈死, .Net和N3都有個System命名空間, 沒法改Microsoft的東西, 只好把N3的System改成了NSystem 然後就是連結不過 一是__fastcall不被CLR支援, 改成__cdecl (/Gd)重遍 二是Multi-threaded Debug (/MTd)跟/clr衝突, 改成Multi-threaded

紋理拼接後的Wrap定址

拼接後的紋理:正常的草地(不進行WRAP定址):WRAP = 5時的情況:MinFilter = Linear時的情況:shader實現:sampler2D atlasTexture;float4 texRect; //(left, top, width, height) of uvfloat2 invSize; //(1/width, 1/height)float4 uvRange; //(left, top, right, bottom) of uvfloat4 ps_main(

XACT與X3DAudio整合的問題

XACT本身是不帶3D音效的, 相關的功能是由X3DAudio來完成. 剛剛封裝完畢的時候, 沒有注意到哪裡有調節距離衰減的參數參考了一下SDK的文檔, 發現X3DAUDIO_EMITTER的pVolumeCurve, CurveDistanceScaler這兩個參數是用來做衰減用的.不過SDK的文檔寫錯了(March2008, 最新的沒問題), 搞得我鬱悶了半天.其實pVolumeCurve為NULL時CurveDistanceScaler仍然有效, 只不過是你需要在XACT的工具裡進行設定:

The Managed DirectX Render Loop

Tom has the final(?) say on the matter.... Or is it? Of course its not Rick has added a response including some perf and memory numbers.I figured I should put a quick summary list together that explains some of the history behind this.Tom started

XACT基本概念

XACT工程Wave BanksSound BanksGlobal Settings Wave Banks一個wave bank是包含多個wave檔案的集合的檔案, 副檔名.xwb比如介面音效一個檔案, 技能音效一個檔案Wave Bank模式In-Memory在記憶體中, 適用於小音頻資源. 如介面音效Streaming通過一個記憶體緩衝讀取, 適用於大音頻資源. 如背景音樂Waves音頻資料檔案. XACT支援以下幾種音頻格式:Windows audio waves(WAV)Xbox 360'

從Native到Web(一), NaCl學習筆記: 環境搭建

下載 Native Client SDKhttps://developers.google.com/native-client/sdk/download需要設定兩個環境變數, Python2.7.3的安裝路徑加到PATH裡, NACL_SDK_ROOT設定為對應版本目錄CHROME_PATH這個是後面VS調試用的, 如果不用VS開發, 可以不設定C++

《OpenGL 3 & DirectX 11: The War Is Over》:繪圖 API 終戰之日?

(圖片來源:www.cnblogs.com)原文出處:OpenGL 3 & DirectX 11: The War Is Over現今在 DirectX 與 OpenGL 皆已相當普及的年代裡,我們似乎也逐漸淡忘了兩者從前的那段江湖恩怨。在著名硬體網站 Tom’s Hardware 的這篇專欄文章裡,作者帶領我們重新回顧這場「繪圖 API 戰爭」中的起伏轉折,以及 OpenGL 3 與 DirectX 11 的未來展望,是篇值得仔細閱讀的好文章。「DirectX

從Native到Web(二), NaCl學習筆記: 技術限制&Win32移植過程

一些限制相對於Win32來說, NaCl相當於另一個平台, 一些作業系統相關的API需要移植. 除此之外, 參考Technical Overview, 還有一些其它的限制:不支援硬體異常不支援建立進程不支援傳統的TCP/UDP sockets (有其它方式去實現, RakNet已經有個預覽版本)不支援查詢可用記憶體內聯彙編必須相容 Native Client 驗證器(使用SDK中的 ncval 工具檢查) (一些使用彙編最佳化的代碼(如數學庫)可能不能使用)Pepper API

WOW小地圖產生

參考wowmapview寫了一個小地圖查看的控制項, 可以載入*.wdl檔案解析出一張類似於"衛星圖"的東西WDL檔案儲存的是WOW地圖的低精度高度資料, 冒似用來做遠處的LOD的每個地圖最大是64*64個tile, 而一個tile它儲存了17*17 + 16*16個16位的高度資料. 如果產生一張512*512大小的小地圖的話, 每個tile就只有8*8個像素因此, 我們只取17*17中的偶數點 下面這張是Kalimdor的產生效果#pragma once using namespace

從Native到Web(三), NaCl學習筆記: 3D渲染(DX9遷移到GLES)

NaCl的3D渲染API使用的GLES2.0, 這也很好理解, 因為這已經是公認的跨平台標準了. 手機, 平板, 網頁, PC都可以使用.就算在Windows上, 也有一些基於DX9的GLES2.0實現, 比如ANGLE. 有時候我真在想, 像M$這種升級個作業系統版本號碼就淘汰一種API的做法, 還不如全都使用標準庫, 這樣也節省了跨平台移植的成本~所以什麼DX10/DX11, 還是省省吧其實從DX9到GLES(本文提到的都是指2.0版本), 大部分只是API換了種寫法, 難度不大.

星際爭霸2-資料編輯器-菜鳥入門

Tutorial by Siretu讓大多數接觸星際2編輯器的人歇菜的原因, 就是這個資料編輯器(Data Editor). 不管你是個新手, 還是使用魔獸3的編輯器做過一些東西, 當你懷著滿腔的熱情準備做一張星際2的地圖時, 資料編輯器就像擋在前面的一座大山, 讓人恨不得撞死算了.這種情況同樣發生在我身上. 我自信用魔獸3的對象編輯器用得爐火純青了, 但是當我開啟資料編輯器時, 連怎麼做個Unit都不知道.現在, 我總算能湊合著用資料編輯器了, 但也不是太好,

GameEngineArchitecture讀書筆記(二)

DLL 很多公司會採用完全的靜態連結, 這樣比較省事, 也比較安全靜態連結通常比較慢(編譯時間影響開發效率), 而且EXE也比較大DLL的話如果不使用interface封裝會暴露很多類定義如果使用C++/CLI的話不能使用靜態連結庫Debug Release能重現而Debug不能重現的BUG通常是變數沒初始化DMP檔案可以方便地重現崩潰時的堆棧調用Coding代碼規範是一個項目/引擎必須制定的東西,

Nebula3竟然秘密更新了

: http://213.191.63.156/n3_sdks/之前所有更新都會在floh的blog上有一篇changelog, 這回一點也沒, 連個更新的訊息都沒.看了下變化挺大的, 不知道什麼時候才能穩定下來, 並且社區化呢? 我覺得, N3定位還是一個SDK, 而不是遊戲製作工具. 說到底, 就是一個程式底層. 不過對於C++這種標準庫嚴重欠缺的語言, 有個好的底層是一件多麼舒心的事. 工作了這麼長時間, 我還是沒有放棄.Net, 雖然沒有真正在工作中用到, 但是一直想引入進來.

Nebula3繪製2D紋理

上次已經繪製過基本圖元了, 這次只不過要貼張圖而已.....本來我想用Graphics的Model渲染流程來做, 不過這一層太進階了, 都是什麼情境管理資源地圖之類的做低級的事情, 就要用低級的API嘛圖形渲染的底層是CoreGraphics, 這個層我不打算再單獨寫(翻譯)一篇了, 因為都是Direct3D概念的一些抽象. 也就是說D3D用熟了基本上一看就明白(用GL的我就不清楚啦, 嘿嘿, N3的作者都放棄用GL去實現@_@). 還記得D3D Tutorial中的Textured例子不?

暴雪總裁總結遊戲十條經驗

文章來源 www.17173.com 暴雪創辦人兼總裁Michael Morhaime在GDC Austin上發表了演講,談論他從《魔獸世界》和其他暴雪遊戲中總結出來的十條經驗。1·遊戲性第一。    如果你瞭解暴雪,那你知道他們在遊戲平衡性上力盡完美,或者說比任何人做的都好。暴雪哲學好懂但難掌握。他們希望你入門容易而維持長時間的興趣,用同一款產品同時吸引休閑和核心玩家。2·打造並保護品牌。    暴雪的目標是要消費者進入商店,看到暴雪的商標就知道那是好東西。但個人認為暴雪這方面做的不好,為何?

總頁數: 61357 1 .... 12862 12863 12864 12865 12866 .... 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.