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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? direct3d.pas

?? directx 控件
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
(*==========================================================================;
 *
 *  Copyright (C) 1995-1998 Microsoft Corporation.  All Rights Reserved.
 *
 *  Files:   d3dtypes.h d3dcaps.h d3d.h
 *
 *  DirectX 7.0 Delphi adaptation by Erik Unger
 *
 *  Modyfied: 19-Feb-2000
 *
 *  Download: http://www.delphi-jedi.org/DelphiGraphics/
 *  E-Mail: Erik.Unger@gmx.at
 *
 ***************************************************************************)

unit Direct3D;

{$MINENUMSIZE 4}
{$ALIGN ON}

interface

uses
  Windows,
  DirectDraw;

(* TD3DValue is the fundamental Direct3D fractional data type *)

type
  TRefClsID = TGUID;

type
  TD3DValue = Single;
  TD3DFixed = LongInt;
  float = TD3DValue;
  PD3DColor = ^TD3DColor;
  TD3DColor = DWORD;

function D3DVal(val: variant) : float;
function D3DDivide(a,b: double) : float;
function D3DMultiply(a,b: double) : float;

(*
 * Format of CI colors is
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *  |    alpha      |         color index           |   fraction    |
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *)

// #define CI_GETALPHA(ci)    ((ci) >> 24)
function CI_GETALPHA(ci: DWORD) : DWORD;

// #define CI_GETINDEX(ci)    (((ci) >> 8) & 0xffff)
function CI_GETINDEX(ci: DWORD) : DWORD;

// #define CI_GETFRACTION(ci) ((ci) & 0xff)
function CI_GETFRACTION(ci: DWORD) : DWORD;

// #define CI_ROUNDINDEX(ci)  CI_GETINDEX((ci) + 0x80)
function CI_ROUNDINDEX(ci: DWORD) : DWORD;

// #define CI_MASKALPHA(ci)   ((ci) & 0xffffff)
function CI_MASKALPHA(ci: DWORD) : DWORD;

// #define CI_MAKE(a, i, f)    (((a) << 24) | ((i) << 8) | (f))
function CI_MAKE(a,i,f: DWORD) : DWORD;

(*
 * Format of RGBA colors is
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *  |    alpha      |      red      |     green     |     blue      |
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *)

// #define RGBA_GETALPHA(rgb)      ((rgb) >> 24)
function RGBA_GETALPHA(rgb: TD3DColor) : DWORD;

// #define RGBA_GETRED(rgb)        (((rgb) >> 16) & 0xff)
function RGBA_GETRED(rgb: TD3DColor) : DWORD;

// #define RGBA_GETGREEN(rgb)      (((rgb) >> 8) & 0xff)
function RGBA_GETGREEN(rgb: TD3DColor) : DWORD;

// #define RGBA_GETBLUE(rgb)       ((rgb) & 0xff)
function RGBA_GETBLUE(rgb: TD3DColor) : DWORD;

// #define RGBA_MAKE(r, g, b, a)   ((TD3DColor) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
function RGBA_MAKE(r, g, b, a: DWORD) : TD3DColor;

(* D3DRGB and D3DRGBA may be used as initialisers for D3DCOLORs
 * The float values must be in the range 0..1
 *)

// #define D3DRGB(r, g, b) \
//     (0xff000000L | (((long)((r) * 255)) << 16) | (((long)((g) * 255)) << 8) | (long)((b) * 255))
function D3DRGB(r, g, b: float) : TD3DColor;

// #define D3DRGBA(r, g, b, a) \
//     (  (((long)((a) * 255)) << 24) | (((long)((r) * 255)) << 16) \
//     |   (((long)((g) * 255)) << 8) | (long)((b) * 255) \
//    )
function D3DRGBA(r, g, b, a: float) : TD3DColor;

(*
 * Format of RGB colors is
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *  |    ignored    |      red      |     green     |     blue      |
 *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 *)

