位置: 编程技术 - 正文

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

  • 国际运输需要办什么证
  • 一次性开票分期确认收入的税务文件是什么
  • 对公账户转账给法人用途写什么
  • 红字发票没有地址和银行信息跨月了无法作废
  • 进项税额转出结平分录怎么写
  • 期间费用包括资本公积吗
  • 企业税收案例分析
  • 小微企业增值税减免账务处理
  • 劳务票一般开几个点
  • 兼营小规模纳税人增值税优惠
  • 一个季度为纳税期限的规定适用
  • 交易性金融资产属于流动资产吗
  • 回盘的模板
  • 费用化和资本化对利润的影响
  • 企业发生的哪些业务可以使用简易计税法
  • 超市收代金券如何处理
  • 管理费用没发票能入账吗
  • linux aptx
  • 系统托盘无法隐藏文件夹
  • 银行提取现金会计等式
  • 深度学习中模型计算量(FLOPs)和参数量(Params)的理解以及四种计算方法总结
  • framework教程
  • 什么叫存续分立
  • 遇到的问题及解决方法
  • laravel模板引擎
  • 管理费用属于损益类吗
  • 个人销售废旧物资如何开票
  • 结转损益类收入科目
  • 基于强化学习的智能机器人路径规划算法研究(附代码)
  • php 时间
  • python的Django框架
  • 腾讯产品面经
  • 给工程项目买保险合法吗
  • dpkg --list
  • 零申报企业所得税怎么申报
  • 进项税额转出可以为负数吗
  • mysql线程数配置
  • python文件可分为哪几类
  • 预付账款的会计编码是多少?
  • 报验户如何管理
  • 准予从销项税额中扣除的有哪些
  • 培训费属于什么
  • sql server 2000数据库不能备份的原因
  • 保险公司的奖励制度
  • 营改增后小规模都是三个点吗
  • 红冲以前年度的费用怎么做账
  • 缔约过失是什么行为
  • 应付账款会计分录怎么写
  • 其他收益和其他综合收益属于什么科目
  • 固定资产一次性扣除怎么做账
  • 网上报税有没有时间限制
  • 财务报告编制原则
  • 清算申报在哪里报
  • 所得税汇算清缴前取得跨年发票
  • 有利息费用这个科目吗
  • 成本法和权益法的转换
  • 如何操作开具红字发票
  • 年底不发工资 员工离职
  • win10安装mysql教程
  • 自动备份mssql server数据库并压缩的批处理脚本
  • 硬盘安装后不显示
  • linux 下MySQL服务器的启动与停止
  • xp系统安装版
  • w8系统怎么用
  • pic是啥软件
  • win8磁盘分区
  • win8可以装pr2018吗
  • Android游戏开发案例教程小小弹球
  • bat怎么设置
  • iframe内容自适应缩放
  • js解析机制
  • python利用数据文件统计成绩
  • Clipboard.js 无需Flash的JavaScript复制粘贴库
  • unity-gain
  • python解决方案与程序有什么不同
  • jQuery中text() val()和html()的区别实例详解
  • 安卓手机如何查
  • 四川省税务干部学校官网
  • 煤老板的苦恼
  • 普通发票每个月有限制吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设