位置: 编程技术 - 正文

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纹理)

  • 汇算清缴补交所得税会计分录小企业会计政策
  • 补缴以前年度附加税如何入账
  • 个人出租房屋需要办理什么手续
  • 建筑企业成本核算工作流程
  • 被投资方宣告发放股票股利
  • 医院企业所得税怎么征收的
  • 通信协会费入什么科目
  • 贸易公司没有仓库需要做入库
  • 本月进项留抵会计分录
  • 受托代销商品和受托代销商品款是什么科目
  • 长期挂账应收账款怎么调
  • 不征收耕地占用税的情形
  • 增值税普通发票需要交税吗
  • 二手房增值营业税
  • 电子发票开给个人怎么处理?
  • 外籍人员在境内取得所得在我国应该计征个人所得税
  • 收购免税农产品的进项税可以抵扣吗
  • 补交以前年度个税怎么做账
  • 货物赔偿款会计分录
  • 冲红发票会计分录大全
  • 瓶盖再来一瓶
  • 收到多开的工程款怎么办
  • 先支付后收到发票怎么做账
  • 开发产品转作经营性资产
  • 长期借款资本成本高吗
  • 融资性售后回租是什么意思
  • electron 打包
  • qr code在线生成二维码
  • 远眺格斯韦因斯泰因村和格斯韦因斯泰因城堡 (© Juergen Sack/Getty Images)
  • 营改增后预交增值税
  • thinkphp接收ajax数据
  • 周末闲暇时光是什么意思
  • php公众号推送完整示例
  • python类 方法
  • 增值税系统技术维护费抵扣只能当月申报
  • 新准则公允价值变动科目余额为负数
  • 利息收入的纳税调整
  • 计划资产产生的股利
  • phpcms怎么用
  • 航天信息发票怎么抵扣
  • 多付的账款计入什么科目
  • 增值税普票怎么开演示
  • 合并会计报表编制实例
  • 出租房产怎么交房产税
  • 费用报销单的经办人是什么意思
  • 筹建期间的开办费为什么不属于资产
  • 货物抵货款的账务处理
  • 财务收入支出明细表
  • 小规模纳税人没有进项发票违法吗
  • 独立核算和非独立核算增值税
  • 赠品不开票怎么办
  • 低值易耗品有哪些种类
  • mysql优化技巧实战
  • sql空值用什么表示
  • mysql转换数据类型
  • mysql增删改查实例
  • winxp怎么打印
  • solaris8+apache2+weblogic813+db2_82客户端+128 安装过程
  • linux系统中
  • xp administrator隐藏如何找回解决方案
  • g++.exe error
  • macbook的qq怎么更换背景
  • vmware中安装centos7
  • mmc.exe是什么
  • win10地理位置
  • js随机生成数
  • android实现推送
  • 改变图片透明度怎么调
  • 安卓手机自定义ua
  • 备份系统三要素
  • unity资源包管理器
  • vue项目简介
  • javascript含义
  • linux的gunzip命令
  • python mp3play
  • 动感相册模板
  • 税务局执法不规范整改
  • 棚改房办房产证用不用交费
  • 发票专用章和公章编码一样吗
  • 优税猫是什么运营模式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设