• <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>
            隨筆-341  評(píng)論-2670  文章-0  trackbacks-0
             
                 摘要: 關(guān)于這個(gè)問(wèn)題實(shí)在沒(méi)有一個(gè)特別好的方法,基本方法還是來(lái)源于對(duì)intel手冊(cè)的觀察。因?yàn)橹噶畋硎菑氖謨?cè)上面復(fù)制出來(lái)的,但是上面又沒(méi)有標(biāo)明66H前綴,怎么辦呢?人肉找規(guī)律。這里貼出了區(qū)分的代碼(進(jìn)對(duì)于之前挑選出來(lái)的絕大多數(shù)x86與x87指令)以及生成后的一個(gè)很有規(guī)則的文件以供參考。  閱讀全文
            posted @ 2009-02-16 21:53 陳梓瀚(vczh) 閱讀(2371) | 評(píng)論 (1)編輯 收藏
                 摘要: 完整的轉(zhuǎn)換方法需要intel提供免費(fèi)翻印下載的那本手冊(cè)。手冊(cè)過(guò)于精簡(jiǎn),因此這里給出的例子用于輔助對(duì)手冊(cè)進(jìn)行理解。假設(shè)讀者閱讀過(guò)intel提供的手冊(cè),或其他相關(guān)資料。  閱讀全文
            posted @ 2009-02-15 23:45 陳梓瀚(vczh) 閱讀(3674) | 評(píng)論 (5)編輯 收藏
                 摘要: 為了節(jié)省工作量,我打開(kāi)intel的手冊(cè),然后將那些框框里面的字符串復(fù)制到一個(gè)文本文件里面,最后寫一個(gè)C++程序用正則表達(dá)式處理。流程如下(含代碼和文件):  閱讀全文
            posted @ 2009-02-14 20:21 陳梓瀚(vczh) 閱讀(3142) | 評(píng)論 (2)編輯 收藏
                JIT是just in time,一門包含了JIT的腳本引擎就是將腳本編譯成機(jī)器碼,讓CPU而不是自己寫的虛擬機(jī)運(yùn)行。這樣做有助于提供高速的運(yùn)行環(huán)境、以及與C++更加方便的融合。這次計(jì)劃所需要的任務(wù)如下:

                匯編器。匯編器指的是可以做如下轉(zhuǎn)變的一個(gè)工具:機(jī)器碼 <--> 匯編程序的數(shù)據(jù)結(jié)構(gòu) <--> 匯編程序文本表示。有了三個(gè)可以互相轉(zhuǎn)換的結(jié)構(gòu)之后,編譯器可以在更高層的層面上開(kāi)發(fā),調(diào)試也變得更加容易。

                中間指令。由于x86的指令集過(guò)于復(fù)雜,并且以后可能會(huì)發(fā)生重大變更,因此有必要開(kāi)發(fā)一個(gè)容易使用的、功能簡(jiǎn)潔但是強(qiáng)大的另一個(gè)指令集,提供中間指令到匯編的單向轉(zhuǎn)換操作。這主要是用來(lái)解決x86指令互相之間操作不夠統(tǒng)一、寄存器分配和更好的x86指令選擇等問(wèn)題,并且可以讓以后的編譯器更加容易開(kāi)發(fā)。

                內(nèi)存管理器。由于匯編是不處理內(nèi)存申請(qǐng)釋放等操作的,因此需要將內(nèi)存管理器,連同垃圾收集器,一起封裝成函數(shù)供匯編代碼調(diào)用。這個(gè)內(nèi)存管理器屆時(shí)將使用C#和Java均驗(yàn)證過(guò)的多代收集方法。如果語(yǔ)言不直接操作指針的話,還能提供壓縮操作。

                基本語(yǔ)言。基本語(yǔ)言擁有絕大多數(shù)的沒(méi)有重復(fù)的必要的基礎(chǔ)設(shè)施,并提供基本語(yǔ)言到中間指令的單向轉(zhuǎn)換操作。

                腳本語(yǔ)言。當(dāng)然基本語(yǔ)言如果足夠強(qiáng)大的話也能變成一門腳本。這里指的腳本是類似DSL那樣有特殊目的語(yǔ)言。編譯器所需要的詞法分析器可以大部分交給我開(kāi)發(fā)的VL++2.0的Syngram負(fù)責(zé),并且編譯成基本語(yǔ)言。以后制作DSL將會(huì)變得非常簡(jiǎn)單。

                匯編器是體力活,因此我想了一個(gè)辦法。Intel手冊(cè)上的指令集的二進(jìn)制碼表還是寫得相當(dāng)有規(guī)律的,因此可以復(fù)制下來(lái)集中到一起(已完成),然后使用正則表達(dá)式進(jìn)行第一步處理,將碼表、語(yǔ)法和說(shuō)明三部分分開(kāi)成更加合理的格式,然后再用一個(gè)正則表達(dá)式進(jìn)行處理,最后生成記載著翻譯方法的C++代碼。等這一部分完成之后,可能會(huì)給出相關(guān)的代碼,并且解釋x86在32位下的詳細(xì)的指令格式。64位等購(gòu)買新電腦并安裝win7之后才開(kāi)始,目前沒(méi)有條件。
            posted @ 2009-02-13 21:18 陳梓瀚(vczh) 閱讀(2793) | 評(píng)論 (5)編輯 收藏
                使用這篇文章使用的相同的算法渲染的一張帶有透明物體的圖。圖中的正方形板的下方有淡淡的黃色,球背后的陰影邊緣是軟的。由于沒(méi)有優(yōu)化的緣故,這幅圖在2×1.5GHz的筆記本上渲染了一個(gè)半小時(shí)。

            posted @ 2009-01-31 09:47 陳梓瀚(vczh) 閱讀(3055) | 評(píng)論 (1)編輯 收藏
                 摘要: 所謂的GI可以簡(jiǎn)單的理解為渲染一個(gè)像素的時(shí)候,就在那個(gè)像素的法向量位置渲染一個(gè)半球,統(tǒng)計(jì)并作為光源輸入。現(xiàn)在使用一個(gè)比較粗糙的平行光在天空盒上的投影函數(shù):f(t)=cos(t)*4/(1-cos(a)),其中a是光斑夾角的一半。GI花了好長(zhǎng)時(shí)間,圖如下:

              閱讀全文
            posted @ 2009-01-30 06:54 陳梓瀚(vczh) 閱讀(2556) | 評(píng)論 (0)編輯 收藏
                 摘要: 之前搞錯(cuò)了一個(gè)fresnel公式,實(shí)際上全透明物體的fresnel公式應(yīng)當(dāng)如下:

            f=入射角
            t=出射角,有sint=sinf/n
            新的factor=(sin2(f-t)/sin2(f+t)+tan2(f-t)/tan2(f+t))/2,這樣的話出現(xiàn)全反射的時(shí)候,factor=1。  閱讀全文
            posted @ 2009-01-28 00:27 陳梓瀚(vczh) 閱讀(2206) | 評(píng)論 (0)編輯 收藏
                 摘要: 由于之前的建模方法亂七八糟,現(xiàn)在使用一般的Fresnel方法為材質(zhì)建模。這是一個(gè)處理折射和反射光比率的函數(shù)。計(jì)算方法如下:factor=bias+scale(1+I×N)^power,將factor剪裁之[0,1]范圍內(nèi)之后,折射光/反射光比率為factor/(1-factor)。bias、scale與power是材質(zhì)參數(shù),需直接指定。  閱讀全文
            posted @ 2009-01-24 09:55 陳梓瀚(vczh) 閱讀(1789) | 評(píng)論 (0)編輯 收藏
                 摘要: 明天得開(kāi)始研究別人是怎么處理材質(zhì)的了。目前使用的方法是(反射來(lái)源×反射基準(zhǔn))×折射比率+(光源×材質(zhì)顏色)×(1-折射比率)+[(折射來(lái)源+底面反射)×衰減+(1-衰減)]×透明物體內(nèi)部顏色減。等材質(zhì)完全做完之后,目前的渲染算法就可以為GI服務(wù)了。最后是計(jì)算混合的代碼:  閱讀全文
            posted @ 2009-01-22 06:02 陳梓瀚(vczh) 閱讀(2218) | 評(píng)論 (2)編輯 收藏
                 摘要: 由于一時(shí)找不到題目寫,所以這兩天就搞了一個(gè)簡(jiǎn)單的基于光線追蹤的軟件渲染器。準(zhǔn)備花點(diǎn)時(shí)間做下去了。從昨天開(kāi)始到現(xiàn)在實(shí)現(xiàn)的東西有反射、陰影、多光源、線性變換等。
              閱讀全文
            posted @ 2009-01-19 00:48 陳梓瀚(vczh) 閱讀(4081) | 評(píng)論 (5)編輯 收藏
            僅列出標(biāo)題
            共35頁(yè): First 19 20 21 22 23 24 25 26 27 Last 
            久久综合给合久久国产免费 | 精品久久久久久久| 久久婷婷成人综合色综合| 久久久久人妻一区二区三区vr| 久久国产精品久久久| 久久se精品一区二区影院| 久久丫忘忧草产品| 一本一道久久精品综合| 国产成人精品三上悠亚久久 | 美女久久久久久| 久久免费高清视频| 午夜欧美精品久久久久久久| 久久影院亚洲一区| 日韩精品久久久肉伦网站| 久久久免费观成人影院| 久久久噜噜噜久久熟女AA片| 精品国产综合区久久久久久| 久久精品国产亚洲av影院| 久久久久久久综合综合狠狠| 国产精品伦理久久久久久| 一本一道久久精品综合| 人妻丰满AV无码久久不卡| 性做久久久久久久久| 无码人妻久久一区二区三区蜜桃 | 亚洲va中文字幕无码久久| 久久精品国产亚洲7777| 2022年国产精品久久久久| 国产成人精品白浆久久69| 久久精品人人槡人妻人人玩AV| 麻豆久久| 欧洲国产伦久久久久久久| 国产精品无码久久四虎| 久久青青草原综合伊人| 精品久久久久久国产潘金莲| 久久国语露脸国产精品电影| 久久久久亚洲av无码专区导航| 久久久久亚洲AV成人网人人网站| 亚洲一级Av无码毛片久久精品| 久久亚洲AV无码精品色午夜 | 久久97久久97精品免视看| 亚洲国产精品久久久久网站|