青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

實時陰影繪制技術研究

C++博客 首頁 新隨筆 聯系 聚合 管理
  48 Posts :: 20 Stories :: 57 Comments :: 0 Trackbacks

置頂隨筆 #

我的個人知識管理更新

posted @ 2006-03-24 12:28 苦行僧 閱讀(1227) | 評論 (3)編輯 收藏

2006年8月2日 #

     摘要: BHRE是由北京航空航天大學計算機學院虛擬現實與可視化研究所自主研發的新一代圖形繪制引擎。

BHRE使用OpenGL作為底層圖形API,采用CG作為Shader開發語言,在場景組織和狀態管理的基本數據結構基礎上,研發了包括一系列面向三維游戲、仿真模擬、漫游展示等實時三維圖形應用的功能。

* Features
o 基本3DS模型載入
o 視點運動
o 對象運動
o 裁減算法
o 天空盒
o 大規模地形
o 三維聲音
o 碰撞檢測
o 霧效果
o 多光源效果
o 基于GPU的水波特效
o Video紋理
o LOD   閱讀全文
posted @ 2006-08-02 21:05 苦行僧 閱讀(3150) | 評論 (17)編輯 收藏

2006年6月2日 #

     摘要:   閱讀全文
posted @ 2006-06-02 14:02 苦行僧 閱讀(3902) | 評論 (1)編輯 收藏

2006年5月29日 #

     摘要:   閱讀全文
posted @ 2006-05-29 15:25 苦行僧 閱讀(1248) | 評論 (0)編輯 收藏

2006年5月25日 #

2006-5-25

  • 一切為了真實 物理加速卡之前世今生 技術,物理加速卡,PPU,PhysX [板卡應用技巧] IT.com.cn IT世界網-您身邊的數字專家 #
    PPU的一篇相對重量級的文章,涉及到了第一塊PPU的一些技術細節和效果介紹,摘要一些:當AGEIA在GDC2005上提出了PPU的 概念,同時也是第一塊物理加速卡展現在世人的面前。PhysX外型類似目前的顯卡,采用PCI-E/PCI 接口,可兼容絕大部的主流平臺。它采用TSMC 0.13微米制程,集成的晶體管數量為1億2千萬個,核心尺寸為182平方毫米,要大于目前主流的GPU規格。而在功率方面,AGEIA宣稱PhysX的 功率非常低,大約只有25W左右。和顯卡一樣,由于要涉及到大規模的數據運算和處理,PhysX也搭配了128M的GDDR3顯存,所以說物理加速除了沒 有視頻輸出接口以外,外觀上和顯卡的區別并不大。 Novodex SDK軟件開發包 ,EPIC的Unreal3.0就采用了PPU技術,直接導致XBOX360對PPU的使用,PS3也宣布將采用這一先進技術。已經看到以及將要看到的使 用PPU的游戲包括:Rise of Nations:Rise of Legends(國家的崛起:崛起傳奇)、Ghost Recon 3(幽靈行動 3)、City of Villians ,Bet on Soldier(賭命戰士) 。目前PPU的價格大約是100-400美刀,略有點貴,但是相信隨著技術的進步和市場競爭的加劇,比然會引起一輪革命。
  • AGEIA #
    Ageia(奧加)的官方網站
  • Ageia PhysX Card - Cheng's Command Center - by Cheng #
    這一篇PPU的文章,可以加深一下印象,簡單易于理解。
  • 真實游戲場景,PPU物理卡效果驚人!——家用電腦-->硬件廣場-->硬件最前線 #
    此文是另外一篇介紹PPU的文章,通過這篇文章我對PPU有了一個直觀的了解,想來也算是虛擬現實領域的一種發展方向,所以有機會還是了解一下吧。
  • Havok公開指責PPU物理加速卡--Mydrivers.com驅動之家新聞中心 #
    今天在BBS上看到Ageia在找人,看到PPU的字樣,想到原來大牛師兄曾經提到過該名次,還玩了一款游戲,順便查了一下,發現幾篇文章。此文是其中一篇。
