什么是obj文件?

OBJ文件是程序编译阶段生成的中间二进制文件,包含了程序的相对地址信息。在链接器与资源文件的作用下,OBJ文件最终会被转化为可执行的绝对地址程序。

百度百科:

  程序编译时生成的中间代码文件。目标文件,一般是程序编译后的二进制文件,再通过链接器(LINK.EXE)和资源文件链接就成可执行文件了。OBJ只给出了程序的相对地址,而可执行文件是绝对地址。[1] 

     这个问题不是很简单,你只看到了文件从源代码到EXE文件这个流程中的一小部分。要详细的深究这个问题,需要很多时间和精力。
 
 
    
    
     应该是在上图的第四个步骤,会产生obj文件。但它表述的还不够全面,少了一个链接的部分,所以应该在第五步之前再加上一个链接的步骤;
     资源链接很好理解,但链接器(LINK.EXE)?
    ——链接器(LINK.EXE)是链接.lib文件、.obj目标文件、.res;.lib文件又称之为导入库文件,只记录了函数所在DLL的位置。
 
.lib导入库的概念:     
     导入库是一个很棒的做法,如果硬件将平台比作房子,系统比作苦力,API比作
OBJ文件(.obj)是一种包含有关3D对象几何体信息的文件格式,由Wavefront Technologies创建,用于定义、存储几何对象和3D数据,文件扩展名OBJ全称为Wavefront OBJect [^1]。 ### 文件特性 - **数据类型**:是一种文本文件,可使用编辑器直接打开进行查看、编辑和修改,且没有最大文件大小限制 [^1][^3]。 - **图形支持**:支持直线、多边形、表面和自由形态曲线等。直线和多边形通过点描述,曲线和表面根据控制点和依附于曲线类型的额外信息定义,支持基于贝塞尔曲线、B样条、基数和泰勒方程的规则和不规则曲线 [^3]。 - **模型信息**:作为3D模型文件,不包含动画、材质特性、贴图路径、动力学、粒子等信息,主要支持多边形模型。虽也支持曲线、表面、点组材质,但Maya导出的OBJ文件通常不包含这些信息 [^3]。 - **面的支持**:支持三个点以上的面,而很多其他模型文件格式只支持三个点的面,这使得OBJ文件在模型再加工方面更具优势 [^3]。 - **坐标支持**:支持法线和贴图坐标,在其他软件中调整好贴图后,贴图坐标信息可存入OBJ文件,导入Maya后只需指定贴图文件路径,无需再调整贴图坐标 [^3]。 - **颜色支持**:可以支持无限的颜色,一个文件能定义多个对象 [^1]。 - **可伸缩性**:是矢量文件,定义的对象具有可伸缩性 [^1]。 ### 文件结构 OBJ文件中的对象由多边形面(由顶点或点定义)以及法线、曲线、纹理映射和曲面等定义 [^1]。例如记录一个四边形的OBJ文件代码如下: ```plaintext v -0.58 0.84 0 v 2.68 1.17 0 v 2.84 -2.03 0 v -1.92 -2.89 0 f 1 2 3 4 ``` 其中“v”表示顶点,后面跟着顶点的坐标;“f”表示面,后面的数字代表顶点的索引 [^2]。 ### 纹理坐标 纹理坐标格式为“vt u v w”,表示绘制模型的三角面片时,每个顶点取像素点时对应的纹理图片上的坐标。纹理图片坐标以屏幕左下角为原点,“w”一般用于形容三维纹理,大部分情况下用不到,基本为0 [^5]。 ### 优势 - **用户群和支持系统**:拥有庞大的用户群和支持系统 [^1]。 - **文件结构**:具有简单的文件结构 [^1]。 - **开源性**:是开源的 [^1]。 - **兼容性**:可以导入和导出到3D和CAD程序 [^1]。 - **文件大小**:可以近似复杂的表面几何形状,而不需要很大的文件大小 [^1]。 - **颜色支持**:支持多种颜色 [^1]。 - **数据完整性**:包括位置、法线和UV数据,并允许精确的表面细分 [^1]。 ### 查看与编辑 在Windows、Mac或Linux上,需要一个CAD或3D图形/建模程序来查看、打开或编辑OBJ文件,可用于处理OBJ文件的软件有Adobe Photoshop CC、Autodesk Maya、Blender、MeshLab、Microsoft 3D Viewer(3D查看器)等 [^1]。 ### 局限性 不支持动画,在需要处理动画相关的3D场景时,可能需要选择其他格式,如FBX [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值