位置: 编程技术 - 正文

opengl 绘制实心圆柱体(opengl画实体)

编辑:rootadmin

推荐整理分享opengl 绘制实心圆柱体(opengl画实体),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl绘制虚线,opengl绘制任意图形,opengl画心形曲线,opengl画心形曲线,opengl绘制实心圆,opengl画实体,opengl画实心圆,opengl绘制实心三角形,内容如对您有帮助,希望把文章链接给更多的朋友!

glu中提供了一个绘制圆柱体的函数:

void gluCylinder( GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks )使用方法是:

GLUquadric *pObj; pObj = gluNewQuadric();

调用gluCylinder函数时,将pObj作为第一个参数传入。gluDeleteQuadric(pObj);

opengl 绘制实心圆柱体(opengl画实体)

这样子绘制出的圆柱体是空心的:

我根据gluCylinder函数写了个函数,将两边封顶。

[cpp] view plaincopyvoid mySolidCylinder( GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks ) { glColor3f(.0/, 0.0, .0/.0); gluCylinder(quad, base, top, height, slices, stacks); //top DrawCircleArea(0.0, 0.0, height, top, slices); //base DrawCircleArea(0.0, 0.0, 0.0, base, slices); } GLvoid DrawCircleArea(float cx, float cy, float cz, float r, int num_segments) { GLfloat vertex[4]; const GLfloat delta_angle = 2.0*M_PI/num_segments; glBegin(GL_TRIANGLE_FAN); vertex[0] = cx; vertex[1] = cy; vertex[2] = cz; vertex[3] = 1.0; glVertex4fv(vertex); //draw the vertex on the contour of the circle for(int i = 0; i < num_segments ; i&#;&#;) { vertex[0] = std::cos(delta_angle*i) * r &#; cx; vertex[1] = std::sin(delta_angle*i) * r &#; cy; vertex[2] = cz; vertex[3] = 1.0; glVertex4fv(vertex); } vertex[0] = 1.0 * r &#; cx; vertex[1] = 0.0 * r &#; cy; vertex[2] = cz; vertex[3] = 1.0; glVertex4fv(vertex); glEnd(); } [cpp] view plaincopyvoid mySolidCylinder( GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks ) { glColor3f(.0/, 0.0, .0/.0); gluCylinder(quad, base, top, height, slices, stacks); //top DrawCircleArea(0.0, 0.0, height, top, slices); //base DrawCircleArea(0.0, 0.0, 0.0, base, slices); } GLvoid DrawCircleArea(float cx, float cy, float cz, float r, int num_segments) { GLfloat vertex[4]; const GLfloat delta_angle = 2.0*M_PI/num_segments; glBegin(GL_TRIANGLE_FAN); vertex[0] = cx; vertex[1] = cy; vertex[2] = cz; vertex[3] = 1.0; glVertex4fv(vertex); //draw the vertex on the contour of the circle for(int i = 0; i < num_segments ; i&#;&#;) { vertex[0] = std::cos(delta_angle*i) * r &#; cx; vertex[1] = std::sin(delta_angle*i) * r &#; cy; vertex[2] = cz; vertex[3] = 1.0; glVertex4fv(vertex); } vertex[0] = 1.0 * r &#; cx; vertex[1] = 0.0 * r &#; cy; vertex[2] = cz; vertex[3] = 1.0; glVertex4fv(vertex); glEnd(); }

最终绘制出的圆柱体:

Opengl 添加纹理 #includestdio.h#includewindows.h//HeaderFileForWindows#includeglgl.h//HeaderFileForTheOpenGLLibrary#includeglglu.h//HeaderFileForTheGLuLibrary#includeglglut.h//HeaderFileForTheGlauxLibrary#incl

cocos2dx吸蓝效果实现opengl绘制 cocos2dx想做一些比较炫的效果,单纯依靠引擎封装提供的一些东西毕竟有限,最近项目是用opengl绘制一些效果出来,代码如下:封装类效果类GoodDropEffects

错误error LNK: 无法解析的外部符号 _auxDIBImageLoadW@4 OpenGL编程时VS编译器报错:错误1errorLNK:无法解析的外部符号_auxDIBImageLoadW@4,该符号在函数p0解决办法:在cpp头部加入如下代码:#includeglaux.h#pragmacomment(li

标签: opengl画实体

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

上一篇:Cocos2dx 3.2 + vs2012 + win7 改变面黑色背景的大小

下一篇:Opengl 添加纹理(opengl oes纹理)

  • 现代服务印花税属于哪项
  • 增值税发票管理办法
  • 上一年度亏损,本年怎么计算企业所得税
  • 退票凭证什么样子
  • 无形资产的摊销会计科目
  • 购买方怎么写分录
  • 采购是进项还是销项
  • 叉车需要购置税吗
  • 住房公积金的会计处理
  • 现金流量表公式大全
  • 新的企业会计准则
  • 施工费增值税税率是9%
  • 定额发票是啥
  • 加工费计入什么费用
  • 会计调账有哪些方式
  • 零申报工会经费滞纳金怎么算
  • 劳务报酬怎么申报个税电子税务
  • 农作物种植销售
  • 上年结转的广告费次年怎么入账
  • u盘显示0字节修改不了
  • php更新数据
  • npm命令不存在
  • php://input用法
  • PHP:mcrypt_enc_is_block_mode()的用法_Mcrypt函数
  • 促销商品的方法
  • PHP:mcrypt_module_self_test()的用法_Mcrypt函数
  • php中用来创建目录的函数是
  • 小规模企业购入固定资产怎么做账务处理
  • 流动资产处置利得
  • 内资企业
  • 小程序和h5页面的区别
  • webpack配置publicpath
  • 董事长报销应该是怎样的流程
  • 纳税检查调整销售额什么意思
  • 一般纳税人注销税务流程
  • 购买办公用品没有合同缴纳印花税吗
  • 企业分立股权比例发生变化的税务处理
  • 什么叫做归属
  • 购买股权溢价部分怎么做账
  • 基本户 变更
  • 外币汇兑损益怎么计算
  • 医疗机构销售药品能否加价
  • 减免申报明细表怎么填
  • 2020年税务师报名流程
  • 当月开的发票次月预缴税款行得通吗?
  • 建筑公司工资如何
  • 发放职工薪酬的记账凭证
  • 退款扣除手续费
  • 所得税费用结转分录
  • 债权人和债务人的区别
  • 预算收入包括增值税吗
  • 计提是好是坏
  • 发票 发票专用章
  • 提供加工劳务计入什么科目
  • 违约合同怎么解决
  • 生产成本和主营业务成本金额一样吗
  • 分享sql日期时间格式
  • 使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '''' for column ''createtime''的快速解决方法
  • Windows Server 2008疑难杂症
  • 电脑光驱怎么装系统w7
  • linux默认文件大小
  • win8语音助手怎么关闭
  • 怎么更改电脑键盘语言
  • windows8用的人少
  • 原生java web
  • 批处理程序教程
  • 浏览器如何批量打开网址
  • jquery+ajax实现省市区三级联动效果简单示例
  • unity unit
  • jquery 文本框
  • 严格模式的作用
  • js如何实现重置功能
  • js新年倒计时
  • 税务局冬季作息时间
  • 社保申报截止日期每月2023年
  • 如何办理委托银行卡业务
  • 深圳增值税勾选平台网址
  • 新市税务所电话
  • 岗位练兵的作用
  • 西安市地方税务局高新技术产业开发区分局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设