posted @ 2006-05-25 22:28 苦行僧 閱讀(1192) | 評論 (0)編輯 收藏

2006-5-24

2006-5-22

  • #pragma用法 #
    #pragma是總體來說在程序里邊而不是在IDE里邊指定編譯選項的做法
posted @ 2006-05-25 14:42 苦行僧 閱讀(927) | 評論 (0)編輯 收藏

2006年5月20日 #

2006-5-15

2006-5-12

???? Humus#
太人也女馬白勺牛了,這個世界上這么多牛人聚集在圖形里邊,發誓畢業以后絕對不干這一行。
posted @ 2006-05-20 01:24 苦行僧 閱讀(827) | 評論 (0)編輯 收藏

2006年5月19日 #

終于把基于CgFx的引擎調出來了,這周要重新規劃一下了,又要考慮好多東西,還沒有形成思路,就零零散散的記錄一些吧。

1,FragmentProgram不處理的東西,如fog,depth會自動流到處理他們的環節。
2, VertexProgram替代掉的就只是Tranform和Lighting,FragmentProgram替代掉的時Fragment的Color和紋理插值出來的Color按照紋理的顏色模式進行混合的部分。
3,openGL的高級版本中有,光照中glLightMode()中可以指定將Specular的部分帶到光柵化以后起作用,就是說即便VertexProgram只是輸出一個Color值,最后即便采用GL_REPLACE的方式也可以體現出Specular來。我想這一部分FS是不能控制的。


看到一個網址:http://tony3d.cnblogs.com/archive/2006/05/02/390753.html
本來我寫這個是想保存一點資料,轉載一點文章(現在也不轉了,有時候涉及版權的問題),記錄一點心得,沒想到這家伙居然把我的blog也列進去了,真是丟人現眼,呵呵,還是找寫真正高手的blog吧,比如http://www.humus.ca/。
posted @ 2006-05-19 16:09 苦行僧 閱讀(858) | 評論 (0)編輯 收藏

2006年5月15日 #

1,當析構函數為protected時,不能delete掉該對象的指針,這樣就可以用來實現智能指針,結果就是從來不會顯式調用delete一個refptr的對象。
2,在vs.net環境中,要把working directory設置一下,才能找到bin目錄。
3,LNK2019錯誤涉及到的往往是在定義class的時候沒有在前邊添加NSGDLL的標識,這樣就不會被編譯到lib里邊,就會在另外一個工程使用該lib造成鏈接的時候出問題。
4,cgFx的初始化工作要在glutCreateWindows之后進行,因為沒有windows窗口句柄產生的時候是不能createContext的。

待續...
posted @ 2006-05-15 16:11 苦行僧 閱讀(1128) | 評論 (0)編輯 收藏

2006年5月12日 #

2006-5-9

2006-5-8

HOWTO: Write a Summer of Code application | drupal.org #
Tell us how to write a SOC application
posted @ 2006-05-12 03:04 苦行僧 閱讀(831) | 評論 (0)編輯 收藏

2006年4月25日 #

流水帳,隨手記下:
  • 直到現在我才明白,CGCGCGFXCGFXCG是一種語言,CGFX是一套編程模型,而我們要做的是封裝cgFX,有了CGFX就有更強的一種表達,可以對不同的Profile指定配置,可以設定openGL state
  • 對于D3D的繪制方式而言,是根據名字得到Technique的句柄,然后每次繪制Mesh前設定生效的Technique,在遍歷該Technique下的所有Pass,逐一進行繪制;
  • 那么對于OpenGL來說,我們只知道在CreateProgram的時候指定一個入口函數,那對于具有多個Technique的情況我們還不知道怎么進行切換,是用兩個Program表示呢,還是調用什么參數可以切換?
  • 但是不管怎么表示,從概念上是應該允許像D3D那樣指定的,即在某一個Mesh繪制前指定用某一個Effect的某一個Technique,甚至Pass
  • 后來查到在cg1.2發布的cg_tookit里邊提供了CgFx的很好的支持,能夠想D3D Effect格式那樣ICgFxEffect->setTechnique(),有pass->begin(),pass->end()這種方法,但是不知道為什么到cg1.4把這些東西去掉了。在cgReleaseNote里邊寫到:
    • Complete rewrite of CgFX, including an API integrated with the Cg runtime API, support for extensible, cross-platform graphics state management, and support for unsized arrays and interfaces.
