• <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>
            AstaTus
            -- 夏天不熱。。
            posts - 22,comments - 12,trackbacks - 0

                這個兩個函數的參數一大堆,害我頭都大了2,3倍。。今天整理下已經能夠大概清晰明白的參數。。
            緩存存的是一個屏幕像素的值。。
               先來SetTextureStageState:

               HRESULT SetTextureStageState(
               DWORD Stage,
               D3DTEXTURESTAGESTATETYPE Type,
               DWORD Value
               );

               stage這個參數是指第幾層紋理,1.2.3...9,, 這個版本的dx最多支持9層紋理。
               Type:Defines the type of operation that a texture stage will perform.//定義對該紋理的哪個屬進行設置,值很多。。。
               Value: 指的是前面所選屬性的值

            type:
                D3DTSS_ALPHAOP = 4,     //alpha通道的運算,
                D3DTSS_COLOROP = 1,     //顏色的運算
                                                                //這里的op 是operations,指對前面設置的顏色進行運算
                                                               //既后面的2個type:D3DTSS_COLORARG1,D3DTSS_COLORARG2
                                                               //或D3DTSS_ALPHAARG1,D3DTSS_ALPHAARG2 = 6
            value:
                D3DTOP_DISABLE = 1,                           //該紋理無效,既不顯示
                D3DTOP_SELECTARG1 = 2,                  //選擇第1個顏色值(既D3DTSS_COLORARG1的值)作為紋理顏色輸出
                D3DTOP_SELECTARG2 = 3,                  //選擇第2個顏色值(既D3DTSS_COLORARG2的值)作為紋理顏色輸出
                D3DTOP_MODULATE = 4,                    //將顏色1和顏色2相乘作為紋理顏色輸出
                D3DTOP_MODULATE2X = 5,               //將顏色1和顏色2相乘后左移1bit(用于增亮)作為紋理顏色輸出 ,
                D3DTOP_MODULATE4X = 6,               //將顏色1和顏色2相乘后左移2bit(用于增亮)作為紋理顏色輸出
                D3DTOP_ADD = 7,                                 //將顏色1和顏色2相加作為紋理顏色輸出
                D3DTOP_ADDSIGNED = 8,                  ///////////后面的參見SDK 都是對2個顏色進行運算
                D3DTOP_ADDSIGNED2X = 9,
                D3DTOP_SUBTRACT = 10,
                D3DTOP_ADDSMOOTH = 11,
                D3DTOP_BLENDDIFFUSEALPHA = 12,
                D3DTOP_BLENDTEXTUREALPHA = 13,
                D3DTOP_BLENDFACTORALPHA = 14,
                D3DTOP_BLENDTEXTUREALPHAPM = 15,
                D3DTOP_BLENDCURRENTALPHA = 16,
                D3DTOP_PREMODULATE = 17,
                D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
                D3DTOP_MODULATECOLOR_ADDALPHA = 19,
                D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
                D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
                D3DTOP_BUMPENVMAP = 22,
                D3DTOP_BUMPENVMAPLUMINANCE = 23,
                D3DTOP_DOTPRODUCT3 = 24,
                D3DTOP_MULTIPLYADD = 25,
                D3DTOP_LERP = 26,
                D3DTOP_FORCE_DWORD = 0x7fffffff,

                 
            type:
                D3DTSS_COLORARG1 = 2,  
                D3DTSS_COLORARG2 = 3,
                D3DTSS_ALPHAARG1 = 5,
                D3DTSS_ALPHAARG2 = 6,
                D3DTSS_COLORARG0 = 26,
                D3DTSS_ALPHAARG0 = 27,
                D3DTSS_RESULTARG = 28,
            value:
                 這里的TA指的是texture arguments ,
                  D3DTA_CONSTANT             //給當前紋理一個固定的值;
                  D3DTA_DIFFUSE;               //diffuse的值作為參數 diffuse 可能有多個來源。。比如材質,vertex
                  D3DTA_SELECTMASK         //Mask value for all arguments; not used when setting texture arguments 這句話不理解啊,為什么要偽裝呢  
                  D3DTA_SPECULAR             //取spercular 的值作為參數  來源同diffuse
                  D3DTA_TEMP                     //待定。。
                  D3DTA_TEXTURE              //用紋理的顏色值作為參數
                  D3DTA_TFACTOR              //待定。。

             

            ////////////////////////////////////////////////////////////////////////////////////
            以下還沒來得及研究。。貌似叫難懂,還請高人指點啊


            D3DTSS_BUMPENVMAT00 = 7,
            D3DTSS_BUMPENVMAT01 = 8,
            D3DTSS_BUMPENVMAT10 = 9,
            D3DTSS_BUMPENVMAT11 = 10,
            D3DTSS_TEXCOORDINDEX = 11,
            D3DTSS_BUMPENVLSCALE = 22,
            D3DTSS_BUMPENVLOFFSET = 23,
            D3DTSS_TEXTURETRANSFORMFLAGS = 24,
            D3DTSS_CONSTANT = 32,
            D3DTSS_FORCE_DWORD = 0x7fffffff,

             


            HRESULT SetRenderState(
            D3DRENDERSTATETYPE State,     //所要設置的狀態
            DWORD Value                   //該狀態的值
            );
             
            State 的取值
             
             
             
             
             
             
             

             

            posted on 2008-10-08 23:12 AstaTus 閱讀(3234) 評論(3)  編輯 收藏 引用 所屬分類: DIRECTX9

            FeedBack:
            # re: DirectX9 的 SetTextureStageState & SetRenderState
            2008-12-22 09:29 | sen
            我也剛看,頭大。。。  回復  更多評論
              
            # re: DirectX9 的 SetTextureStageState & SetRenderState
            2010-07-09 00:18 | 好看的電影
            剛看龍書到這里卡住了 相當感謝博主  回復  更多評論
              
            # re: DirectX9 的 SetTextureStageState & SetRenderState
            2010-08-08 21:16 | 好看的電影
            我看的累死了   回復  更多評論
              
            无码乱码观看精品久久| 国产高潮国产高潮久久久91| 久久亚洲AV永久无码精品| 婷婷久久综合| 亚洲精品无码专区久久久| 久久精品国产亚洲77777| 2021国产成人精品久久| 亚洲精品乱码久久久久久不卡| 久久久久亚洲AV片无码下载蜜桃| 国产精品久久久久蜜芽| 日本欧美久久久久免费播放网| 久久精品免费一区二区三区| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 99re这里只有精品热久久| 精品多毛少妇人妻AV免费久久| 久久久久国产精品嫩草影院| 久久青青草原综合伊人| 伊人久久大香线蕉av一区| 久久无码一区二区三区少妇| 日韩欧美亚洲国产精品字幕久久久| 伊人久久大香线蕉av不卡| 国産精品久久久久久久| 久久精品国产影库免费看| 97精品伊人久久久大香线蕉| 国产精品亚洲美女久久久| 亚洲综合精品香蕉久久网| 久久亚洲天堂| 99久久夜色精品国产网站| 久久久久女人精品毛片| 久久人人爽人人爽人人片av麻烦| 久久AⅤ人妻少妇嫩草影院| 国产精品久久波多野结衣| 日韩久久久久久中文人妻| 国内精品久久久久影院薰衣草 | 无码国内精品久久人妻麻豆按摩| 高清免费久久午夜精品| 久久精品www人人爽人人| 中文字幕久久波多野结衣av| 久久人人爽人人爽人人片AV麻烦 | 亚洲精品乱码久久久久久蜜桃图片| 欧美午夜A∨大片久久 |