资源简介
经典的光线追踪算法实现的源代码,渲染效果很不错-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\Engba
文件 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\Graphicsba
文件 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个文件信息
- 上一篇:GLScene中文帮助文档
- 下一篇:labview外文文献
评论
共有 条评论