??? 就是說重寫了,跟以前不一樣兒了,后邊給了對于使用CgFx庫的說明:
  • Applications and effects that used previous versions of CgFX will require modification.Applications that use CgFX will have to be modified to use the new CgFX API. If the supplied OpenGL state manager for CgFX is used, the effect files themselves must be modified. The effects must be changed to use OpenGL state assignments, rather than the D3D state assignments supported in prior versions of CgFX. A subsequent release of Cg will provide D3D and cross-platform state managers for CgFX.
  • CgFX has been redesigned and re-implemented. As noted above, existing applications that use CgFX must be modified if the new API is to be used. In addition, if you wish to use the supplied “native” OpenGL state manager, which assumes that OpenGL-style state names and vales are used in effects, existing effects must be modified to use OpenGL-style states. See the “Introduction to CgFX” chapter in the Cg Users Manual for more details. If you have questions or problems related to porting existing CgFX applications, please contact NVIDIA developer relations.
太惡心了,就是說原來如果你用了很好實現的CgFx,現在對不起,不能用了。所以我看到的早期的使用cg1.2的nebula2都封裝了CGFX,但是到了1.4不知道為什么,發布的CG_tookit里邊卻去掉了這個CGFX的運行庫。nebula2新的版本也去掉了CGFX,只剩下D3DShader的支持。
上邊這段話最后說如果有問題,聯系Nvidia developer relations。我想一想也沒有辦法了,去問wj大牛都不知道怎么回事兒,那只好去問一下了,結果到了nvidia developer網站上也差不到可以直接問誰,還填了一張表注冊了一個用戶,現在還沒有被批下來。最后實在等不及了,去論壇上問吧。下面幾個地址,沒準兒有熟知cg的人可以答復一下.

http://www.gamedev.net/community/forums/topic.asp?topic_id=389475

?

http://www.smth.org/bbscon.php?bid=50&id=43518

?

http://www.smth.org/bbscon.php?bid=197&id=50169

?

http://forums.nvidia.com/index.php?showtopic=13875


再看看Nvidia到底怎么說的:
  • Cg1.1里邊關于cgFX說:

CgFX beta support for DirectX 8, DirectX 9, and OpenGL

  • Cg1.2里邊關于cgFX說:

Cg Effects Explained document?

CgFX beta support for DirectX 8, DirectX 9, and OpenGL

  • Cg1.4.1里邊關于cgFX說:

Complete rewrite of CgFX, including an API integrated with the Cg runtime API, support for extensible, cross-platform graphics state management, and support for unsized arrays and interfaces.

  • Cg1.5beta里邊關于cgFX說:

