图形处理(图形学+openGL)
文章平均质量分 57
little_angel
这个作者很懒,什么都没留下…
展开
-
材质库文件 .mtl文件格式解析
.mtl文件(Material Library File)是材质库文件,描述的是物体的材质信息,ASCII存储,任何文本编辑器可以将其打开和编辑。一个.mtl文件可以包含一个或多个材质定义,对于每个材质都有其颜色,纹理和反射贴图的描述,应用于物体的表面和顶点。以下是一个材质库文件的基本结构:newmtl mymtl_1 材质颜色光照定义 纹理贴图定义 反射贴图定义newmt转载 2012-03-29 21:13:43 · 5455 阅读 · 0 评论 -
浅谈Delaunay三角剖分
在3D建模中,通常得到一系列散乱的点集,该点集描述了物体外表面的几何特征和构造。为了用三角网格进行描述物体表面,沃恩则需要对其进行三角剖分。 二维Delaunay三角剖分: Delaunay边:e是E中满足以下条件的边:存在一个圆经过其端点a b,圆内不包含点集V中的其他任何点。 Deluanay三角剖分:如果V的一个三角剖分T只包含Delaunay边,那么该三角剖原创 2012-06-19 10:33:15 · 3741 阅读 · 1 评论 -
三维坐标系变换
已知原有的坐标系XYZ,和新的坐标系X' Y'Z',如何将就坐标系进行变换,和新坐标系重合。像这类数学问题,一般转换为矩阵问题,就很容易理解和编程实现。已知,就的坐标系方向向量为 i ,j,k. 新的坐标系三个坐标轴在旧的坐标系中的方向向量是i'=(cos a1 cos b1 cos c1),j'=(cos a2 cos b2 cos c2),k'=(cos a3 cos b3原创 2012-05-29 09:49:44 · 14124 阅读 · 0 评论 -
OpenGL中的变换
OpenGL变换包括计算机图形学中最基本的三维变换,即几何变换、投影变换、裁剪变换、视口变换。实际上,从三维空间到二维平面,就如同用相机拍照一样,通常都要经历以下几个步骤(括号内表示的是相应的图形学概念): 第一步,将相机置于三角架上,让它对准三维景物(视点变换,Viewing Transformation)。 第二步,将三维物体放在适当的位置(模型变换,Modeling Transf转载 2012-04-06 09:48:28 · 1312 阅读 · 0 评论 -
写了一个贴图的程序,程序运行后出现错误 :unknown dib file format
问题解决了,是DIB问题,我采用位图位数不统一,有8位,也有24位,把8位改为24位后又能贴AUX_RGBImageRec *LoadBMP(char *Filename) // Loads A Bitmap Image{ FILE *File=NULL; // File Handle if (!Filename) // Make Sure转载 2012-03-30 21:30:14 · 6150 阅读 · 2 评论 -
OpenGL光照模型--四种光照效果
OpenGL光照模型发表于 2011 年 07 月 26 日 由guidebee了能看出3D效果,给场景中添加光源。如果没有光照,绘出的球看上去和一个二维平面上圆没什么差别,如下图,左边为有光照效果的球体,右边为同一个球体但没有设置光源,看上去就没有立体效果,因此OpenGL 光照效果对显示3D效果非常明显。在OpenGL 光照模型中光源和光照效果可以细分为红,绿,蓝三个部转载 2011-10-28 21:22:00 · 8754 阅读 · 0 评论 -
OpenGL--生成纹理 gluBuild2DMipmaps()与glTexImage2D()的使用方法及区别
gluBuild2DMipmaps()与glTexImage2D()的使用方法及区别说明:两者的都是生成纹理,即:将载入的位图文件(*.bmp)转换成纹理贴图。glTexImage2D()的用法举例glTexImage2D(GL_TEXTURE_2D, //此纹理是一个2D纹理0, //代表图像的详细程度, 默认为0即可 3, //颜色成分R(红色分量)、G转载 2011-10-28 21:33:39 · 2393 阅读 · 0 评论 -
OpenGL编程指南-->深度缓冲区原理以及为什么要用它
深度缓冲区原理以及为什么要用它 ----------------参考资料《OpenGL编程指南》1.在开始介绍深度缓存之前,先了解一下隐藏表面消除。 隐藏表面消除(hidden-su原创 2011-07-13 19:56:31 · 5474 阅读 · 1 评论 -
OpenGL编程指南-->OpenGL缓冲区对象
OpenGL 缓冲区对象 今天学习了一下缓冲区对象..... OpenGL是按照客户机-服务器模式设计的,在OpenGL需要数据的时候,都必须把数据从客户机内传输到服务器。 缓冲区对象,允许应用程序现实的指定把哪些数据存储在图形服务器。 1.创建缓冲区对象 glGenBuffers():OpenGL分配n个当前未使用的名称(非 0),表示缓冲区对象。原创 2011-07-07 19:01:00 · 1241 阅读 · 0 评论 -
OBJ材质文件MTL格式分析
OBJ文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是".mtl"的独立文件中。关键字"mtllib"即材质库的意思。 材质库中包含材质的漫射(diffuse),环境(ambient),光泽(specular)的RGB(红绿蓝)的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。 "usemtl"指定转载 2012-03-29 21:12:13 · 6775 阅读 · 1 评论 -
OpenGL编程指南---多边形正反面 剔除
OPENGL中采用的是简单的凸多边形,要求多边形的各边不能相交。 OPENGL中规定:如果多边形的顶点以逆时针顺序出现在屏幕上,则为“正面”。我们通过使用void glFrontFace(GLenum mode) 函数可以交换图形的正反面。默认情况下,mode是GL_CCW,即逆时针为正面;GL_CW顺时针为正面。 为了丢弃一些被OPENGL认为是背面的多边形,应采用剔除。转载 2011-07-27 15:16:10 · 2600 阅读 · 0 评论 -
三维人脸模型的纹理贴图
今天实现了一个从kinect得到的三维人脸模型赋上彩色纹理的工作。实现该功能的思路如下:首先我们拥有两个资源:1,去噪后的三维人脸模型2, 同样是从kinect得到的人脸彩色图片 现在要做的是为三维人脸模型中的每个顶点找到他们在彩色纹理图片上的对应像素点及rgb色彩信息。这样我们在用opengl绘制模型的时候只要在指定顶点的三维坐标时同时制定顶点的纹理坐标即可。 那转载 2012-07-18 14:11:19 · 2681 阅读 · 2 评论