艺术涂料刷涂工艺?一次说到位
2026/7/3 5:23:29
开源库地址:https://github.com/vpenades/SharpGLTF
SharpGLTF是100%的.NET标准库,旨在支持Khronos Group glTF 2.0文件格式。
SharpGLTF.Toolkit库(会自动添加依赖的Core和Runtime库)usingSystem.Numerics;usingSharpGLTF.Geometry;usingSharpGLTF.Materials;usingSharpGLTF.Schema2;usingVERTEX=SharpGLTF.Geometry.VertexTypes.VertexPosition;namespaceTestSharpGLTF{internalclassProgram{staticvoidMain(string[]args){// create two materialsvarmaterial1=newMaterialBuilder().WithDoubleSide(true).WithMetallicRoughnessShader().WithChannelParam(KnownChannel.BaseColor,KnownProperty.RGBA,newVector4(1,0,0,1));varmaterial2=newMaterialBuilder().WithDoubleSide(true).WithMetallicRoughnessShader().WithChannelParam(KnownChannel.BaseColor,KnownProperty.RGBA,newVector4(1,0,1,1));// create a mesh with two primitives, one for each materialvarmesh=newMeshBuilder<VERTEX>("mesh");varprim=mesh.UsePrimitive(material1);prim.AddTriangle(newVERTEX(-10,0,0),newVERTEX(10,0,0),newVERTEX(0,10,0));prim.AddTriangle(newVERTEX(10,0,0),newVERTEX(-10,0,0),newVERTEX(0,-10,0));prim=mesh.UsePrimitive(material2);prim.AddQuadrangle(newVERTEX(-5,0,3),newVERTEX(0,-5,3),newVERTEX(5,0,3),newVERTEX(0,5,3));// create a scenevarscene=newSharpGLTF.Scenes.SceneBuilder();scene.AddRigidMesh(mesh,Matrix4x4.Identity);// save the model in different formatsvarmodel=scene.ToGltf2();model.SaveAsWavefront("mesh.obj");model.SaveGLB("mesh.glb");model.SaveGLTF("mesh.gltf");}}}在blender打开生成的gltf文件。
通览整个库,目前没有数据格式转换的功能(其他格式转gltf,gltf转其他格式)。
该库主要是支持gltf数据的读写,所以适合使用该库的API定制gltf文件的内容。