Cg 1.3 and 1.4 style Effects files supported



  • 又考察了openGL2.0GLSL,發現對于繪制的描述感覺跟CG1.4FX的運行庫也差不多,又因為不熟悉,還是回頭看cgFX吧。
  • 裝了cg1.2看原來的文檔,學習筆記如下:
  • cgFX主要提供了三點好處:
    • 不同硬件得以配置(technique,profile)
    • 多遍繪制的描述(pass)
    • 表達了環境信息(state)
  • cgFXmicrosoft FX2.0DirectX9.0Effect格式相似
  • cgFX既可以在openGL又可以在D3D上運行,便于以后擴展
  • 主要方法接口:
  • CgFXCreateEffect,CgFXCreateEffectFromFileA,CgFXCreateEffectCompiler,CgFXCreateEffectCompilerFromFileA
  • CgFXSetDevice,CgFXFreeDevice
  • CGFXHANDLE GetTechnique(UINT index);CGFXHANDLE GetTechniqueByName(LPCSTR name);
  • CGFXHANDLE GetPass(CGFXHANDLE technique, UINT index);CGFXHANDLE GetPassByName(CGFXHANDLE technique, LPCSTR name);
  • CGFXHANDLE GetParameter(CGFXHANDLE parent, UINT index);
  • CGFXHANDLE GetParameterByName(CGFXHANDLE parent, LPCSTR name);
  • CGFXHANDLE GetParameterBySemantic(CGFXHANDLE parent, LPCSTR name);
  • CGFXHANDLE GetParameterElement(CGFXHANDLE parent, UINT element);
  • HRESULT FindNextValidTechnique(CGFXHANDLE hTechnique,CGFXHANDLE *pTechnique);
  • HRESULT SetTechnique(CGFXHANDLE pTechnique);CGFXHANDLE GetCurrentTechnique();
  • HRESULT Begin(UINT* pPasses, DWORD Flags);HRESULT Pass(UINT passNum);HRESULT End();
  • HRESULT CloneEffect(ICgFXEffect** ppNewEffect);
  • HRESULT GetDevice(LPVOID* ppDevice);
  • HRESULT OnLostDevice();
  • HRESULT OnResetDevice();
  • 主要接口:
  • ICgFXBaseEffect
  • ICgFXEffect
  • ICgFXEffectCompiler
posted @ 2006-04-25 23:41 苦行僧 閱讀(1475) | 評論 (0)編輯 收藏

2006年4月22日 #

shade 學習筆記( 3 )- cg openGL runtime library

  1. uniform 參數設置到 openGL 以后是保存在 CG openGL runtime 里邊或者 cg core runtime 里邊,而 d 3d 是直接保存到 GPU constant memory 里邊。
  2. openGL 在使用 CG 的時候必須首先使用wglCreateContext() or glXCreateContext()來創建 openGL Context
  3. 設置 Uniform參數:
  • cgGLSetParameter,兩種類型 float (f),double(d).
  • cgGLSetMatrixParameterfr , cgGLSetMatrixParameter dc, 四種, c 表示列向量為主, r 表示 row 向量為主。
  • cgGLSetStateMatrixParameter()可以用來設置狀態矩陣,包括 ModelView 矩陣, Projection 矩陣,紋理矩陣。
  • cgGLSetParameterArray()用來設置 Uniform 的數組參數;cgGLSetMatrixParameterArrayfr用來設置矩陣數組
??? 設置變量參數:
  • 因為FP的變量參數是按照光柵化插值后的結果來設置的,所以只有VS程序有變量參數。
  • 設置變量參數兩步:
    1. cgGLSetParameterPointer():設置變量數組,我理解就是頂點數組
    2. void cgGLEnableClientState(CGparameter parameter);和void cgGLDisableClientState(CGparameter parameter);使得該參數有效。
    • 注意:cgGLSetParameter也可以用來設置變量參數,這時采用的是openGL立即模式,也就相當于glVertex,glNormalglColor這樣的做法吧,但是我想這顯然是一種效率不高的做法。且cgGLGetParameter不能用來取變量參數。
??? 設置Sampler參數:Sampler和紋理是一一對應的,所以實際就是對一段頂點繪制指定一個紋理。
  • cgGLSetTextureParameter(CGparameter parameter,GLuint textureName);來指定一個紋理給CGParameter
  • void cgGLEnableTextureParameter(CGparameter parameter);來使紋理生效。void cgGLDisableTextureParameter(CGparameter parameter);使其失效,相當于glBindTexture命令。
void cgGLSetOptimalOptions(CGprofile profile);來使用最優的Profile。而CGbool cgGLIsProfileSupported(CGprofile profile);可以用來判斷硬件是否支持該Profile

經過這幾天的學習,終于大概明白了shader是怎么work的了,但是對于用programmable pipeline替換掉fixed function還是一頭霧水。

?

posted @ 2006-04-22 06:37 苦行僧 閱讀(2475) | 評論 (1)編輯 收藏

2006-4-22

365Key-天天網摘生成

posted @ 2006-04-22 05:53 苦行僧 閱讀(796) | 評論 (0)編輯 收藏

