• 大小: 87KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: 其他
  • 标签: 光线追踪  

资源简介

经典的光线追踪算法实现的源代码,渲染效果很不错-Classic ray tracing algorithm realize the source code, rendering the effect is pretty good

资源截图

代码片段和文件信息

/** 3DGPL *************************************************\
 * ()                                                     *
 * 2D line and polygon clipping.                          *
 *                                                        *
 * Defines:                                               *
 *  C_init_clipping          Setting bounds;              *
 *  C_get_bounds             Clipping window;             *
 *  C_set_bounds             Impose another condition;    *
 *                                                        *
 *  C_line_x_clipping        Clipping a line horizontally;*
 *  C_line_y_clipping        Clipping a line vertically;  *
 *                                                        *
 *  C_polygon_x_clipping     Horizontal polygon cliping.  *
 *                                                        *
 * (c) 1995-98 Sergei Savchenko (savs@cs.mcgill.ca)      *
\**********************************************************/

#include “RayTracing.h“           /* hardware specific stuff */
#include “Clipper.h“             /* 2D macros */

int C_2D_clipping;                          /* type of performed clipping */
int C_x_clipping_min=C_X_CLIPPING_MIN;      /* clipping bounds */
int C_x_clipping_max=C_X_CLIPPING_MAX;      /* default values */
int C_y_clipping_min=C_Y_CLIPPING_MIN;
int C_y_clipping_max=C_Y_CLIPPING_MAX;

/**********************************************************\
 * Setting bounds for 2D clipping.                        *
 *                                                        *
 * SETS: C_x_clipping_min...C_y_clipping_max            *
 * -----                                                  *
\**********************************************************/

void C_init_clipping(int minxint minyint maxxint maxy)
{
 C_x_clipping_min=minx;                     /* no error checking... */
 C_y_clipping_min=miny;
 C_x_clipping_max=maxx;
 C_y_clipping_max=maxy;
}

/**********************************************************\
 * Getting current state of bounds for 2D clipping.       *
\**********************************************************/

void C_get_bounds(int *minxint *minyint *maxxint *maxy)
{
 *minx=C_x_clipping_min;
 *miny=C_y_clipping_min;
 *maxx=C_x_clipping_max;
 *maxy=C_y_clipping_max;
}

/**********************************************************\
 * Imposing extra set of bounds for 2D clipping.          *
 *                                                        *
 * RETURNS: 0 when no clipping window exist;              *
 * -------- 1 when it does exist.                         *
 *                                                        *
 *   +--------+      merging two sets of conditions       *
 *   |   +-------+   old and new. Getting an intersection *
 *   |   |////|  |   where both old and new conditions    *
 *   +---|----+  |   are valid.                           *
 *       +-------+                                      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      11031  2004-04-15 20:10  RayTracing\Clipp2D.cpp

     文件      11311  2004-04-15 20:13  RayTracing\Clipp3D.cpp

     文件       2132  2004-04-15 20:07  RayTracing\Clipper.h

     文件       3856  2004-04-11 23:00  RayTracing\Colour.cpp

     文件       7296  2004-04-11 23:31  RayTracing\Colour.h

     文件      32363  2004-04-15 20:02  RayTracing\data.cpp

     文件        759  2004-04-11 22:19  RayTracing\data.h

     文件      22547  2004-04-15 20:23  RayTracing\Engbase.cpp

     文件      20177  2004-04-15 20:29  RayTracing\EngBcub.cpp

     文件      34290  2004-04-15 20:22  RayTracing\Engine.h

     文件      22536  2004-04-15 20:25  RayTracing\EngPoly.cpp

     文件          0  2004-04-11 22:49  RayTracing\Graphics.cpp

     文件       4825  2004-04-11 23:35  RayTracing\Graphics.h

     文件       8739  2004-04-15 23:44  RayTracing\Graphicsbase.cpp

     文件      25237  2004-04-15 20:42  RayTracing\GraphicsPoly.cpp

     文件       4395  2004-04-15 20:42  RayTracing\GraphicsText.cpp

     文件       7629  2004-04-28 05:57  RayTracing\RayTracing.cpp

     文件       5613  2004-04-27 23:29  RayTracing\RayTracing.dsp

     文件        543  2004-04-11 20:06  RayTracing\RayTracing.dsw

     文件       2304  2004-04-27 17:18  RayTracing\RayTracing.h

     文件     107520  2004-04-28 06:17  RayTracing\RayTracing.ncb

     文件      59904  2004-04-28 06:17  RayTracing\RayTracing.opt

     文件       2288  2004-04-28 05:57  RayTracing\RayTracing.plg

     文件      18572  2004-04-15 19:54  RayTracing\Trace.cpp

     文件      11517  2004-04-11 22:35  RayTracing\Trace.h

     文件        926  2004-04-28 06:15  RayTracing\TRACER.DAT

     文件        926  2004-04-28 06:15  RayTracing\TRACER.DAT.bak

     文件      20787  2004-04-15 20:13  RayTracing\Trans.cpp

     文件       3416  2004-04-15 20:11  RayTracing\Trans.h

     文件      20797  2004-04-15 20:17  RayTracing\TransBs.cpp

............此处省略8个文件信息

评论

共有 条评论