⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3dmaths.inc

📁 著名的游戏开发库Allegro4.2.0 for DELPHI
💻 INC
字号:
{*         ______   ___    ___
 *        /\  _  \ /\_ \  /\_ \
 *        \ \ \L\ \\//\ \ \//\ \      __     __   _ __   ___
 *         \ \  __ \ \ \ \  \ \ \   /'__`\ /'_ `\/\`'__\/ __`\
 *          \ \ \/\ \ \_\ \_ \_\ \_/\  __//\ \L\ \ \ \//\ \L\ \
 *           \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
 *            \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
 *                                           /\____/
 *                                           \_/__/
 *
 *      3D oriented math routines.
 *
 *      By Shawn Hargreaves.
 *
 *      See readme.txt for copyright information.
 *}
{$IFDEF ALLEGRO_INTERFACE}
var
  vector_length: function(x, y, z: fixed): fixed; cdecl;
  vector_length_f: function(x, y, z: single): single; cdecl;

  normalize_vector: procedure(x, y, z: p_fixed); cdecl;
  normalize_vector_f: procedure(x, y, z: p_single); cdecl;

  cross_product: procedure(x1, y_1, z1, x2, y2, z2: fixed; var xout, yout, zout: fixed); cdecl;
  cross_product_f: procedure(x1, y_1, z1, x2, y2, z2: single; var xout, yout, zout: single); cdecl;

  _persp_xscale: p_fixed;
  _persp_yscale: p_fixed;
  _persp_xoffset: p_fixed;
  _persp_yoffset: p_fixed;

  _persp_xscale_f: p_single;
  _persp_yscale_f: p_single;
  _persp_xoffset_f: p_single;
  _persp_yoffset_f: p_single;

  set_projection_viewport: procedure(x, y, w, h: sint32); cdecl;

  quat_to_matrix: procedure(const q: P_QUAT; var m: MATRIX_f); cdecl;
  matrix_to_quat: procedure(const m: P_MATRIX_f; var q: QUAT); cdecl;
{$ENDIF ALLEGRO_INTERFACE}
{$IFDEF ALLEGRO_IMPLEMENTATION}
{$ENDIF ALLEGRO_IMPLEMENTATION}
{$IFDEF ALLEGRO_LOADVARIABLE}
  vector_length           := LoadDLL('vector_length');
  vector_length_f         := LoadDLL('vector_length_f');
  normalize_vector        := LoadDLL('normalize_vector');
  normalize_vector_f      := LoadDLL('normalize_vector_f');
  cross_product           := LoadDLL('cross_product');
  cross_product_f         := LoadDLL('cross_product_f');
  _persp_xscale           := LoadDLL('_persp_xscale');
  _persp_yscale           := LoadDLL('_persp_yscale');
  _persp_xoffset          := LoadDLL('_persp_xoffset');
  _persp_yoffset          := LoadDLL('_persp_yoffset');
  _persp_xscale_f         := LoadDLL('_persp_xscale_f');
  _persp_yscale_f         := LoadDLL('_persp_yscale_f');
  _persp_xoffset_f        := LoadDLL('_persp_xoffset_f');
  _persp_yoffset_f        := LoadDLL('_persp_yoffset_f');
  set_projection_viewport := LoadDLL('set_projection_viewport');
  quat_to_matrix          := LoadDLL('quat_to_matrix');
  matrix_to_quat          := LoadDLL('matrix_to_quat');
{$ENDIF ALLEGRO_LOADVARIABLE}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -