常用3D格式说明和对比(OBJ、glTF、GLB、STEP、FBX)

本文整理了常见3D模型格式的详细说明和简单示例,以备需要的读者了解和自己需要时查阅。其中 OBJ 格式,是学习图形和OpenGL时,各代码示例中最常用、最简单的格式,但不支持动画;glTF、GLB适合网络传输,在网页中广泛应用,还支持PBR材质;STEP格式工程和制造领域的,支持复杂的几何和拓扑信息;FBX在游戏开发中应用最为广泛,支持复杂动画。

OBJ 格式

OBJ 文件

OBJ文件格式是一种用于表示三维几何形状的标准文件格式,最初由Wavefront Technologies开发。它广泛应用于计算机图形学和3D建模领域,支持多种3D软件和渲染引擎。以下是对OBJ文件格式的详细介绍:

  1. 文件扩展名:OBJ文件通常以.obj为文件扩展名。
  2. 数据表示:OBJ文件使用纯文本格式来表示数据,这使得文件内容可以被人类阅读和编辑。文件内容主要包括顶点、法线、纹理坐标和面等几何信息。
  3. 文件结构:OBJ文件的结构通常包括以下几个部分:
    1. 顶点(Vertices):使用v开头,后跟三个或四个浮点数,表示顶点的坐标。如v 1.0 2.0 3.0
    2. 纹理坐标(Texture Coordinates):使用vt开头,后跟两个或三个浮点数,表示纹理坐标。如vt 0.5 1.0
    3. 法线(Normals):使用vn开头,后跟三个浮点数,表示法线向量。如vn 0.0 0.0 1.0
    4. 面(Faces):使用f开头,后跟顶点索引、纹理坐标索引和法线索引,表示一个多边形面。如f 1/1/1 2/2/2 3/3/3
  4. 支持的几何类型:BJ文件格式支持以下几何类型
    • 点(Points)
    • 线(Lines)
    • 多边形(Polygons)
    • 三角形(Triangles)
  5. 材质文件(MTL):OBJ文件可以引用一个材质文件(MTL文件),用于定义材质属性,如颜色、纹理、反射率等。MTL文件使用纯文本格式,通常与OBJ文件一起使用。
  6. 应用领域:OBJ文件格式广泛应用于以下领域
    • 3D建模:用于创建和编辑三维模型。
    • 计算机图形学:用于渲染和显示三维图形。
    • 游戏开发:用于导入和导出游戏中的三维模型。
    • 虚拟现实(VR)和增强现实(AR):用于创建虚拟和增强现实环境中的三维对象。
  7. 优缺点
    • 优点:
      1. 简单易读,使用纯文本格式。
      2. 广泛支持,多种3D软件和渲染引擎都兼容。
      3. 易于编辑和调试。
    • 缺点:
      1. 不支持复杂的材质和动画信息。
      2. 文件可能较大,尤其是包含大量顶点和面时。
      3. 不支持层次结构和装配信息。
  8. 总结: OBJ文件格式是一种简单而强大的三维几何描述格式,广泛应用于3D建模和计算机图形学领域。它的易读性和广泛支持使其成为3D数据交换的常用格式之一。
  9. 示例:
# List of vertices
v 0.0 0.0 0.0
v 1.0 0.0 0.0
v 1.0 1.0 0.0
v 0.0 1.0 0.0# List of texture coordinates
vt 0.0 0.0
vt 1.0 0.0
vt 1.0 1.0
vt 0.0 1.0# List of normals
vn 0.0 0.0 1.0# List of faces
f 1/1/1 2/2/1 3/3/1 4/4/1

MTL 文件

