位置: 编程技术 - 正文

OpenGL二十面体及多次细分成球体(正二十面体怎么建模)

编辑:rootadmin

推荐整理分享OpenGL二十面体及多次细分成球体(正二十面体怎么建模),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:二十面体画法,二十面体平面展开图,二十面体平面图,正二十面体建模,二十面体展开图粘贴面,二十面体展开图,二十面体展开图,二十面体展开图粘贴面,内容如对您有帮助,希望把文章链接给更多的朋友!

绘制一个规则的二十面体,通过多边形近&#;模拟法来构建表面。

在绘制前,我们需要初始化一些数据:

然后再进行绘制:

但是光光是这样,是看不出它是个什么&#;。

但是可以通过调用glPolygonMode函数,来设置多边形的显示模式。现在把它设置为GL_LINE模式:

然后我们看下效果:

现在能看出点什么了把?

现在,我想让这货看起来更加有立体感,我要给它添加一个光照(先取消GL_LINE模式)。在添加光照前,需要计算一下它的一些法线向量。计算方法,我参照了OpenGL编程指南上的代码:

法线弄好了,那么就来添加一下光照,首先,需要一些初始化数据:

参数可以根据自己需求设定,上面是白光。

然后进行光源的设置:

OpenGL二十面体及多次细分成球体(正二十面体怎么建模)

OK,这些设置好后,把上面绘制那部分修改一下就可以看到一个比较不错的二十面体了。修改如下:

看下效果:

有时候,我们需要绘制一个球体,那么就可以通过这个二十面体进行绘制,只不过需要做一些额外的事情。

我们可以想象,这个二十面体,我可以在一个球体上进行切割得到,同样,如果我切的多一点,细一点,那是不是很接近球体,那么,也就是说,我们可以通过这个二十面体进行多次细分,这样,就可以得到一个球体。

下面是细分的代码:

在上面代码中,看到了drawtriangle的函数,其代码如下:

然后,再修改绘制那一部分代码即可。修改如下:

OK,我们现在来看一下1次细分,2次细分。。。的一些效果:

可以看到,细分的次数越多,则越趋向于一个球体。

最后,我贴一下整个程序的源代码:

To be continued~

opengl光照 Blinn-Phone模型与实现 这里介绍的方法,考察从光源发出的光线,这些光线与物体表面相互作用进行建模,这个方法和光线追踪类似,但是只考虑光源与表面之间的一次相互

深入理解OpenGL拾取模式(OpenGL Picking) 深入理解OpenGL拾取模式(OpenGLPicking)转自

如何使用Android中的OpenGL ES媒体效果 Android的媒体效果框架允许开发者可以很容易的应用多种令人印象深刻的视觉效果到照片或视频之上。作为这个媒体效果的框架,它使用GPU来处理图片处

标签: 正二十面体怎么建模

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

上一篇:5.2光源

下一篇:opengl光照 Blinn-Phone模型与实现(opengl光照效果)

  • 应交税金和应交税费有啥区别
  • 税务机关的义务是依法征管
  • 个税申报月份错了怎么改
  • 整形医院有收费标准么
  • 小规模纳税人发票怎么开
  • 增值税发票的抵扣联丢了怎么办
  • 销售免税产品要计算销项税吗
  • 资产负债表上的资产是原值还是净值
  • 工业企业辅助生产费用的分配方法
  • 有限合伙企业转让投资股权
  • 委托开发的软件产品即征即退
  • 二手设备进口海关
  • 房地产企业用电计入什么科目
  • 企业购进材料的会计分录
  • 增值税小规模纳税人免征增值税政策
  • 除工资外其他收入需要个税吗
  • 股权增资稀释股价会涨吗
  • 试营业期间的费用算不算开办费?
  • 疏通下水道入什么经络
  • 金税盘的用户名
  • 注销公司如何清算
  • 礼品应该计入会计分录
  • PHP:xml_error_string()的用法_XML解析器函数
  • 如何修复错误 OC3 INVT CHF100a
  • 在建工程明细科目设置
  • 企业收入的具体表现
  • 资产负债表的编制依据是会计恒等式
  • 债券溢价或折价是公司发行债券时产生的收益或损失
  • 富贵竹怎么养才能更旺盛水培生根
  • CodeIgniter视图使用注意事项
  • php多进程处理大数据
  • nerf 怎么瞄准
  • 企业废业什么意思
  • 外贸企业出口退税流程(详细步骤)
  • 酒店购买天然气流程
  • 固定资产加速折旧最新税收政策2023
  • idea配置meaven
  • 【机器学习】python实现吴恩达机器学习作业合集(含数据集)
  • Vue3+TypeScript+Vite如何使用require动态引入类似于图片等静态资源
  • php数据查询
  • 购入固定资产计入应付账款还是其他应付款
  • 应交税费的期末余额在借方表示什么
  • 印花税契税入固定资产吗
  • 生活办公用品清单
  • python删除列表的方法
  • db2数据库性能调整和优化
  • MySQL中Distinct和Group By语句的基本使用教程
  • 进口货物如何支付外汇
  • MySQL数据库介绍
  • 长期股权投资评估增值调整
  • 非税收入票据能报税吗
  • 制造业企业无形资产怎么摊销
  • 服务不动产和无形资产本期数,第19栏
  • 汇算清缴所得税的账务处理会计分录
  • 不允许抵扣进项税额的是
  • 扣税时账上没钱怎么办
  • 一般纳税人只交社保无发票往来需要做账吗
  • 企业未按照规定报送年度报告怎么办
  • 对方开普票,怎么扣税
  • 商标是无形资产还是商誉
  • 没有关联企业怎么选不了否
  • 资产减值损失是费用类科目吗
  • 私人企业会计工作内容
  • sql作业怎么执行
  • sql语句连接方式
  • 微软win8下载
  • win10系统回收站在哪
  • ie10怎么设置ie8兼容模式
  • Retina MacBook和10.10.3支持更快的NVMe SSD接口
  • gho文件过大
  • opengl光照纹理三个球
  • javascript操作文件
  • jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
  • 党建共建的目的
  • 贵州省税务总局领导班子
  • 2021年吉林省城乡居民基础养老金是多少
  • 丹阳税务局一分局领导
  • 会议服务的服务定位是什么
  • uk怎么添加发票
  • 什么是美国注册公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设