// #define RGB_GETRED(rgb)         (((rgb) >> 16) & 0xff)
function RGB_GETRED(rgb: TD3DColor) : DWORD;

// #define RGB_GETGREEN(rgb)       (((rgb) >> 8) & 0xff)
function RGB_GETGREEN(rgb: TD3DColor) : DWORD;

// #define RGB_GETBLUE(rgb)        ((rgb) & 0xff)
function RGB_GETBLUE(rgb: TD3DColor) : DWORD;

// #define RGBA_SETALPHA(rgba, x) (((x) << 24) | ((rgba) & 0x00ffffff))
function RGBA_SETALPHA(rgba: TD3DColor; x: DWORD) : TD3DColor;

// #define RGB_MAKE(r, g, b)       ((TD3DColor) (((r) << 16) | ((g) << 8) | (b)))
function RGB_MAKE(r, g, b: DWORD) : TD3DColor;

// #define RGBA_TORGB(rgba)       ((TD3DColor) ((rgba) & 0xffffff))
function RGBA_TORGB(rgba: TD3DColor) : TD3DColor;

// #define RGB_TORGBA(rgb)        ((TD3DColor) ((rgb) | 0xff000000))
function RGB_TORGBA(rgb: TD3DColor) : TD3DColor;

(*
 * Flags for Enumerate functions
 *)
const

(*
 * Stop the enumeration
 *)

  D3DENUMRET_CANCEL                        = DDENUMRET_CANCEL;

(*
 * Continue the enumeration
 *)

  D3DENUMRET_OK                            = DDENUMRET_OK;

type
  TD3DValidateCallback = function (lpUserArg: Pointer;
      dwOffset: DWORD): HResult; stdcall;
  TD3DEnumTextureFormatsCallback = function (var lpDdsd: TDDSurfaceDesc;
      lpContext: Pointer): HResult; stdcall;
  TD3DEnumPixelFormatsCallback = function (var lpDDPixFmt: TDDPixelFormat;
      lpContext: Pointer): HResult; stdcall;


  PD3DMaterialHandle = ^TD3DMaterialHandle;
  TD3DMaterialHandle = DWORD;

  PD3DTextureHandle = ^TD3DTextureHandle;
  TD3DTextureHandle = DWORD;

  PD3DMatrixHandle = ^TD3DMatrixHandle;
  TD3DMatrixHandle = DWORD;

  PD3DColorValue = ^TD3DColorValue;
  TD3DColorValue = packed record
    case Integer of
    0: (
      r: TD3DValue;
      g: TD3DValue;
      b: TD3DValue;
      a: TD3DValue;
     );
    1: (
      dvR: TD3DValue;
      dvG: TD3DValue;
      dvB: TD3DValue;
      dvA: TD3DValue;
     );
  end;

  PD3DRect = ^TD3DRect;
  TD3DRect = packed record
    case Integer of
    0: (
      x1: LongInt;
      y1: LongInt;
      x2: LongInt;
      y2: LongInt;
     );
    1: (
      lX1: LongInt;
      lY1: LongInt;
      lX2: LongInt;
      lY2: LongInt;
     );
     2: (
       a: array[0..3] of LongInt;
     );
  end;

  PD3DVector = ^TD3DVector;
  TD3DVector = packed record
    case Integer of
    0: (
      x: TD3DValue;
      y: TD3DValue;
      z: TD3DValue;
     );
    1: (
      dvX: TD3DValue;
      dvY: TD3DValue;
      dvZ: TD3DValue;
     );
  end;