材质文件(MTL)是一种用于描述3D模型材质属性的文件格式,通常与OBJ文件一起使用。MTL文件使用纯文本格式,定义了模型表面的颜色、纹理、反射率等材质属性。以下是对MTL文件格式的详细介绍:

  1. 文件扩展名: MTL文件通常以.mtl为文件扩展名。
  2. 数据表示:MTL文件使用纯文本格式来表示数据,每个材质属性使用特定的关键字进行定义。文件内容主要包括材质名称、颜色、纹理映射、反射属性等。
  3. 文件结构: MTL文件的结构通常包括以下几个部分:
    1. 材质名称(Material Name):使用newmtl关键字定义一个新的材质名称。如newmtl MaterialName
    2. 环境光颜色(Ambient Color):使用Ka关键字定义环境光颜色,后跟三个浮点数,表示RGB值。如Ka 1.000 1.000 1.000
    3. 漫反射颜色(Diffuse Color):使用Kd关键字定义漫反射颜色,后跟三个浮点数,表示RGB值。如Kd 1.000 0.000 0.000
    4. 镜面反射颜色(Specular Color):使用Ks关键字定义镜面反射颜色,后跟三个浮点数,表示RGB值。如Ks 0.500 0.500 0.500
    5. 镜面高光指数(Specular Exponent):使用Ns关键字定义镜面高光指数,表示光泽度。如Ns 100.0
    6. 透明度(Transparency):使用d或Tr关键字定义透明度,值范围为0.0(完全透明)到1.0(完全不透明)。如Ns 100.0
    7. 光照模型(Illumination Model):使用illum关键字定义光照模型。如illum 2
    8. 纹理映射(Texture Mapping):使用map_Kd关键字定义漫反射纹理映射。如map_Kd texture.jpg
  4. 支持的材质属性:MTL文件格式支持多种材质属性,包括但不限于
    • 环境光颜色(Ka)
    • 漫反射颜色(Kd)
    • 镜面反射颜色(Ks)
    • 镜面高光指数(Ns)
    • 透明度(d或Tr)
    • 光照模型(illum)
    • 纹理映射(map_Kd, map_Ka, map_Ks, map_d, map_bump等)
  5. 应用领域:MTL文件格式广泛应用于以下领域
    • 3D建模:用于定义3D模型的材质属性。
    • 计算机图形学:用于渲染和显示三维图形。
    • 游戏开发:用于导入和导出游戏中的材质信息。
    • 虚拟现实(VR)和增强现实(AR):用于创建虚拟和增强现实环境中的材质效果。
  6. 优缺点
    • 优点:
      1. 简单易读,使用纯文本格式。
      2. 广泛支持,多种3D软件和渲染引擎都兼容。
      3. 易于编辑和调试。
    • 缺点:
      1. 不支持复杂的材质和光照效果。
      2. 文件可能较大,尤其是包含大量纹理映射时。
      3. 不支持动态材质属性和动画。
  7. 总结:MTL文件格式是一种简单而强大的材质描述格式,广泛应用于3D建模和计算机图形学领域。它的易读性和广泛支持使其成为3D数据交换的常用格式之一。通过与OBJ文件结合使用,MTL文件可以有效地描述3D模型的材质属性,提升模型的视觉效果。
  8. 示例
# This is a simple MTL file example# Define a new material named "RedMaterial"
newmtl RedMaterial
Ka 1.000 1.000 1.000
Kd 1.000 0.000 0.000
Ks 0.500 0.500 0.500
Ns 100.0
d 1.0
illum 2
map_Kd red_texture.jpg# Define another material named "TransparentMaterial"
newmtl TransparentMaterial
Ka 1.000 1.000 1.000
Kd 0.000 1.000 0.000
Ks 0.500 0.500 0.500
Ns 100.0
d 0.5
illum 2
map_Kd green_texture.png

glTF格式

