位置: 编程技术 - 正文

glm使用说明(glimp使用方法)

编辑:rootadmin
OBJ文件: 这里的OBJ文件是Wavefront公司的一种3D模型文件,不是VC在连接过程中产生的OBJ文件。GLM实现了用C语言对OBJ文件的常用操作,用于简单的3D游戏编程应该足够了。3DS MAX,MAYA都可以把模型以OBJ文件&#;式导出。OBJ文件中包含模型的顶点,面,三角形,法向,纹理坐标等数据,但是其中不包含纹理和材质。材质可以放在OBJ文件中指定一个材质库文件中,使用时材质库文件一般和OBJ文件放在一起。纹理图形就要自己想办法了。//模型数据结构:struct GLMmodel{ char* pathname; //模型文件和材质库的路径 char* mtllibname; //材质库名 GLuint numvertices; //顶点数 GLfloat* vertices; //储存顶点的向量 GLuint numnormals; //模型法向数 GLfloat* normals; //储存法向的向量 GLuint numtexcoords; //纹理坐标数 GLfloat* texcoords; //储存纹理坐标的向量 GLuint numfacetnorms; //规则平面数 GLfloat* facetnorms; //储存规则平面的向量 GLuint numtriangles; //三角形数 GLMtriangle* triangles; //储存三角形的向量 GLuint nummaterials; //材质数 GLMmaterial* materials; //储存材质的向量 GLuint numgroups;//图元组数 GLMgroup* groups;//储存图元组的向量 GLfloat position[3];//模型的位置 了解这个模型数据结构主要用于自己扩充操作,以下是glm提供的相关操作://单位化模型model并返回缩放比例因子单位化就是把模型通过平移和缩放变换限制到3维坐标系中点为中心的一个单位正方体区域内GLfloat glmUnitize(GLMmodel* model); //计算模型的宽,高,深尺寸,结果保存在dimensions所指的3元素数组中GLvoid glmDimensions(GLMmodel* model, GLfloat* dimensions); //按比例参数缩放模型,参数大于1放大,大于0小于1缩小,小于0反射,等于0缩小到0GLvoid glmScale(GLMmodel* model, GLfloat scale); //反转模型的多边形顶点顺序,同时反转法向量,默认多边形顶点顺序是逆时针的。GLvoid glmReverseWinding(GLMmodel* model); //计算模型面的法向(假定多边形顶点顺序为逆时针)GLvoid glmFacetNormals(GLMmodel* model); //计算模型的平滑顶点法向,angle参数为平滑交叉的最大角度(角度制)GLvoid glmVertexNormals(GLMmodel* model, GLfloat angle); //按线性投影产生纹理坐标,它把顶点线性映射到矩形上GLvoid glmLinearTexture(GLMmodel* model); //按球形映射产生纹理坐标GLvoid glmSpheremapTexture(GLMmodel* model); //从内存中释放模型GLvoid glmDelete(GLMmodel* model); //从Wavefront公司标准的.OBJ文件中读取模型GLMmodel* glmReadOBJ(char* filename); //将模型按Wavefront .OBJ文件&#;式写入文件,文件名由filename参数指定//mode指定写入方式,此参数为取或(“|”)的位联合://GLM_NONE - 只按顶点处理//GLM_FLAT - 按面计算法向//GLM_SMOOTH - 按顶点计算法向//GLM_TEXTURE - 包含纹理座标//GLM_COLOR - 只包含颜色信息(纯色材质)//GLM_MATERIAL - 包含材质信息//其中GLM_FLAT和GLM_SMOOTH不能同时指定//GLM_COLOR和GLM_MATERIAL也不能同时指定GLvoid glmWriteOBJ(GLMmodel* model, char* filename, GLuint mode); //按mode指定模式使用当前的OPENGL绘制上下文(context)绘制模型//mode参数同glmReadOBJ中的mode参数GLvoid glmDraw(GLMmodel* model, GLuint mode); //由模型生成OPENGL显示列表并返回显示列表索引号//其中mode参数同glmWriteOBJ和glmDraw中的mode参数GLuint glmList(GLMmodel* model, GLuint mode); //合并模型中差别很小的顶点,epsilon参数指定要合并顶点间的最大差距//推荐epsilon参数0.为焊接模型的起点GLvoid glmWeld(GLMmodel* model, GLfloat epsilon); //读取PPM&#;式的图形文件//返回一个位色的图象指针(可用于OPENGL纹理映射和图象绘制函数)//同时图象尺寸存储在width,height指针参数指定的地址中glmReadPPM(char* filename, int* width, int* height);