(******************************************************************
 *                                                                *
 *   D3DVec.inl                                                   *
 *                                                                *
 *   Float-valued 3D vector class for Direct3D.                   *
 *                                                                *
 *   Copyright (c) 1996-1998 Microsoft Corp. All rights reserved. *
 *                                                                *
 ******************************************************************)

    // Addition and subtraction
  function VectorAdd(const v1, v2: TD3DVector) : TD3DVector;
  function VectorSub(const v1, v2: TD3DVector) : TD3DVector;
    // Scalar multiplication and division
  function VectorMulS(const v: TD3DVector; s: TD3DValue) : TD3DVector;
  function VectorDivS(const v: TD3DVector; s: TD3DValue) : TD3DVector;
    // Memberwise multiplication and division
  function VectorMul(const v1, v2: TD3DVector) : TD3DVector;
  function VectorDiv(const v1, v2: TD3DVector) : TD3DVector;
    // Vector dominance
  function VectorSmaller(v1, v2: TD3DVector) : boolean;
  function VectorSmallerEquel(v1, v2: TD3DVector) : boolean;
    // Bitwise equality
  function VectorEquel(v1, v2: TD3DVector) : boolean;
    // Length-related functions
  function VectorSquareMagnitude(v: TD3DVector) : TD3DValue;
  function VectorMagnitude(v: TD3DVector) : TD3DValue;
    // Returns vector with same direction and unit length
  function VectorNormalize(const v: TD3DVector) : TD3DVector;
    // Return min/max component of the input vector
  function VectorMin(v: TD3DVector) : TD3DValue;
  function VectorMax(v: TD3DVector) : TD3DValue;
    // Return memberwise min/max of input vectors
  function VectorMinimize(const v1, v2: TD3DVector) : TD3DVector;
  function VectorMaximize(const v1, v2: TD3DVector) : TD3DVector;
    // Dot and cross product
  function VectorDotProduct(v1, v2: TD3DVector) : TD3DValue;
  function VectorCrossProduct(const v1, v2: TD3DVector) : TD3DVector;

type
(*
 * Vertex data types supported in an ExecuteBuffer.
 *)

(*
 * Homogeneous vertices
 *)

  PD3DHVertex = ^TD3DHVertex;
  TD3DHVertex = packed record
    dwFlags: DWORD;        (* Homogeneous clipping flags *)
    case Integer of
    0: (
      hx: TD3DValue;
      hy: TD3DValue;
      hz: TD3DValue;
     );
    1: (
      dvHX: TD3DValue;
      dvHY: TD3DValue;
      dvHZ: TD3DValue;
     );
  end;

(*
 * Transformed/lit vertices
 *)

  PD3DTLVertex = ^TD3DTLVertex;
  TD3DTLVertex = packed record
    case Integer of
    0: (
      sx: TD3DValue;             (* Screen coordinates *)
      sy: TD3DValue;
      sz: TD3DValue;
      rhw: TD3DValue;            (* Reciprocal of homogeneous w *)
      color: TD3DColor;          (* Vertex color *)
      specular: TD3DColor;       (* Specular component of vertex *)
      tu: TD3DValue;             (* Texture coordinates *)
      tv: TD3DValue;
     );
    1: (
      dvSX: TD3DValue;
      dvSY: TD3DValue;
      dvSZ: TD3DValue;
      dvRHW: TD3DValue;
      dcColor: TD3DColor;
      dcSpecular: TD3DColor;
      dvTU: TD3DValue;
      dvTV: TD3DValue;
     );
  end;

(*
 * Untransformed/lit vertices
 *)

  PD3DLVertex = ^TD3DLVertex;
  TD3DLVertex = packed record
    case Integer of
    0: (
      x: TD3DValue;             (* Homogeneous coordinates *)
      y: TD3DValue;
      z: TD3DValue;
      dwReserved: DWORD;
      color: TD3DColor;         (* Vertex color *)
      specular: TD3DColor;      (* Specular component of vertex *)
      tu: TD3DValue;            (* Texture coordinates *)
      tv: TD3DValue;
     );
    1: (
      dvX: TD3DValue;
      dvY: TD3DValue;
      dvZ: TD3DValue;
      UNIONFILLER1d: DWORD;
      dcColor: TD3DColor;
      dcSpecular: TD3DColor;
      dvTU: TD3DValue;
      dvTV: TD3DValue;
     );
  end;