GLTF(GL Transmission Format)是一种用于3D场景和模型的文件格式。它被设计为提供高效的加载,以及在运行时提供渲染所需的最小的内存占用。以下是一些关于GLTF格式的关键点:

  • 开放标准:GLTF是由Khronos Group(也是OpenGL和WebGL的背后组织)开发和维护的开放标准。
  • JSON格式:GLTF文件是以JSON格式存储的,,它包含了3D模型的结构和属性信息,如节点、网格、材质等,这使得它们可以被人类读取和编辑,也可以被机器轻松解析。
  • 二进制数据和纹理:GLTF文件可以引用其他的外部文件,如顶点数据和纹理的二进制数据,这些数据可以被直接上传到GPU,无需进行任何预处理,这种分离的设计使得GLTF文件可以更有效地管理和加载大量的模型数据。
  • PBR材质:GLTF支持基于物理的渲染(PBR)材质,这使得它可以创建出逼真的3D模型(材质和光照效果)。
  • 动画:GLTF支持复杂的动画,包括骨骼动画和形状变形,可以用于创建动态的3D角色和场景。
  • 扩展性:GLTF支持通过扩展来增加新的功能,如光照、环境贴图等。
  • 广泛支持:GLTF格式被许多3D应用程序和游戏引擎支持,包括Three.js、Babylon.js、Unity、Unreal Engine等。

GLTF格式被许多3D应用程序和游戏引擎支持,包括Three.js、Babylon.js、Unity、Unreal Engine等。

一个 glft 模型是一个目录,包含多个文件:

  • .gltf文件:场景描述文件,josn格式,1 个
  • .bin文件:几何数据,二进制文件,0-n个
  • .png/.jpg文件:二进制的图片格式,,0~n个

GLTF2.0格式说明

GLTF文件的主要组成部分包括:

  • Asset:描述文件的元数据,如版本、生成器等。
  • Scenes:描述3D场景的列表,每个场景包含一组节点(Node)。
  • Nodes:描述3D对象的列表,每个节点可以包含网格(Mesh)、摄像机(Camera)、骨骼(Skin)等。
  • Meshes:描述3D网格的列表,每个网格包含一组图元(Primitive)。
  • Materials:描述材质的列表,每个材质定义了表面的外观,如颜色、纹理、光照模型等。
  • Textures:描述纹理的列表,每个纹理包含一个图像(Image)和一个采样器(Sampler)。
  • Animations:描述动画的列表,每个动画包含一组通道(Channel)和采样器(Sampler)。

以上是GLTF格式的一些基本信息,具体的细节和规范可以在Khronos Group的官方文档中找到。

示例如下:

{"asset": {"version": "2.0"},"scenes": [{"nodes": [0]}],"nodes": [{"mesh": 0}],"meshes": [{"primitives": [{"attributes": {"POSITION": 0},"indices": 1}]}],"buffers": [{"uri": "data:application/octet-stream;base64,...","byteLength": 1024}],"bufferViews": [{"buffer": 0,"byteOffset": 0,"byteLength": 512}],"accessors": [{"bufferView": 0,"componentType": 5123,"count": 36,"type": "SCALAR"}]
}

GLB格式

GLB是一种3D模型文件格式,由Khronos Group定义,作为GLTF(GL Transmission Format)的二进制版本。以下是一些关于GLB格式的关键点:

  • 单一文件:GLB格式的主要特点是它将所有的模型数据(包括结构、几何、纹理等)打包到一个单一的文件中。这使得GLB文件更易于传输和加载,因为只需要一个文件就可以表示一个完整的3D模型。
  • 二进制格式:GLB文件是二进制格式的,这使得它们可以直接被GPU读取和处理,无需进行任何预处理。然而,这也意味着GLB文件不易于人类阅读和编辑。
  • GLTF兼容:GLB文件是完全兼容GLTF规范的,它们支持所有的GLTF特性,如PBR材质、动画、骨骼等。你可以将任何GLTF文件转换为GLB文件,反之亦然。
  • 广泛支持:GLB格式被许多3D应用程序和游戏引擎支持,包括Three.js、Babylon.js、Unity、Unreal Engine等。

总的来说,GLB是一种高效、紧凑的3D模型格式,特别适合于网络传输和实时渲染。

