{"id":22342661,"url":"https://github.com/aircloud/webgl-obj-loader","last_synced_at":"2025-09-15T06:48:09.286Z","repository":{"id":95590695,"uuid":"78012891","full_name":"aircloud/WebGL-obj-loader","owner":"aircloud","description":"一个开源的WebGl的obj模型加载器，附完整example","archived":false,"fork":false,"pushed_at":"2017-02-24T14:35:15.000Z","size":29400,"stargazers_count":49,"open_issues_count":0,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-30T01:58:15.968Z","etag":null,"topics":["obj-webgl","webgl"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aircloud.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-01-04T12:17:21.000Z","updated_at":"2024-09-18T10:22:10.000Z","dependencies_parsed_at":"2023-04-20T00:16:59.526Z","dependency_job_id":null,"html_url":"https://github.com/aircloud/WebGL-obj-loader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aircloud/WebGL-obj-loader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aircloud%2FWebGL-obj-loader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aircloud%2FWebGL-obj-loader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aircloud%2FWebGL-obj-loader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aircloud%2FWebGL-obj-loader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aircloud","download_url":"https://codeload.github.com/aircloud/WebGL-obj-loader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aircloud%2FWebGL-obj-loader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275219479,"owners_count":25425888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["obj-webgl","webgl"],"created_at":"2024-12-04T08:13:19.268Z","updated_at":"2025-09-15T06:48:09.277Z","avatar_url":"https://github.com/aircloud.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### 开源的obj加载器\n\n\u003e计算机图形学课程的副产物，现课程已结束故将其开源，其中部分源代码参考了《WebGl编程指南》中的样例，本obj加载器主要是给初中级WebGl学习者完善\n\n**注意：由于在项目中考虑到复用关系，我目前的代码没有做充分封装，请使用的时候注意变量冲突的情况**\n\n### 文件内容\n\n* lib:数学库函数，和obj加载没有直接关系，但是在WebGl种很有用\n* src:带有注释的项目源代码\n* dist:可用于生产环境的项目代码\n* example:使用实例\n\n另外，我们小组使用了我个人开发的obj加载器，作为测试，效果还算良好，可以移步小组项目主页：https://github.com/WebGLproj/WebGLpro\n\n### 详细使用说明\n\n展示1个obj只需要一行代码:\n\n```\rreadOBJFile('./models/cube.obj', modelObject, mtlArray, objArray, 20, false, 0);\n```\r再添加1个纹理只需要两行代码:\n\n```\rreadOBJFile('./models/cube.obj', modelObject, mtlArray, objArray, 20, false, 0); \nTextureArray[0]={ifTexture:0.0,TextureUrl:'none',n:0};\r```\r改变透明度、默认颜 、缩放、旋转、方位、只需要三行代码:\n\n```\rreadOBJFile('./models/cube.obj', modelObject, mtlArray, objArray, 20, false, 0); \nTextureArray[0]={ifTexture:0.0,TextureUrl:'none',n:0};  \nupdateDrawInfo(0,[0.0,90.0,0.0, 0.0,6.0,0.0, 0.75,0.4,0.5,   0.5,0.5,0.5,1,0 ,1]);\n```\n\n注：关于第三种各个参数的位置，可以直接查看updateDrawInfo函数：\n\n```\nfunction updateDrawInfo(index,someDrawInfo){\n    if(!modelDrawInfo[index])\n        modelDrawInfo[index]={};\n\n    //旋转参数\n    modelDrawInfo[index].rotateX=someDrawInfo[0];\n    modelDrawInfo[index].rotateY=someDrawInfo[1];\n    modelDrawInfo[index].rotateZ=someDrawInfo[2];\n\n    //位置参数\n    modelDrawInfo[index].offsetX=someDrawInfo[3];\n    modelDrawInfo[index].offsetY=someDrawInfo[4];\n    modelDrawInfo[index].offsetZ=someDrawInfo[5];\n\n    //缩放参数\n    modelDrawInfo[index].scaleX=someDrawInfo[6];\n    modelDrawInfo[index].scaleY=someDrawInfo[7];\n    modelDrawInfo[index].scaleZ=someDrawInfo[8];\n\n    //自定义颜色参数\n    modelDrawInfo[index].r=someDrawInfo[9];\n    modelDrawInfo[index].g=someDrawInfo[10];\n    modelDrawInfo[index].b=someDrawInfo[11];\n    modelDrawInfo[index].a=someDrawInfo[12];\n    modelDrawInfo[index].u_ifCertainColor=someDrawInfo[13];\n\n    //是否隐藏\n    modelDrawInfo[index].ifShow=someDrawInfo[14];\n\n}\n```\n\n关于具体的使用方式，我已经给出了详细的例子，在example文件夹下的computerRoom.html 和 computerRoom.js 中。\n\n*解释权归个人所有，联系方式:networknxt@gmail.com*\n\n### 协议\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faircloud%2Fwebgl-obj-loader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faircloud%2Fwebgl-obj-loader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faircloud%2Fwebgl-obj-loader/lists"}