资源简介

基于OPENGL写的一个光线跟踪的程序,非常简单,可用于初学光线跟踪的人,该方法不包括对包围盒的计算,仅仅对最简单的模型进行渲染,由于模型少,渲染速度很快

资源截图

代码片段和文件信息

/** 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)      *
\**********************************************************/
//Clipp2D.cpp

#include “LightTrack.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.                           *
 *       +-------+                       

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

     文件     295000  2006-07-21 16:32  LightTrack.exe

     文件       2304  2004-04-27 09:18  LightTrack.h

     文件     107520  2006-07-21 16:32  LightTrack.ncb

     文件      56832  2006-07-21 16:32  LightTrack.opt

     文件        254  2006-07-21 16:32  LightTrack.plg

     文件        909  2006-07-21 14:20  LightTrack.sln

     文件       8704  2006-07-21 14:30  LightTrack.suo

     文件      11867  2006-07-21 14:33  LightTrack.vcproj

     文件        926  2006-07-21 16:31  tracer.dat

     文件        926  2004-04-27 22:15  TRACER.DAT.bak

     文件      18572  2006-07-21 14:33  Track.cpp

     文件      11517  2006-07-21 14:33  Track.h

     文件      20787  2006-07-21 14:16  Trans.cpp

     文件       3416  2004-04-15 12:11  Trans.h

     文件      20812  2006-07-21 14:16  TransBs.cpp

     文件      10473  2006-07-21 14:16  TransLn.cpp

     文件       8132  2006-07-02 20:44  Vector.cpp

     文件       1681  2004-04-11 14:25  Vector.h

     文件      11046  2006-07-21 14:16  Clipp2D.cpp

     文件      11328  2006-07-21 14:16  Clipp3D.cpp

     文件       2132  2006-07-21 14:16  Clipper.h

     文件       3869  2006-07-02 20:40  Colour.cpp

     文件       7296  2006-07-21 14:16  Colour.h

     文件      32377  2006-07-21 16:32  data.cpp

     文件        759  2004-04-11 14:19  data.h

     文件      22562  2006-07-02 20:41  Engbase.cpp

     文件      20192  2006-07-02 20:41  EngBcub.cpp

     文件      34290  2004-04-15 12:22  Engine.h

     文件      22551  2006-07-21 14:16  EngPoly.cpp

     文件          0  2004-04-11 14:49  Graphics.cpp

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

评论

共有 条评论