GLTF和GLB格式比较

GLTF和GLB都是由Khronos Group定义的3D模型格式,它们都支持现代3D引擎和应用程序所需的各种特性,如PBR材质、动画和骨骼。然而,它们在文件结构和用途上有一些重要的区别:

  • GLTF (.gltf):GLTF文件是JSON格式的,它包含了3D模型的结构和属性信息,如节点、网格、材质等。GLTF文件可以引用其他的外部文件,如二进制数据文件 (.bin) 和纹理图像。这种分离的设计使得GLTF文件易于阅读和编辑,但可能需要多个文件才能表示一个完整的3D模型。

  • GLB (.glb):GLB文件是GLTF的二进制版本,它将所有的模型数据(包括JSON、二进制数据和纹理)打包到一个单一的文件中。这使得GLB文件更易于传输和加载,因为只需要一个文件就可以表示一个完整的3D模型。然而,GLB文件不易于阅读和编辑,因为它们是二进制格式的。

总的来说,如果你需要一个易于阅读和编辑的格式,或者你的模型数据需要分散在多个文件中,那么GLTF可能是一个好的选择。如果你需要一个易于传输和加载的格式,或者你的模型数据可以打包到一个文件中,那么GLB可能是一个好的选择。

STEP 格式

STEP(Standard for the Exchange of Product model data)文件格式是一种用于描述三维模型数据的国际标准格式,由ISO 10303标准定义。它的主要目的是实现不同CAD(计算机辅助设计)系统之间的互操作性。STEP文件格式广泛应用于工程、制造和建筑等领域,用于交换复杂的产品数据。

  • 文件扩展名:STEP文件通常以.stp或.step为文件扩展名。
  • 数据格式:STEP文件使用ASCII文本格式来表示数据,这使得文件内容可以被人类阅读和编辑。文件内容通常包括几何信息、拓扑信息、材料属性、装配结构等。
  • 数据结构:
    • HEADER:文件头部,包含文件的基本信息,如文件名、作者、日期等。
    • DATA:数据部分,包含具体的几何和拓扑信息。
    • END-ISO-10303-21:文件结束标志。
  • 优缺点:
    • 优点:
      1. 高互操作性: STEP文件格式的主要优势在于其高互操作性。不同的CAD软件可以通过STEP文件格式进行数据交换,从而避免了数据丢失和格式不兼容的问题。
      2. 标准化:ISO 10303标准定义
      3. 支持复杂的几何和拓扑信息
    • 缺点
      1. 文件可能较大
      2. 解析和生成STEP文件可能需要较高的计算资源

示例:

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Example STEP file'),'2;1');
FILE_NAME('example.stp','2023-10-10T12:00:00',('Author'),('Organization'),'','');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1 = CARTESIAN_POINT('',(0.0, 0.0, 0.0));
#2 = CARTESIAN_POINT('',(1.0, 0.0, 0.0));
#3 = LINE('',#1,#2);
ENDSEC;
END-ISO-10303-21;