推荐整理分享glm使用说明(glimp使用方法),希望有所帮助,仅作参考,欢迎阅读内容。

glm使用说明(glimp使用方法)

文章相关热门搜索词:glm0,glocalme使用说明书,glm25说明书中文,glm1,glm30说明书,glm25说明书中文,glm25说明书中文,glm02,内容如对您有帮助,希望把文章链接给更多的朋友!

在MAC平台上编译GLFW并配置到Xcode 由于MacOSX.已经不再鼓励使用GLUT库进行OpenGL开发,缘由是因为其实在太老了其项目组已经停止更新好多年,而且不怎么安全,现在可供OpenGL开发的窗

OpenGL ES常用API OPenGLES常用API:glClearColor(0.f,0.f,0.f,1.f);//设置模式窗口的背景颜色,颜色采用的是RGBAglViewport(0,0,iScreenWidth,iScreenHeight);//设置视口的大小以及位置,视口:

Android OpenGL ES 入门 原创:

标签: glimp使用方法

本文链接地址:https://www.jiuchutong.com/biancheng/369509.html 转载请保留说明!

上一篇:glColor3f影响纹理贴图 的思考

下一篇:在MAC平台上编译GLFW并配置到Xcode(macbook编译java)

  • 怎么把销项税额进项税额给转掉
  • 管理费用和研发费用的区别
  • 审计查账查什么
  • 结算金额和付款金额
  • 技术合同免税备案流程2022年
  • 一个月作废发票多会有影响吗?
  • 预算会计工资是应发工资还是实发工资
  • 转登记小规模纳税人留抵税额
  • 电子产品委外加工
  • 房地产销售土地增值税纳税人减免申请核准表
  • 团队接待的程序及标准
  • 活动现金红包
  • 房地产开发成本费用明细表
  • 定额发票领用日期
  • 股东借款可以转为认缴出资
  • 要求做前两年的核酸检测
  • 绩效奖金是否属于工资判决书
  • 以前年度损益调整会计分录
  • 机关党建经费提取比例
  • 关联公司代付款
  • 预缴增值税会计处理
  • 购买电子承兑差额怎么算
  • 换购商品分录怎么做
  • manjaro linux安装教程
  • linux怎么用gcc编译c程序
  • 用约当产量法怎么计算约当总产量
  • win7旗舰版叫啥
  • if.else
  • laravel搭建
  • 最小的电池是多大
  • mksysb命令
  • php购物车订单处理
  • 人工智能时代如何培养孩子
  • thinkphp d
  • thinkphp 部署
  • 公司投资资金
  • 固定资产备抵科目怎么填
  • 对公账户的银行卡号是几位数
  • php图片上传代码详解
  • elemental ui
  • node-js
  • ppp中启用chap命令
  • 仓库发货打包以及建议年终总结
  • 交易性金融资产的账务处理
  • 打印的机票行程怎么查
  • 免征企业所得税的有哪些行业
  • 维修费开专票怎么做账
  • 社保年审流程示意图
  • 购买的机械设备算固定资产吗
  • mysql 优化口诀
  • 计提税金如何做凭证
  • 定期定额纳税申报表计税依据怎么填
  • 归纳投入外币资产怎么写
  • 预收账款冲销账户怎么做
  • 红字更正法和红字冲销
  • 进项转出做账做什么会计
  • 农民工专户里的钱能转出来吗
  • 职工薪酬费用属于什么费用
  • 施工企业的具体工作有哪些
  • 企业接受供应单位提供劳务而发生的应付账款
  • 出口货物两张报关单
  • 自产自销农产品免税备案取消
  • 实际成本大于预计总成本
  • mysql中的null值和空
  • 数据库sql server
  • centos怎么样
  • centos怎么查看文件
  • win10共享提示
  • win8.1启动项设置
  • linux终端有哪些
  • wind10手机版
  • Apache 2.0.55 for Linux 下载
  • css网站布局实录 pdf
  • shell 四则运算
  • js应用实例
  • jquery与js
  • nodejs使用es6
  • 在javascript中什么方法可以对数组元素进行排序
  • excel自定义控件
  • 河南省纪检委网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设