位置: 编程技术 - 正文

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光照效果)

  • 房产税的房产原值是什么
  • 外购商品发给员工增值税要怎么算
  • 建筑公司购入的水泥等材料如果是做成本的怎么做分录
  • 销售部门快递费用怎么算
  • 企业注销其他应付款可以转入未分配利润吗
  • 现金流量怎么影响股票价值
  • 营业执照经营范围增项如何办理
  • 生产成本月末结转到本年利润里吗
  • 其他应付款太多怎么做账务处理
  • 城建税纳税申报表
  • 正版手写
  • 外商投资企业清算报告
  • 进口转卖业务
  • 多交税款如何处罚
  • 股权转让评估费可以有公司承担吗
  • 预支备用金填请款单还是借支单
  • 进出口贸易中押金怎么算
  • 开了专票是否交文化事业建设费?
  • 银行账户设置数大于纳税人向税务机关提供数
  • 纯利润和毛利润哪个多
  • 商业承兑汇票贴现转让
  • 农副产品免税怎么报税
  • 对公账户转账有延迟吗
  • 广告制作费怎么入账
  • 出口退税限额如何理解
  • 公司加农户经营模式
  • 福利费的支付范围
  • 常见的四种POST 提交数据方式(小总结)
  • php怎么实现代码运行功能
  • php变量定义的规则
  • 文竹浇白糖水的正确方法
  • win7无法记忆文件保存路径
  • windows 11 build 21996.1 dev
  • Bàu Cá Cái的红树林,越南广义 (© Robert Harding World Imagery/Offset)
  • 计算机网络拓扑结构有哪些
  • javascript手机上
  • 论文阅读网站排行榜
  • 【深度学习】AI一键换天
  • php随机ip访问
  • 独资子公司与母公司
  • 员工多了怎么管理办法
  • 培训费发票是否含税
  • 公司食堂的费用分录
  • sql2008设置
  • ubuntu下使用SQLite3的基本命令
  • 附加税费用
  • 定额税率举例子
  • 资产负债表中其他应收款的计算公式
  • 公司自主研发新能源汽车
  • 单位出租不动产,按照5%的征收率计算应纳税额
  • 其他流动资产待摊费用
  • 收到货款会计录入
  • 原材料暂估入库是什么意思
  • 员工餐费标准怎么算
  • 公司向个人借款合法吗
  • 小规模纳税人收到专票的会计分录
  • 以前年度账务错误应该怎么处理的
  • 做账工资和申报工资不一样
  • 企业研制新产品
  • 工程完工结算报告范本
  • 私营公司预收账款怎么算
  • Slave memory leak and trigger oom-killer
  • win2003出现各种硬件故障问题时的处理方法
  • freebsd操作命令
  • atwakeup进程
  • ConquerCam.exe进程的详细介绍 ConquerCam进程信息介绍
  • GHOST XP 安装教程
  • win7系统怎么将新建资料保存到文件夹
  • ztree默认选中
  • 显示打包成功但是没有文件
  • 在Html中使用Requirejs进行模块化开发实例详解
  • js 操作excel
  • jquery模拟表单提交
  • 批处理是什么
  • jsonp怎么使用
  • 查找的算法有哪些
  • js数组添加元素的方法
  • js获取div下指定元素的值
  • jquery中的基本选择器有哪些
  • 纳税申报表作废了怎么重新报?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设