GLTF和STEP格式比较

  1. 标准和发布机构
    • GLTF:
      • 由Khronos Group发布。
      • 主要用于实时3D图形和Web应用。
    • STEP:
      • 由国际标准化组织(ISO)发布,具体标准为ISO 10303。
      • 主要用于工程和制造领域的数据交换。
  2. 文件扩展名
    • GLTF:.gltf(JSON格式)和.glb(二进制格式)。
    • STEP:.stp或.step。
  3. 数据表示
    • GLTF:
      • 使用JSON格式表示数据,易于解析和编辑。
      • 支持二进制格式(.glb),更适合传输和存储。
      • 主要包含几何信息、材质、纹理、动画等。
    • STEP:
      • 使用ASCII文本格式表示数据,文件内容可以被人类阅读和编辑。
      • 主要包含几何信息、拓扑信息、材料属性、装配结构等。
  4. 应用领域
    • GLTF:
      • 主要用于WebGL、虚拟现实(VR)、增强现实(AR)和游戏开发。
      • 适合实时渲染和交互应用。
    • STEP:
      • 主要用于机械设计、建筑设计、航空航天、汽车制造、电子产品设计等工程和制造领域。
      • 适合复杂的产品数据交换和长期存储。
  5. 互操作性
    • GLTF:
      • 设计为跨平台和跨设备的3D模型传输格式。
      • 广泛支持现代浏览器和3D引擎,如Three.js、Babylon.js等。
    • STEP:
      • 高互操作性,不同的CAD软件可以通过STEP文件进行数据交换。
      • 广泛支持各种CAD软件,如AutoCAD、SolidWorks、CATIA、PTC Creo、Siemens NX等。
  6. 文件大小和性能
    • GLTF:
      • 文件通常较小,适合网络传输和实时渲染。
      • 支持压缩和优化,如Draco压缩。
    • STEP:
      • 文件可能较大,包含详细的几何和拓扑信息。
      • 解析和生成STEP文件可能需要较高的计算资源。
  7. 主要特点
    • GLTF:
      • 轻量级,适合实时渲染。
      • 支持PBR(Physically Based Rendering)材质。
      • 支持动画和骨骼动画。
    • STEP:
      • 支持复杂的几何和拓扑信息。
      • 支持装配结构和产品数据管理。
      • 高度标准化,适合长期存储和数据交换。
  8. 总结
    • GLTF适合实时渲染和Web应用,文件小,易于传输和渲染。
    • STEP适合工程和制造领域的数据交换,支持复杂的几何和拓扑信息,高度标准化。

FBX 格式

FBX(Filmbox)文件格式是一种广泛使用的三维模型和动画文件格式,由Autodesk开发和维护。FBX格式支持多种3D数据类型,包括几何、材质、纹理、动画、骨骼、灯光和摄像机等,因此在3D建模、动画制作、游戏开发和虚拟现实等领域得到了广泛应用。

  1. 文件扩展名:FBX文件通常以.fbx为文件扩展名。
  2. 数据表示:FBX文件可以使用二进制格式或ASCII文本格式来表示数据。
    • 二进制格式更紧凑,适合传输和存储;
    • ASCII格式则更易于阅读和调试。
  3. 支持的数据类型:FBX格式支持多种3D数据类型,包括但不限于
    • 几何(Geometry):顶点、边、面、法线、UV坐标等。
    • 材质(Materials):颜色、纹理、反射率等。
    • 动画(Animation):关键帧动画、骨骼动画、变形动画等。
    • 骨骼(Skeletons):骨骼结构、关节、权重等。
    • 灯光(Lights):点光源、聚光灯、环境光等。
    • 摄像机(Cameras):透视摄像机、正交摄像机等。
  4. 文件结构:FBX文件的结构相对复杂,包含多个层次的节点,每个节点可以包含不同类型的数据。以下是FBX文件的一些主要结构元素
    • Header:文件头部,包含文件版本等基本信息。
    • Objects:定义了文件中的所有对象,如几何、材质、动画等。
    • Connections:定义了对象之间的关系和连接。
    • Takes:包含动画数据。
  5. 应用领域:
    1. 3D建模和动画:用于创建和编辑三维模型和动画。
    2. 游戏开发:用于导入和导出游戏中的三维模型和动画。
    3. 虚拟现实(VR)和增强现实(AR):用于创建虚拟和增强现实环境中的三维对象。
    4. 影视制作:用于制作电影和电视中的三维特效和动画。
  6. 优缺点
    • 优点:
      • 支持多种3D数据类型,包括几何、材质、动画等。
      • 高度兼容,广泛支持多种3D软件和渲染引擎。
      • 支持复杂的动画和骨骼结构。
    • 缺点:
      • 文件结构相对复杂,不易手动编辑。
      • 文件可能较大,尤其是包含大量动画数据时。
      • 二进制格式不易阅读和调试。
  7. 总结:FBX文件格式是一种功能强大的三维模型和动画文件格式,广泛应用于3D建模、动画制作、游戏开发和虚拟现实等领域。它支持多种3D数据类型,具有高度兼容性和广泛的应用支持,是3D数据交换和存储的常用格式之一。
  8. 示例:以下是一个简单的FBX文件示例(ASCII格式)
