资源简介
基于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 Engba
文件 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个文件信息
- 上一篇:ASK调制与解调VHDL程序及仿真
- 下一篇:图片和xm
l格式互换
相关资源
- MFC绘图小软件源代码(可当VC大作业用
- VC 实现三维旋转(源码)
- 电子书管理者用于管理电子书这是源
- 空间后方交会MFC版,C 源代码
- 哲学家进餐问题 算法 vc源代码 测试通
- 比较两个字符串大小汇编语言源代码
- 学生成绩管理系统 C 语言源代码
- 自编用openGL实现3D分形树,分形山
- teechart 源代码
- OpenGL球形贴图自旋程序
- 谐波小波分析的源代码,应该属于信
- C 编写的防火墙程序源代码
- VC 编程实现活动主机扫描源代码
- linux 0.12内核源代码
- OpenGL导入贴图的Texture类
- 基于Web的高校教务管理系统的设计与
- c 做的漂亮菜单附有源代码
- VC 使用GDI 矢量绘图软件源代码
- 计算机图形学(openGL)代码
- 枚举USB设备接口(C 源代码)
- Fortran常用算法程序集-徐士良(配套程
- Ajax定时读取数据库(源代码发布)
- 在线考试系统 源代码
- 拼图游戏源代码 powerbuilder 9.0实例
- pb酒店管理系统 源代码
- C编译器源代码(超级牛b).rar
- 基于Petri网的工作流(完整的原创源代
- 用OpenGL开发的机械臂运动仿真程序(
- 《Visual Basic 串口通信与测控应用技术
- 过滤器源代码
评论
共有 条评论