位置: 编程技术 - 正文

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
  • 个体不超过10万怎么交税
  • 商品流通企业会计零售业务核算
  • 无偿取得土地使用权的会计分录
  • 不动产进项税抵扣规定2016
  • 2021年个人社保代扣失败
  • 未分配利润清算如何处理
  • 怎么激活win10密钥
  • 外购的形式
  • win11任务管理器在哪里打开
  • php替换指定内容
  • 预付款挂账什么意思
  • openeuler安装gnome
  • 履约保证金和质保金可以一起收取吗
  • 金融企业会计第三版课后答案孟艳琼
  • 行政单位职工福利费使用范围
  • mit?
  • faster rcnn详解
  • mkisofs命令
  • 承租方承担的税费是多少
  • 长期股权投资权益法转成本法
  • 财务费用包括什么利息
  • js读取数据文件
  • phpcms api
  • mongodb用户权限
  • 房地产土地使用权计入存货吗
  • 水电费用属于会计的什么费用
  • 补提去年企业所得税会计分录
  • sql server自动生成行号
  • 费用月结怎么记账
  • 收到个税手续费返还怎么做分录
  • 季度报表利润表本期金额怎么填
  • 合同履约成本如何设置明细科目
  • 上年度亏损,本年要交所得税吗
  • 业务招待费的企业所得税扣除标准
  • 融资租赁的增值税专用发票可不可以抵扣
  • 经营费用是指
  • 不按规定纳税的违法行为
  • 股东向公司借款多久必须归还
  • 手工账月末结账步骤
  • 发票丢了能做账吗
  • 收到房租费发票如何做账
  • 工业增值税怎么算
  • mysql 5.7.13 winx64安装配置方法图文教程
  • mysql 5.6.23 winx64.zip安装详细教程
  • 将哪一linux文件系统引入
  • 哪款系统重装软件比较好
  • centos 7.6安装教程
  • 安装完win8后没有无线网络
  • PRISMSTA.EXE - PRISMSTA是什么进程 有什么用
  • windows7无法启动怎么修复
  • linux查询ipv4
  • win7系统怎么设置桌面便签
  • win7 安装系统
  • win7系统和win8系统哪个好用
  • unity jsonutility
  • ubuntu nfs配置
  • python怎么生成excel
  • js基础有哪些
  • 如何解决焦虑的心理
  • AddForceAtPosition方法:增加刚体点作用力
  • bootstrap 标签
  • nodejs xhr
  • javascript高级程序设计pdf百度云
  • python3.7 pip
  • jquery遍历div子元素
  • javascript的基础类型有哪些
  • 浙江省网上税务局app下载
  • 怎么去税务局领税盘
  • 云南税务局网上办税大厅登录入口官网
  • 消费税征税环节
  • 江苏电子口岸卡邮寄大概需要多久
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设