; FBX 7.4.0 project file
; ----------------------------------------------------FBXHeaderExtension:  {FBXHeaderVersion: 1003FBXVersion: 7400CreationTimeStamp: {Version: 1000Year: 2023Month: 10Day: 10Hour: 12Minute: 0Second: 0Millisecond: 0}Creator: "FBX SDK/FBX Plugins version 2020.0"
}Objects:  {Geometry: "Cube" {Vertices: *24 {a: 0,0,0, 1,0,0, 1,1,0, 0,1,0, 0,0,1, 1,0,1, 1,1,1, 0,1,1}PolygonVertexIndex: *24 {a: 0,1,2,3,-1, 4,5,6,7,-1}}
}Connections:  {C: "OO", "Geometry::Cube", "Model::Cube"
}

与GLTF相比,GLTF适合实时渲染和Web应用,文件小,易于传输和渲染,特别适用于WebGL、虚拟现实和增强现实等实时交互应用。而FBX适合需要复杂动画和骨骼结构的3D建模和动画制作,广泛应用于游戏开发、影视制作和虚拟现实等领域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/33171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PMP与软考的区别? 我该学习哪个?

PMP(项目管理专业人士)和软考(软件工程师考试)是两种不同领域的认证考试,分别专注于项目管理和软件工程师领域。下面将对它们做详细介绍。 一、PMP PMP作为项目管理领域的国际认证考试,由美国项目管理协会…

WordPress CDN是什么?CDN有什么作用?

您想让您的网站加载速度更快吗? 网站所有者希望网站加载速度快,内容丰富,功能强大,吸引用户。然而,添加这些功能可能会降低网站速度,难以快速向全球用户提供内容。 这就是为什么许多WordPress网站使用 CDN…

小型数据中心是什么?如何建设?

在数字化时代,小型数据中心正成为许多企业和组织加强数据管理和服务扩展的理想选择。与传统大型数据中心相比,小型数据中心以其灵活性、高效性和相对较低的运营成本吸引着越来越多的关注。然而,要成功建设一个小型数据中心,并确保…

Web网页端IM产品RainbowChat-Web的v7.0版已发布

一、关于RainbowChat-Web RainbowChat-Web是一套Web网页端IM系统,是RainbowChat的姊妹系统(RainbowChat是一套基于开源IM聊天框架 MobileIMSDK (Github地址) 的产品级移动端IM系统)。 ► 详细介绍:http://www.52im.net/thread-2…

特氟龙FEP离心管50ml30ml圆底赛默飞耐酸碱Thermo3114-0050离心管

FEP离心管:又叫聚全氟乙丙烯离心管,特氟龙离心管,F46离心管等。 其主要特性有: 1、可耐高温205℃、耐腐蚀性、不吸附性、透明可见、方便实验操作; 2、可适配于国内外各厂家离心机使用。 3、内壁光滑,不…

ios swift5 获取wifi列表

参考博客:iOS之Wifi开发探究 - 稀土掘金

富格林:汲取正规细节安全做单

富格林认为,现货黄金交易这个看似充满神秘与诱惑的投资行为,实则有着其独特的操作逻辑和风险控制方法。对于初次接触黄金投资的投资者来说,要想做单安全那么汲取正规的细节是必不可少的。下面为了协助大家安全做单,富格林将分享一…

解决安全规模问题:MinIO 企业对象存储密钥管理服务器

