Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14497789
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:55:44

下载本文示例代码
  目前使用VC6.0 OpenGL图形库已经逐渐成为开发3D应用程序的主流,但是在使用OpenGL图形库中会涉及到很多2D或者3D坐标,正确理解这些坐标的含义是使用OpenGL开发应用程序的前提,另外对于一个复杂的3D场景如果使用程序的手段来进行有效的渲染也是至关重要的。本文主要探讨这两个方面的问题。  1. 相关基础知识  要渲染真实世界的3D物体,首先必须了解OpenGL里面的坐标系统。OpenGL是使用顶点(Vertex)来描述几何物体的,最开始几何物体处于世界坐标之下,然后所有的顶点都通过模型视图变换、投影变换以及视口变换来转换为屏幕坐标。通过这种流水线似的作业,3D场景就可以在屏幕上展现出来了。世界坐标系统遵循右手定则,即X轴是从左至右,Y轴由下至上,Z轴是垂直于屏幕由里到外。这样在OpenGL里面使用的坐标值都是在这样的一个座标系统之下定位的,然后通过一系列的变换转换为人眼坐标,进而最后转换为屏幕坐标(2D坐标)。  2. 场景的层次化渲染  对于一个复杂的场景,如果才能有效的进行渲染呢?这里就借助一个示例来进行说明。例子是这样的,需要在一个SDI窗口下绘制如下的一个2D的货车(实际上在进行场景层次化渲染这方面,2D渲染的思路与3D渲染思路是一样的)   实现的思路首先应该是对这个货车分解几个独立的子实体:货车主体(前面那个大矩形)、货车主体车轮、拖车主体(后面的矩形)、拖车主体车轮。那么整个货车在运动的时候应该是以主货车为运动的主体,其他的子实体都对主货车做相对运动,这就好比是爸爸牵着儿子走路一样,整体上爸爸和儿子是一起往前走的,但是就局部来说,儿子可以绕爸爸做四周环绕运动。所以在利用OpenGL渲染比较复杂的3D物体时,首先要分清楚此3D物体的自由度的个数,然后分离出一个主体部分,其他部分只是对这个主体部分做相对运动即可。这样的思路在渲染复杂的机器人的时候也应用到了。共2页。 1 2 :   目前使用VC6.0 OpenGL图形库已经逐渐成为开发3D应用程序的主流,但是在使用OpenGL图形库中会涉及到很多2D或者3D坐标,正确理解这些坐标的含义是使用OpenGL开发应用程序的前提,另外对于一个复杂的3D场景如果使用程序的手段来进行有效的渲染也是至关重要的。本文主要探讨这两个方面的问题。  1. 相关基础知识  要渲染真实世界的3D物体,首先必须了解OpenGL里面的坐标系统。OpenGL是使用顶点(Vertex)来描述几何物体的,最开始几何物体处于世界坐标之下,然后所有的顶点都通过模型视图变换、投影变换以及视口变换来转换为屏幕坐标。通过这种流水线似的作业,3D场景就可以在屏幕上展现出来了。世界坐标系统遵循右手定则,即X轴是从左至右,Y轴由下至上,Z轴是垂直于屏幕由里到外。这样在OpenGL里面使用的坐标值都是在这样的一个座标系统之下定位的,然后通过一系列的变换转换为人眼坐标,进而最后转换为屏幕坐标(2D坐标)。  2. 场景的层次化渲染  对于一个复杂的场景,如果才能有效的进行渲染呢?这里就借助一个示例来进行说明。例子是这样的,需要在一个SDI窗口下绘制如下的一个2D的货车(实际上在进行场景层次化渲染这方面,2D渲染的思路与3D渲染思路是一样的)   实现的思路首先应该是对这个货车分解几个独立的子实体:货车主体(前面那个大矩形)、货车主体车轮、拖车主体(后面的矩形)、拖车主体车轮。那么整个货车在运动的时候应该是以主货车为运动的主体,其他的子实体都对主货车做相对运动,这就好比是爸爸牵着儿子走路一样,整体上爸爸和儿子是一起往前走的,但是就局部来说,儿子可以绕爸爸做四周环绕运动。所以在利用OpenGL渲染比较复杂的3D物体时,首先要分清楚此3D物体的自由度的个数,然后分离出一个主体部分,其他部分只是对这个主体部分做相对运动即可。这样的思路在渲染复杂的机器人的时候也应用到了。共2页。 1 2 : 下载本文示例代码


OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染OpenGL下的场景层次化渲染
阅读(87) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~