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

📄 rayrend.cpp

📁 quake 游戏原代码
💻 CPP
字号:
#include "ray.h"
#include "rayrend.h"
#include "raycl.h"
#include "rayvb.h"
#include "globals.h"
#include "voxinter.h"
#include "asm.h"
#include "scrconf.h"

#define MIN_RENDER_MODE 0
#define MAX_RENDER_MODE 1

#define APPROX_INFO_SIZE 10

void Render_Init() {

bounds=(vb_node *)NewPtr(Get_Phys_Screen_Width() * sizeof(vb_node));

wall_runs=(wall_run_info *)NewPtr(MAX_WALL_RUNS * sizeof(wall_run_info));
floor_runs=(floor_run_info *)NewPtr(MAX_FLOOR_RUNS * sizeof(floor_run_info));

Draw_Sub_Sector_Setup();

Init_Slope_Table();

}

void Render_Close() {

   DelPtr(bounds);
   DelPtr(wall_runs);
   DelPtr(floor_runs);
   Draw_Sub_Sector_Close();
   Clear_Slope_Table();

}

render_type render_mode;

void Render_Screen(long x, long y, long z, long view_angle) {
   switch (render_mode) {
   case MODE_3D:
      Ray_Caster(x, y, z, view_angle);
      break;
   case MODE_2D:
      Render_2d(x, y, view_angle);
      break;
   default: 

     break;
   } /* endswitch */
}

void SwitchRenderMode() {
   render_mode++;
   if (render_mode > MAX_RENDER_MODE) {
      render_mode=MIN_RENDER_MODE;
   } /* endif */
   clearBuff();
}

void SetRenderMode(render_type mode) {
   render_mode=mode;
   clearBuff();
};

render_type GetRenderMode() { return render_mode; };

⌨️ 快捷键说明

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