(*
 * Untransformed/unlit vertices
 *)

  PD3DVertex = ^TD3DVertex;
  TD3DVertex = packed record
    case Integer of
    0: (
      x: TD3DValue;             (* Homogeneous coordinates *)
      y: TD3DValue;
      z: TD3DValue;
      nx: TD3DValue;            (* Normal *)
      ny: TD3DValue;
      nz: TD3DValue;
      tu: TD3DValue;            (* Texture coordinates *)
      tv: TD3DValue;
     );
    1: (
      dvX: TD3DValue;
      dvY: TD3DValue;
      dvZ: TD3DValue;
      dvNX: TD3DValue;
      dvNY: TD3DValue;
      dvNZ: TD3DValue;
      dvTU: TD3DValue;
      dvTV: TD3DValue;
     );
  end;

(*
 * Matrix, viewport, and tranformation structures and definitions.
 *)

  PD3DMatrix = ^TD3DMatrix;
  TD3DMatrix = packed record
    case integer of
      0 : (_11, _12, _13, _14: TD3DValue;
           _21, _22, _23, _24: TD3DValue;
           _31, _32, _33, _34: TD3DValue;
           _41, _42, _43, _44: TD3DValue);
      1 : (m : array [0..3, 0..3] of TD3DValue);
  end;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青娱乐精品在线视频| 欧美xxxx老人做受| 国产一区二区日韩精品| 三级亚洲高清视频| 天天亚洲美女在线视频| 亚洲成人动漫在线观看| 午夜精品久久久久| 青青草原综合久久大伊人精品优势| 日韩午夜中文字幕| 欧美一区二区视频在线观看 | 97se亚洲国产综合自在线观| 久草这里只有精品视频| 欧美一区二区三区在线视频| 欧美日韩亚洲国产综合| 色噜噜久久综合| 日本道在线观看一区二区| 91美女蜜桃在线| 欧美日韩三级在线| 日韩一卡二卡三卡四卡| 精品久久久久久久久久久久久久久 | 青青草国产精品亚洲专区无| 日本亚洲免费观看| 精品一区二区综合| 国产·精品毛片| 91福利国产精品| 日韩一区二区麻豆国产| 欧美r级在线观看| 精品国产91乱码一区二区三区| 精品少妇一区二区三区| 26uuu欧美| 国产精品夫妻自拍| 亚洲精品国产成人久久av盗摄| 奇米色一区二区三区四区| 国产在线日韩欧美| 91影院在线免费观看| 91精品国产综合久久香蕉麻豆 | 国产成人在线网站| 色老头久久综合| 精品人在线二区三区| 中文字幕一区二区三区视频| 五月综合激情婷婷六月色窝| 国产精品夜夜爽| 欧美三级乱人伦电影| 久久色在线视频| 亚洲电影一级黄| 麻豆精品久久久| 91免费版在线看| 国产校园另类小说区| 亚洲一区二区三区不卡国产欧美| 国精产品一区一区三区mba视频| 91丨porny丨蝌蚪视频| 精品毛片乱码1区2区3区| 中文字幕欧美日本乱码一线二线| 奇米影视一区二区三区小说| 丁香六月综合激情| 欧美一级久久久| 亚洲女性喷水在线观看一区| 经典三级一区二区| 在线播放一区二区三区| 亚洲六月丁香色婷婷综合久久| 黄色小说综合网站| 欧美在线啊v一区| 综合色中文字幕| 国产成人午夜精品影院观看视频 | 成人动漫在线一区| 精品乱人伦小说| 人人精品人人爱| 欧美日韩精品免费观看视频| 亚洲三级在线看| 91在线精品一区二区三区| 久久婷婷国产综合国色天香| 美女视频网站黄色亚洲| 欧美麻豆精品久久久久久| 亚洲色图欧美激情| 色综合天天天天做夜夜夜夜做| 欧美国产精品中文字幕| 丁香激情综合国产| 国产精品久久三区| 91视频精品在这里| 一区二区久久久| 欧美亚洲一区二区在线观看| 亚洲欧美日韩综合aⅴ视频| 成人动漫在线一区| 亚洲免费视频中文字幕| 在线亚洲一区二区| 一区二区三区在线视频观看58| 91久久精品网| 日韩中文字幕一区二区三区| 欧美一区二区三区免费观看视频 | 91精品国产色综合久久不卡电影| 午夜精品视频一区| 日韩你懂的电影在线观看| 国产又粗又猛又爽又黄91精品| 久久午夜免费电影| 99精品黄色片免费大全| 亚洲综合av网| 日韩色视频在线观看| 高清国产午夜精品久久久久久| 中文字幕在线观看不卡视频| 欧洲国产伦久久久久久久| 国产麻豆欧美日韩一区| 国产精品美女久久久久高潮| 91麻豆精品在线观看| 日韩中文字幕1| 久久久国产午夜精品| 91福利国产精品| 精品一区二区三区免费| 亚洲欧洲精品天堂一级| 7777精品伊人久久久大香线蕉的| 极品美女销魂一区二区三区免费| 国产精品美女久久久久久| 欧美视频日韩视频| 国产福利精品导航| 樱桃国产成人精品视频| 欧美mv日韩mv| 91视频你懂的| 国产乱码精品一区二区三区五月婷 | 欧美精品18+| 成人午夜私人影院| 日韩成人午夜精品| 一色屋精品亚洲香蕉网站| 91精品福利在线一区二区三区| 成人精品亚洲人成在线| 水蜜桃久久夜色精品一区的特点| 久久久久久免费网| 日本大香伊一区二区三区| 精品一区二区三区久久| 亚洲综合一区二区精品导航| 久久久久久久电影| 欧美精品色一区二区三区| 成人动漫在线一区| 国产资源精品在线观看| 午夜精品免费在线观看| 亚洲色图在线视频| 亚洲精品在线网站| 91麻豆精品国产91久久久更新时间| 国产宾馆实践打屁股91| 热久久免费视频| 一区二区三区波多野结衣在线观看| 精品国产一二三| 制服丝袜在线91| 在线视频观看一区| 91在线一区二区三区| 国产mv日韩mv欧美| 国产美女精品人人做人人爽| 美腿丝袜在线亚洲一区| 日韩av一级片| 亚洲电影视频在线| 亚洲一区在线视频观看| 亚洲女人****多毛耸耸8| 久久久久国产精品厨房| 日韩精品一区二区三区视频播放 | 成人激情小说乱人伦| 久久国产麻豆精品| 成人在线一区二区三区| 国产999精品久久久久久绿帽| 轻轻草成人在线| 精品综合久久久久久8888| 日韩1区2区日韩1区2区| 美日韩黄色大片| 免费成人性网站| 国模无码大尺度一区二区三区| 国产制服丝袜一区| 国产激情视频一区二区在线观看| 国产一区二区三区四| 国产精品12区| 91理论电影在线观看| 91福利在线看| 制服丝袜亚洲播放| 日韩欧美国产一区二区三区 | 国产成人精品亚洲777人妖| 国产成人8x视频一区二区| 成人在线综合网| 91视频免费观看| 制服视频三区第一页精品| 欧美大胆人体bbbb| 国产午夜亚洲精品羞羞网站| 国产精品久久久久久久久免费丝袜 | 国产精品美女一区二区| 亚洲婷婷综合色高清在线| 亚洲最新在线观看| 日韩av不卡在线观看| 国产美女在线精品| 色综合视频在线观看| 欧美日韩国产成人在线免费| 日韩欧美国产麻豆| 国产精品福利影院| 日韩精品乱码av一区二区| 国产成人综合亚洲网站| 欧美日韩在线三级| 久久综合视频网| 亚洲黄色性网站| 久久国产综合精品| 91理论电影在线观看| 日韩一级大片在线观看| 美女脱光内衣内裤视频久久影院| 欧美性videosxxxxx| 国产婷婷色一区二区三区四区 | 亚洲伊人色欲综合网| 国内精品国产成人国产三级粉色|