資源簡介
經典的光線追蹤算法實現的源代碼,渲染效果很不錯-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外文文獻
評論
共有 條評論