亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dxrender.pas

?? 傳奇源代碼的delphi版本
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
      mov eax,ByteCount
      mov edx,offset @@ByteCount-1
      sub edx,offset @@StartCode
      mov byte ptr [ecx+edx],al

      {  @@Pitch  }
      mov eax,Pitch
      mov edx,offset @@Pitch-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax

      {  @@Bits  }
      mov eax,Bits
      mov edx,offset @@Bits-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax
    end;
  end;

  procedure genInitZBuffer(var Code: Pointer);
  var
    _Axis: Pointer;
    ByteCount, Pitch: DWORD;
    Bits, _ZBuf: Pointer;
  begin
    if not ZBuffer.Enable then Exit;

    _Axis := @Axis.Axis;

    ByteCount := ZBuffer.Surface.BitCount div 8;
    Pitch := ZBuffer.Surface.Pitch;
    Bits := ZBuffer.Surface.Bits;

    _ZBuf := @F_ZBuf;

    asm
      jmp @@EndCode
    @@StartCode:
      mov edx,dword ptr [offset _null]{}@@AxisX:
      imul edx,$11{}        @@ByteCount: // States.ZBuffer.BitCount div 8
      mov eax,dword ptr [offset _null]{}@@AxisY:
      imul eax,$11111111{}  @@Pitch: // States.ZBuffer.pitch
      add eax,$11111111{}   @@Bits:  // States.ZBuffer.Bits
      add eax,edx
      mov dword ptr [offset _null],eax{}@@_ZBuf:
    @@EndCode:
      {$I DXRender.inc}
      {  @@AxisX  }
      mov eax,_Axis; add eax,TDXRMachine_Axis.X
      mov edx,offset @@AxisX-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax

      {  @@AxisY  }
      mov eax,_Axis; add eax,TDXRMachine_Axis.Y
      mov edx,offset @@AxisY-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax

      {  @@ByteCount  }
      mov eax,ByteCount
      mov edx,offset @@ByteCount-1
      sub edx,offset @@StartCode
      mov byte ptr [ecx+edx],al

      {  @@Pitch  }
      mov eax,Pitch
      mov edx,offset @@Pitch-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax

      {  @@Bits  }
      mov eax,Bits
      mov edx,offset @@Bits-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax

      {  @@_ZBuf  }
      mov eax,_ZBuf
      mov edx,offset @@_ZBuf-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax
    end;
  end;

  procedure genZBufferTest(var Code: Pointer);
  var
    _ZBuf, _RHW: Pointer;
  begin
    if not ZBuffer.Enable then Exit;

    _ZBuf := @F_ZBuf;
    _RHW := @RHW.nRHW;

    asm
      jmp @@EndCode
    @@StartCode:
      mov edx,dword ptr [offset _null]{}@@_ZBuf:
      mov ebx,dword ptr [offset _null]{}@@_RHW:
    @@EndCode:
      {$I DXRender.inc}
      {  @@_ZBuf  }
      mov eax,_ZBuf
      mov edx,offset @@_ZBuf-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax

      {  @@_RHW  }
      mov eax,_RHW; add eax,4
      mov edx,offset @@_RHW-4
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax
    end;

    if ZBuffer.CmpFunc<>DXR_CMPFUNC_ALWAYS then
    begin
      case ZBuffer.Surface.BitCount of
        8: begin
             asm
               jmp @@EndCode
             @@StartCode:
               movzx eax,byte ptr [edx]
             @@EndCode:
               {$I DXRender.inc}
             end;
           end;
       16: begin
             asm
               jmp @@EndCode
             @@StartCode:
               movzx eax,word ptr [edx]
             @@EndCode:
               {$I DXRender.inc}
             end;
           end;
       24: begin
             asm
               jmp @@EndCode
             @@StartCode:
               movzx ax,byte ptr [edx+2]
               shl eax,16
               mov ax,word ptr [edx]
             @@EndCode:
               {$I DXRender.inc}
             end;
           end;
       32: begin
             asm
               jmp @@EndCode
             @@StartCode:
               mov eax,dword ptr [edx]
             @@EndCode:
               {$I DXRender.inc}
             end;
           end;
      end;

      asm
        jmp @@EndCode
      @@StartCode:
        cmp eax,ebx
      @@EndCode:
        {$I DXRender.inc}
      end;
      genCmpFunc(Code, ZBuffer.CmpFunc, SkipAddress);
    end;

    if ZBuffer.WriteEnable then
    begin
      case ZBuffer.Surface.BitCount of
        8: begin
             asm
               jmp @@EndCode
             @@StartCode:
               mov byte ptr [edx],bl
             @@EndCode:
               {$I DXRender.inc}
             end;
           end;
       16: begin
             asm
               jmp @@EndCode
             @@StartCode:
               mov word ptr [edx],bx
             @@EndCode:
               {$I DXRender.inc}
             end;
           end;
       24: begin
             asm
               jmp @@EndCode
             @@StartCode:
               mov word ptr [edx],bx
               bswap ebx
               mov byte ptr [edx+2],bh
             @@EndCode:
               {$I DXRender.inc}
             end;
           end;
       32: begin
             asm
               jmp @@EndCode
             @@StartCode:
               mov dword ptr [edx],ebx
             @@EndCode:
               {$I DXRender.inc}
             end;
           end;
      end;
    end;
  end;

  procedure genUpdateZBufferAddress(var Code: Pointer);
  var
    ByteCount: DWORD;
    _ZBuf: Pointer;
  begin
    if not ZBuffer.Enable then Exit;

    ByteCount := ZBuffer.Surface.BitCount shr 3;

    _ZBuf := @F_ZBuf;

    asm
      jmp @@EndCode
    @@StartCode:
      add dword ptr [offset _null],$11{}@@_ZBuf:
    @@EndCode:
      {$I DXRender.inc}
      {  @@_ZBuf  }
      mov eax,ByteCount
      mov edx,offset @@_ZBuf-1
      sub edx,offset @@StartCode
      mov byte ptr [ecx+edx],al

      {  @@_ZBuf  }
      mov eax,_ZBuf
      mov edx,offset @@_ZBuf-5
      sub edx,offset @@StartCode
      mov dword ptr [ecx+edx],eax
    end;
  end;

  procedure genReadDestPixel(var Code: Pointer);
  begin
    case Dest.BitCount of
      8: begin
           asm
             jmp @@EndCode
           @@StartCode:
             movzx eax,byte ptr [edi]
           @@EndCode:
             {$I DXRender.inc}
           end;
         end;
     16: begin
           asm
             jmp @@EndCode
           @@StartCode:
             movzx eax,word ptr [edi]
           @@EndCode:
             {$I DXRender.inc}
           end;
         end;
     24: begin
           asm
             jmp @@EndCode
           @@StartCode:
             movzx eax,byte ptr [edi+2]
             shl eax,16
             mov ax,word ptr [edi]
           @@EndCode:
             {$I DXRender.inc}
           end;
         end;
     32: begin
           asm
             jmp @@EndCode
           @@StartCode:
             mov eax,dword ptr [edi]
           @@EndCode:
             {$I DXRender.inc}
           end;
         end;
    end;
  end;

  procedure genWriteDestPixel(var Code: Pointer);
  begin
    case Dest.BitCount of
      8: begin
           asm
             jmp @@EndCode
           @@StartCode:
             mov byte ptr [edi],al
           @@EndCode:
             {$I DXRender.inc}
           end;
         end;
     16: begin
           asm
             jmp @@EndCode
           @@StartCode:
             mov word ptr [edi],ax
           @@EndCode:
             {$I DXRender.inc}
           end;
         end;
     24: begin
           asm
             jmp @@EndCode
           @@StartCode:
             mov word ptr [edi],ax
             bswap eax
             mov byte ptr [edi+2],ah
           @@EndCode:
             {$I DXRender.inc}
           end;
         end;
     32: begin
           asm
             jmp @@EndCode
           @@StartCode:
             mov dword ptr [edi],eax
           @@EndCode:
             {$I DXRender.inc}
           end;
         end;
    end;
  end;

  procedure genUpdateDestAddress(var Code: Pointer);
  var
    ByteCount: DWORD;
  begin
    ByteCount := Dest.BitCount shr 3;

    if ByteCount=1 then
    begin
      asm
        jmp @@EndCode
      @@StartCode:
        inc edi
      @@EndCode:
        {$I DXRender.inc}
      end;
    end else
    begin
      asm
        jmp @@EndCode
      @@StartCode:
        add edi,$11{}@@ByteCount:    // Dest.BitCount div 8;
      @@EndCode:
        {$I DXRender.inc}
        {  @@ByteCount  }
        mov eax,ByteCount
        mov edx,offset @@ByteCount-1
        sub edx,offset @@StartCode
        mov byte ptr [ecx+edx],al
      end;
    end;
  end;

  procedure genReadSurfacePixel_Tile(var Code: Pointer; const Source: TDXR_Surface; Axis: PDXRMachine_Axis);
  begin
    case Source.BitCount of
      1: begin
           asm
             jmp @@EndCode
           @@StartCode:
             mov esi,dword ptr [offset _null]{}//TexY
                                 @@TexY:
             shr esi,16
             and esi,$11111111{} @@MaskY:   // Source.HeightMask
             imul esi,$11111111{}@@Pitch:   // Source.pitch
             mov edx,dword ptr [offset _null]{}//TexX
                                 @@TexX:
             shr edx,16
             and edx,$11111111{} @@MaskX:   // Source.WidthMask
             mov ebx,edx
             shr edx,3
             and ebx,7
             movzx eax,byte ptr [esi+edx+$11111111]
                                 @@Bits:   // Source.Bits
             and eax,dword ptr [offset Mask1+ebx*4]
             push ecx
             mov ecx,dword ptr [offset Shift1+ebx*4]
             shr eax,cl
             pop ecx
           @@EndCode:
             {$I DXRender.inc}
             {  @@TexX  }
             mov eax,Axis; add eax,TDXRMachine_Axis.X
             mov edx,offset @@TexX-4
             sub edx,offset @@StartCode
             mov dword ptr [ecx+edx],eax

             {  @@TexY  }
             mov eax,Axis; add eax,TDXRMachine_Axis.Y
             mov edx,offset @@TexY-4
             sub edx,offset @@StartCode
             mov dword ptr [ecx+edx],eax

             {  @@MaskY  }
             mov eax,Source; mov eax,[eax + TDXR_Surface.HeightMask]
             mov edx,offset @@MaskY-4
             sub edx,offset @@StartCode
             mov dword ptr [ecx+edx],eax

             {  @@Pitch  }
             mov eax,Source; mov eax,[eax + TDXR_Surface.Pitch]
             mov edx,offset @@Pitch-4
             sub edx,offset @@StartCode
             mov dword ptr [ecx+edx],eax

             {  @@MaskX  }
             mov eax,Source; mov eax,[eax + TDXR_Surface.WidthMask]
             mov edx,offset @@MaskX-4
             sub edx,offset @@StartCode
             mov dword ptr [ecx+edx],eax

             {  @@Bits  }
             mov eax,Source; mov eax,[eax + TDXR_Surface.Bits]
             mov edx,offset @@Bits-4
             sub edx,offset @@StartCode
             mov dword ptr [ecx+edx],eax
           end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人在线视频一区| 一二三区精品福利视频| 亚洲色图在线播放| 亚洲成人av电影| 韩国精品免费视频| 色综合色综合色综合色综合色综合| 在线观看日韩电影| 久久这里只精品最新地址| 亚洲欧美日韩精品久久久久| 麻豆国产欧美一区二区三区| 成人免费视频视频在线观看免费| 欧美日韩一区二区在线视频| 久久精品人人做人人爽人人| 一区二区三区蜜桃网| 精品无码三级在线观看视频| 99re66热这里只有精品3直播| 日韩一级视频免费观看在线| 成人免费一区二区三区在线观看| 日韩av不卡在线观看| av不卡一区二区三区| 欧美一级欧美一级在线播放| 国产精品久久网站| 久久99精品视频| 欧美色综合影院| 国产精品午夜免费| 久久精品国产77777蜜臀| 日本高清不卡在线观看| 久久综合九色综合久久久精品综合| 一区二区三区四区av| 国产精品2024| 日韩视频免费直播| 亚洲自拍偷拍图区| 99视频精品全部免费在线| 2023国产精品视频| 午夜欧美一区二区三区在线播放| 成人国产亚洲欧美成人综合网| 欧美一区二区三区四区久久| 亚洲黄色性网站| 成人综合婷婷国产精品久久 | 国产三级精品三级| 天天免费综合色| 色妹子一区二区| 国产精品女上位| 国产一区二区成人久久免费影院| 91精品国产91综合久久蜜臀| 亚洲一区日韩精品中文字幕| av福利精品导航| 国产精品丝袜91| 国产一区二区日韩精品| 日韩欧美www| 日本视频一区二区三区| 欧美日韩在线三区| 亚洲一区二区不卡免费| 97精品久久久久中文字幕| 国产欧美日韩视频在线观看| 国产一区二区美女诱惑| 日韩一级高清毛片| 日本三级亚洲精品| 欧美一区中文字幕| 天天色图综合网| 欧美裸体bbwbbwbbw| 亚洲国产日韩精品| 在线影院国内精品| 一区二区三区不卡在线观看| 99综合电影在线视频| 综合激情网...| 91免费版在线| 一区二区三区四区精品在线视频| 91原创在线视频| 亚洲三级电影网站| 91国产免费观看| 亚洲国产精品久久艾草纯爱| 欧美日韩免费一区二区三区 | 欧美一区二区三区不卡| 丝袜美腿亚洲一区二区图片| 91精品国产综合久久精品| 日韩国产成人精品| 欧美一区二区三区四区视频 | 26uuu亚洲婷婷狠狠天堂| 狠狠狠色丁香婷婷综合久久五月| 日韩欧美色综合| 国产一区激情在线| 欧美国产精品一区二区| 99久久99久久精品国产片果冻| 综合久久综合久久| 欧美色图12p| 蜜桃精品视频在线| 久久久另类综合| 成人h动漫精品一区二| 亚洲色图一区二区| 欧美剧情电影在线观看完整版免费励志电影 | 蜜桃传媒麻豆第一区在线观看| 精品三级在线观看| 成人性生交大合| 亚洲自拍偷拍综合| 欧美岛国在线观看| 成人美女在线观看| 亚洲国产视频一区| 精品日韩一区二区三区| 不卡的av网站| 午夜久久久影院| 久久久美女艺术照精彩视频福利播放| a在线播放不卡| 视频一区二区三区中文字幕| 欧美精品一区二区三区蜜桃| 99国产欧美另类久久久精品| 亚洲成人av福利| 国产亚洲女人久久久久毛片| 色系网站成人免费| 美女视频黄 久久| 国产精品电影院| 欧美高清一级片在线| 国产精品一区二区三区乱码| 一区二区三区在线观看动漫 | 国产91精品久久久久久久网曝门| 亚洲女爱视频在线| 精品国产乱码久久久久久浪潮| www.欧美亚洲| 欧美96一区二区免费视频| 欧美国产视频在线| 欧美一三区三区四区免费在线看| 成人av网站免费| 日韩高清国产一区在线| 国产精品女同一区二区三区| 欧美一区二区视频在线观看2022| 大白屁股一区二区视频| 丝袜诱惑亚洲看片| 亚洲三级视频在线观看| ww亚洲ww在线观看国产| 欧美日韩另类国产亚洲欧美一级| 粉嫩嫩av羞羞动漫久久久| 日本免费在线视频不卡一不卡二 | 欧美在线三级电影| 国产91丝袜在线播放0| 五月天一区二区三区| 中文字幕在线视频一区| 精品少妇一区二区三区免费观看 | 亚洲成人激情自拍| 综合久久久久久久| 久久无码av三级| 欧美精品v国产精品v日韩精品| av激情亚洲男人天堂| 国产一二精品视频| 免费人成精品欧美精品| 亚洲另类色综合网站| 欧美国产综合一区二区| 欧美成人精精品一区二区频| 欧美日韩激情在线| 欧美午夜精品久久久久久孕妇| 日韩欧美精品三级| 国产精品一级黄| 亚洲欧美综合色| 久久久影视传媒| 日韩免费高清视频| 欧美日韩免费不卡视频一区二区三区| 亚洲欧洲日产国产综合网| 欧美区一区二区三区| av一本久道久久综合久久鬼色| 国产精品一区专区| 精品一区二区三区的国产在线播放| 亚洲成人黄色影院| 亚洲综合免费观看高清在线观看| 亚洲欧洲性图库| 国产精品久久777777| 国产精品色婷婷| 国产日韩一级二级三级| 久久这里只有精品视频网| 欧美成人a∨高清免费观看| 欧美一区二区三区免费在线看| 欧美日韩国产美女| 欧美视频自拍偷拍| 欧美三级视频在线播放| 欧美色视频一区| 欧美日韩国产在线播放网站| 欧美日韩高清在线播放| 欧美日韩一区小说| 7777精品伊人久久久大香线蕉经典版下载| 日本道免费精品一区二区三区| 99国产精品视频免费观看| 色综合中文字幕| 在线观看日韩国产| 欧美日韩免费视频| 91精品国产色综合久久不卡蜜臀| 5566中文字幕一区二区电影| 日韩一二三四区| 欧美电视剧免费全集观看| 久久影视一区二区| 国产亚洲精品资源在线26u| 中文字幕精品一区二区精品绿巨人| 国产色产综合色产在线视频 | 韩日欧美一区二区三区| 国产在线视频一区二区| 国产v综合v亚洲欧| 成人av电影观看| 色婷婷香蕉在线一区二区| 在线观看视频一区二区欧美日韩| 欧美日韩国产成人在线免费| 91精品国产综合久久久久| 2020国产精品| 国产精品久久夜|