2006年4月21日 #

     摘要:   閱讀全文
posted @ 2006-04-21 01:29 苦行僧 閱讀(1503) | 評論 (0)編輯 收藏

2006年4月20日 #

     摘要:   閱讀全文
posted @ 2006-04-20 01:43 苦行僧 閱讀(2113) | 評論 (0)編輯 收藏

     摘要:   閱讀全文
posted @ 2006-04-20 01:33 苦行僧 閱讀(756) | 評論 (0)編輯 收藏

2006年4月19日 #

     摘要:   閱讀全文
posted @ 2006-04-19 00:42 苦行僧 閱讀(720) | 評論 (0)編輯 收藏

2006年4月16日 #

     摘要:   閱讀全文
posted @ 2006-04-16 05:19 苦行僧 閱讀(766) | 評論 (1)編輯 收藏

2006年3月27日 #

     摘要:   閱讀全文
posted @ 2006-03-27 13:57 苦行僧 閱讀(1199) | 評論 (2)編輯 收藏

2006年3月24日 #

我的個人知識管理更新

posted @ 2006-03-24 12:28 苦行僧 閱讀(1227) | 評論 (3)編輯 收藏

2006年3月18日 #

     摘要: 一般而言,比起C程序來說,C++游戲程序是可重用和可維護的。可這真的有價值嗎?復雜的C++可以在速度上與傳統的C程序相提并論嗎?
  閱讀全文
posted @ 2006-03-18 00:03 苦行僧 閱讀(1453) | 評論 (2)編輯 收藏