在强大可靠的存储解决方案领域,MinIO 作为持久层脱颖而出,为组织提供安全、持久和可扩展的存储选项。MinIO 通常负责处理关键任务数据,在确保高可用性方面发挥着至关重要的作用,有时甚至在全球范围内。存储数据的性质,…

电路学习——经典运放电路(2024.06.21)

参考链接1: 11个经典运放电路 在此感谢各位前辈大佬的总结,写这个只是为了记录学习大佬资料的过程,内容基本都是搬运的大佬博客,觉着有用自己搞过来自己记一下,如果有大佬觉着我搬过来不好,联系我删。 电路学习——经典…

振弦式渗压计:土壤力学与地下水流动研究的关键工具

当谈论到地下水流动和土壤力学时,振弦式渗压计是一种至关重要的工具。这篇文章将探讨振弦式渗压计的原理、工作方式以及其在土壤力学和地下水流动研究中的重要性。 振弦式渗压计的原理 振弦式渗压计利用了振动传感器和压力传感器的组合来测量土壤中的水压力。其基本…

车联网全方位安全适配与领先架构

设想一下如下场景: 您钟爱的座驾,在毫无外力破坏迹象的情况下,突然被侵入,远程启动,然后绝尘而去… 别以为这只是大银幕上的虚构桥段,事实上,这一幕在现实中已经上演。 某款备受欢迎的车型&a…

职场新宠:ONLYOFFICE——办公协作的得力助手

🎠前言 在快节奏的职场环境中,高效、便捷的办公软件成为每一位职场人士不可或缺的工作伙伴。当我们谈论职场办公软件时,许多人首先会想到Microsoft Office、wps等老牌软件。 然而,有一款宝藏的办公软件ONLYOFFICE,凭…

记录libevent编译openssl

libevent交叉编译 第一次编译过程中发现找不到openssl错误 下载源码 http://libevent.org/ // 第三方编译 1、openssl wget https://www.openssl.org/source/openssl-1.0.2u.tar.gztar xzvf openssl-1.0.2u.tar.gzmkdir /home/csc/share/sshd/openssl-1.0.2u/install -pcd …

项目从接收到发布的流程

1、项目经理拿到客户的需求 2、开需求发布会,确定开发周期,根据需求分析划分模块,确定技术栈,派发任务。 3、每个人拿到任务后,根据具体的任务需求与其他人沟通(定义一些公共的模块)&#xff…

Java实现管线拓扑关系连通性分析

管线拓扑关系的连通性分析通常涉及图论(Graph Theory)中的概念,特别是无向图(Undirected Graph)的遍历算法,如深度优先搜索(DFS, Depth-First Search)或广度优先搜索(BFS…

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index.…

Postgres 多实例实例部署方式(Windows)

复制之前数据库中的data文件 1、进入"服务",停止服务 2、直接复制data整个文件夹到另一个路径,打开"postgresql.conf"文件夹,修改port为其他端口 启动新的服务实例 1、cmd输入命名启动服务 pg_ctl -D "D:\PG\N…

前后端分离项目面试总结

一:是否登录状态 服务端登录的时候,给分配一个session用于存储数据,同时将sessionID返回给浏览器,浏览器通过cookie把sessionID存储起来,下次访问时携带上,服务端就可以通过sessionID来确定用户是否登录。 …

GD32 串口接受异常的几个原因

前面我们介绍过GD32 485发送时出现异常的最常见原因,有小伙伴反馈想要知道GD32 串口接受异常的可能原因,今天我们就来安排。 一、波特率异常导致收发出错 我们知道,串口是异步通讯接口,通讯双方或者多方都需要工作在相同波特率下…

【JS逆向百例】某点数据逆向分析,多方法详解

前言 最近收到粉丝的私信,其在逆向某个站点时遇到了些问题,在查阅资料未果后,来询问K哥,K哥一向会尽力满足粉丝的需求。网上大多数分析该站点的教程已经不再适用,本文K哥将提供 3 种解决方案,对于 webpack…