位置: 编程技术 - 正文

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光源

  • 2022个税手续费返还交增值税吗
  • 什么情况下不能做近视激光手术
  • 印花税科目会计分录
  • 一般纳税人广告
  • 小规模缴纳增值税税控系统可以抵扣么
  • 金蝶kis 反结账
  • 汇票的票据行为有贴现吗
  • 企业年金需要缴纳个人所得税吗
  • 赠送样品视同销售增值税该怎么做账务处理呢?
  • 收入跨期审计调整分录如何滚调
  • 现金流量表本月数和本年累计数不一致
  • 退回以前年度费用怎么做帐
  • 个人开增值税普通发票税率
  • 一般纳税人的账户是基本账户吗
  • 返聘人员工伤可以申请工伤鉴定吗
  • 企业经营收入达到多少
  • 个人机械租赁费税率
  • 未及时申报个税的理由
  • 子公司资不抵债
  • 汇算清缴做完还能改账么
  • 金税盘初始密码忘记了怎么办
  • 本年利润期末
  • 从租计征的房产税需要缴纳土地使用税吗
  • 跨年度暂估未取得发票如何处理
  • 招投标费用如何收取
  • 兼职人员工资个税怎么申报
  • 坏账减值准备账务处理
  • dell笔记本如何恢复系统
  • 无形资产摊销时运用的方法有双倍余额递减法
  • 已计提折旧怎么计算
  • 核定征收的企业怎么交所得税
  • wlan和蜂窝版的区别
  • exedown是什么文件夹
  • neoDVD.exe - neoDVD是什么进程 有什么用
  • 出口退税登记证在哪办
  • 无形资产使用寿命的复核
  • 比较坏账准备与什么有关
  • 递延所得税负债借贷方向
  • 行政事业单位怎么开发票
  • 工程收到款项会计分录
  • vue set up
  • 【深度学习】datasets.ImageFolder 使用方法
  • 5个 ChatGPT 功能,帮助你提升日常编码效率
  • 微信小程序怎么制作自己的小程序
  • php微信公众号开发反回图片怎么弄的学校
  • php如何入门
  • 异地项目需要预缴增值税吗
  • 跨国公司海外子公司
  • sqlloader语法
  • 解决Dede5.6联动类型更改排序数字的BUG
  • 出口退税转内销还是转免税好
  • 增值税纳税申报类型怎么填
  • 找到一款
  • 金税盘服务费如何抵扣
  • 个人独资企业需要会计做账吗
  • 高新技术企业补助需要交所得税吗
  • 逃税是什么意思?
  • 冲销暂估入库摘要怎么写
  • 外贸公司美金账户开立要求
  • 公司为员工购买小汽车属于什么所得
  • 广告公司转让一般多少钱
  • 防伪税控服务费全额抵扣政策
  • sql %和_
  • windows7内部版本7601激活密钥
  • 为什么要淘汰相关性高的指标
  • ubuntu系统安装报错
  • win10系统设备管理器没有蓝牙
  • 如何在xp系统中调整移动硬盘
  • win10系统怎么设置最好
  • js表格上移下移
  • python多进程并发http请求
  • nodejs json数据库
  • react 系列
  • javascript自动化
  • jquery简单例子
  • 一块钱买的鱼多久换一次水
  • android gradle task dependence
  • javaScript parseInt字符转化为数字函数使用小结
  • javascript基于什么的语言
  • javascript 日期
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设