僅列出標題  下一頁
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线精品视频一区二区| 亚洲日韩视频| 久久精品中文字幕免费mv| 亚洲一区三区电影在线观看| 国产精品成av人在线视午夜片 | 午夜精品久久久久久久男人的天堂 | 欧美日韩国产天堂| 99精品久久免费看蜜臀剧情介绍| 欧美高清影院| 欧美日韩成人在线| 午夜欧美精品久久久久久久| 午夜日韩av| 亚洲国产精品久久久久婷婷884| 蜜臀久久99精品久久久画质超高清| 久久这里有精品视频 | 欧美精品在线看| 亚洲网站啪啪| 香蕉久久夜色精品国产使用方法| 国内精品免费午夜毛片| 欧美激情精品久久久久久免费印度| 欧美国产极速在线| 亚欧成人在线| 另类激情亚洲| 欧美一级欧美一级在线播放| 久久久久久久性| 在线视频日韩| 久久精品99| 亚洲视频在线观看免费| 欧美一区二区视频网站| 亚洲国产一区二区三区a毛片| 一区二区三区www| 精品电影在线观看| 宅男精品导航| 亚洲黄色片网站| 亚洲影院色无极综合| 亚洲精品女人| 久久久高清一区二区三区| 在线综合+亚洲+欧美中文字幕| 欧美在线|欧美| 亚洲天堂成人在线视频| 久久综合一区二区| 欧美一区二区高清| 欧美精品成人91久久久久久久| 久久精品视频在线播放| 欧美日韩成人综合在线一区二区| 久久久亚洲成人| 国产精品美女主播在线观看纯欲| 欧美福利视频网站| 精品91视频| 欧美一区二区日韩一区二区| 中文精品一区二区三区| 欧美成年人网站| 噜噜噜91成人网| 国产亚洲a∨片在线观看| 一区二区免费在线播放| 亚洲麻豆av| 欧美高清不卡在线| 欧美黄色aaaa| 亚洲国产精品一区二区尤物区 | 亚洲电影成人| 国内精品伊人久久久久av一坑| 亚洲图片欧洲图片av| 一区电影在线观看| 欧美a级在线| 欧美国产一区视频在线观看| 国内激情久久| 久久久久久成人| 美女精品在线| 亚洲国产精品美女| 欧美 日韩 国产在线| 欧美黄在线观看| 亚洲日本一区二区| 欧美激情视频一区二区三区免费 | 欧美激情1区2区3区| 在线日本成人| 免费欧美在线| 亚洲国产精品福利| aⅴ色国产欧美| 国产精品高清在线| 亚洲在线观看免费| 久久精品一本| 亚洲电影观看| 欧美精彩视频一区二区三区| 亚洲精品永久免费| 午夜一区二区三区在线观看| 国产精品入口夜色视频大尺度| 亚洲尤物精选| 欧美丰满少妇xxxbbb| 亚洲乱码久久| 国产伦精品一区二区三区免费迷 | 快射av在线播放一区| 亚洲黄色在线看| 亚洲综合欧美| 一区二区三区在线观看国产| 免费在线看一区| 一本色道久久精品| 久久久久久久激情视频| 亚洲人成人一区二区在线观看| 欧美日韩一区国产| 久久电影一区| 亚洲精品日韩久久| 久久久精品视频成人| 亚洲精选在线| 国产视频一区在线观看一区免费| 久久综合色影院| 亚洲天堂av在线免费| 美女视频黄 久久| 亚洲一区二区成人在线观看| 国产综合欧美在线看| 欧美日产国产成人免费图片| 亚洲欧美在线磁力| 亚洲日本国产| 久久一区中文字幕| 亚洲欧美在线高清| 亚洲激情六月丁香| 国产一区二区久久精品| 欧美精品首页| 久久影院午夜论| 欧美一区久久| 一区二区三区日韩精品| 亚洲电影天堂av| 另类综合日韩欧美亚洲| 欧美一区二区三区在线视频| 99热在线精品观看| 曰本成人黄色| 国产主播一区二区三区| 欧美色大人视频| 欧美激情bt| 免费成人av在线看| 久久久噜噜噜久久中文字幕色伊伊| 在线视频欧美日韩| 亚洲精品乱码久久久久久蜜桃麻豆| 久久免费国产精品| 久久精品国产亚洲高清剧情介绍| 一区二区国产日产| 亚洲理伦电影| 亚洲激情综合| 亚洲精品久久7777| 亚洲国产精品成人| 亚洲国产91色在线| 亚洲高清不卡在线| 亚洲国产精品第一区二区| 在线观看国产成人av片| 韩国av一区二区| 国内精品久久久久影院 日本资源| 国产精品一二三四| 国产乱人伦精品一区二区| 国产精品一区久久久久| 国产精品午夜视频| 国产精品亚洲网站| 国产日韩欧美91| 国产婷婷色综合av蜜臀av | 欧美日韩成人激情| 欧美日韩国产小视频| 欧美丝袜第一区| 国产精品欧美一区喷水| 国产乱码精品一区二区三区忘忧草| 国产精品亚洲视频| 国产亚洲欧美另类中文| 黄色免费成人| 亚洲精品视频在线观看免费| 亚洲靠逼com| 午夜久久99| 久久五月天婷婷| 欧美激情中文字幕乱码免费| 亚洲国产一区二区在线| aaa亚洲精品一二三区| 午夜日韩在线观看| 久久综合成人精品亚洲另类欧美| 美女主播视频一区| 欧美午夜理伦三级在线观看| 国产酒店精品激情| 亚洲欧洲精品成人久久奇米网 | 国产美女精品免费电影| 激情久久综合| 日韩一区二区福利| 久久爱另类一区二区小说| 老巨人导航500精品| 日韩午夜在线电影| 欧美一区二区三区久久精品茉莉花| 久久久之久亚州精品露出| 欧美日韩成人综合天天影院| 国产亚洲aⅴaaaaaa毛片| 亚洲经典视频在线观看| 欧美一区二区视频在线| 亚洲电影激情视频网站| 亚洲欧美欧美一区二区三区| 美日韩精品免费观看视频| 国产精品视频999| 亚洲巨乳在线| 久久综合色一综合色88| 一本一本久久a久久精品综合麻豆| 久久狠狠亚洲综合| 欧美日韩亚洲一区三区 | 国产精品黄色在线观看| 亚洲风情在线资源站| 午夜精品久久久久影视| 亚洲激情成人在线| 久久人体大胆视频| 国产亚洲欧美在线|