位置: 编程技术 - 正文

OpenGL三角形的双面不同颜色的绘制(opengl 三角形)

编辑:rootadmin

推荐整理分享OpenGL三角形的双面不同颜色的绘制(opengl 三角形),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl绘制三角形函数,opengl绘制三角形函数,opengl三角形绘制实验报告,opengl画三角形代码,opengl 三角形,opengl绘制三角形函数,opengl三角形网格,opengl 三角形,内容如对您有帮助,希望把文章链接给更多的朋友!

对于一个三角形,我要给它正反面不同的颜色。然后通过旋转,看出它的效果。

我只想到了2种方法,下面我来写一下这两种方法。

第一种方法,通过角度的判断重设glColor3f的参数(这种方法局限性很大,不推荐,不喜欢的可以直接跳过看第二种)。

对于一个平面,我们知道,当它旋转到一定角度的时候,它就变成了一条线,那么,我们只要对这个角度进行一下判断就可以了。

下面是我的测试代码:

第二种方法,在同一个地方绘制两个三角形(不同颜色的),然后通过剔除多边形背面的方式实现。

先来介绍一下绘制方式,在默认情况下,逆时针绘制的是正面,顺时针绘制的是背面,当然,可以通过glFrontFace(GL_CCW)是它相反。

既然如此,那么就可以绘制两个正好相反的三角形,一个正面(红色)一个背面(蓝色)。

然后对其剔除背面就可以了。

如何剔除?

void glCullFace(GLenum mode); 通过这个函数

看一下它的参数:

GL_FRONT: 剔除正面多边形

OpenGL三角形的双面不同颜色的绘制(opengl 三角形)

GL_BACK:剔除背面多边形

GL_FRONT_AND_BACK:剔除所有多边形

那么这里,就使用GL_BACK这个参数。

然后要使用剔除功能的时候,启用一下glEnable(GL_CULL_FACE);即可。

接下来我来说一下实现的原理:

在绘制的时候是一个正面(红色)一个背面(蓝色)。

在启用glEnable(GL_CULL_FACE);剔除的功能后,我们告诉OpenGL说:“我看不见的你给我剔除了把!”。

一开始,我们看到的是红色三角形,因为它是正面。OpenGL认为,看得见的是正面,看不见的是背面。

其实,我们可以这么想,对于这两个三角形,一个红色三角形,一个蓝色三角形,因为被剔除了背面,所以,它们始终只有一个面,即正面。

当这两个三角形,不断旋转,旋转到红色三角形即将没有了的时候,这个时候,是不是原本是正面的红色三角形要变成了背面(因为看不见了嘛~)?结果就要被剔除了,然后此时,原本是背面的蓝色三角形,变成了正面,因为我们可以看到正面,所以接下来看到的就是蓝色三角形了。

下面,我贴一下这种方法的源码:

To be continued~

&#;&#;

5.2光源 在OpenGL中,仅仅支持有限数量的光源。使用GL_LIGHT0表示第0号光源,GL_LIGHT1表示第1号光源,依次类推.OpenGL至少会支持8个光源,即GL_LIGHT0到GL_LIGHT7。使用g

OpenGL二十面体及多次细分成球体 绘制一个规则的二十面体,通过多边形近模拟法来构建表面。在绘制前,我们需要初始化一些数据:#defineX.//使原点到每个顶点的距离均为

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

标签: opengl 三角形

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

上一篇:shader之旅-7-平面阴影(planar shadow)(shader cull)

下一篇:5.2光源

  • 增值税专票已经报税作废不了怎么办
  • 本期应补退税额怎么算
  • 营业外支出为负数怎么处理
  • 申报成功忘记清关怎么办
  • 企业多交所得税不想退税在电子税务局如何处理
  • 招待住宿费计入什么科目
  • 购房40%税款第二年抵扣如何做账
  • 会计科目应收账款什么意思
  • 进项税额转出是不可以抵扣吗
  • 一般纳税人怎么交税
  • 所得税汇算清缴补税的会计处理
  • 租赁合同印花税计税依据
  • 通发票备注栏写什么内容
  • 商业保险和交强险区别
  • 公司租车费用会计分录
  • 核定征收的小型微利企业
  • 在建工程转固定资产后如何计提折旧
  • 文化建设事业费怎么计算
  • 其他应付款在贷方,借方是什么科目
  • 净值在财务报表哪找
  • mac怎么还原出厂设置
  • 电脑自动更新系统怎么关闭
  • windows11怎么创建宽带拨号连接图标
  • 员工因违反公司规章制度被辞退有补偿吗
  • 完成交易预付账怎么做账
  • 支付委托加工费用会计科目
  • 失控发票受票方的责任
  • 苹果保护你的隐私
  • rtvscn95.exe - rtvscn95是什么进程 有什么用
  • 微博怎么变成大v
  • 贷方跟借方哪个是收入哪个是支出
  • 神经网络浅讲
  • 出口免抵退税的会计分录
  • 应收账款计提减值准备的方法
  • 企业福利费超过预算收入
  • Sqlite 操作类代码
  • 银行存款对账方法
  • 企业变更法人的原因怎么写
  • 税控盘百科
  • 揭秘蒙娜丽莎25恐怖之处
  • 防伪开票系统打不开
  • 企业的预付账款属于金融资产吗
  • 金税四期上线后对个人的影响
  • 怎么结转未交增值税
  • 外贸企业退税怎么申报
  • 运输公司汽车折旧能直接进主营成本吗
  • 企业未开票收入怎么入账
  • 保证金抵扣货款情况说明范文
  • 研发费用加计扣除比例及计算方法
  • 科目汇总表账务处理程序登记总账的依据是
  • 施工企业人工费控制措施
  • 提交印花税会计分录
  • 等额本金还款计算公式
  • 与其他公司合伙协议书
  • 营改增后工程项目计价规则也随之发生了改变对错
  • Mysql5.7在Centos6中的安装方法
  • linux怎么统计文件中出现字符串的数量
  • 卸载步骤
  • fedora s9
  • 文件夹隐藏属性怎么弄
  • win8开机启动
  • ubuntu的安装步骤
  • mac电脑安装windows
  • win7禁用了管理员,怎么取消呢
  • windows7日文版改中文
  • 在linux中使用ssh远程调试后目标板的输出在哪里
  • css全局声明
  • nodejs实现微服务
  • javascript的对象有哪些
  • #vr#
  • 常见的java数据类型有哪些
  • 高博应诺官网
  • Android SimpleAdapter
  • 无锡税务举报网站
  • 河南热力公司收费标准
  • 互联网服务业有哪些行业
  • 浙江省个人医保累计自费多少可以报销
  • 会计的各种税
  • 广州财务顾问公司
  • 非房地产企业转让旧房土地增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设