位置: 编程技术 - 正文

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

  • 可变现净值相关税费包括消费税吗
  • 增值税发票服务名称可以更改吗
  • 小规模纳税人实收资本
  • 企业所得税季度申报填写示例
  • 发票与入库单明细不一致税务可以吗
  • 财务报表提示未审计
  • 贸易公司没有仓库需要做入库
  • 不得抵扣的进项税额转出会计分录
  • 核定征收企业有利润如何注销税务登记
  • 社保多交了一份怎么办
  • 冲销去年暂估费用
  • 银行汇票多余款收账通知怎么做记账凭证
  • 存货自然灾害损失进项税
  • 工程类什么情况下可以三方询价
  • 代扣代缴个人所得税手续费是否缴纳增值税
  • 财务费用中的利息收入指什么
  • 计算本月生产成本怎么算
  • 资产减值损失汇算清缴调整表
  • 固定资产合并抵扣增值税
  • 企业的应收账款周转率越大,说明发生坏账
  • 调研费用表格
  • 其他应付款转增股本
  • 供应商质量扣款
  • 花语大全各种花的花语花树
  • 戴尔笔记本电脑哪款性价比最高
  • win11怎么下载手机应用
  • 总分公司分税
  • 公司的职工教育是指什么
  • 股东借钱给公司怎么写借条
  • windows11 缩放
  • 职工教育经费怎么做凭证
  • php 替换字符
  • 分包方可以简易计税吗
  • sentstrt.exe - sentstrt进程是什么文件 有什么用
  • php socket_create
  • phpmvc框架工作原理
  • 购买原材料月末需要结转吗
  • 相见恨晚求下联
  • 员工报销的话费要缴纳个税吗?
  • javascript百炼成仙免费
  • inotify_event
  • python读取TXT文件代码
  • 帝国cms使用手册
  • SQL server 2008安装程序遇到以下错误 sku
  • 分享使用护肤品的感受
  • 货物运输行业前景如何
  • 将自产产品用于公益事业
  • 公司购烟酒怎么入账
  • 企业现金清查的主要内容有什么
  • 非货币性资产交换以公允价值为基础进行计量
  • 高新技术企业核心人才保险
  • 差旅费算人工费吗
  • 基金会收到捐款的会计分录
  • 什么是雇主责任险保单
  • 建筑业负数发票不填工程名称和地址可以吗
  • 旅行社代订机票便宜吗
  • 现金流量表的编制基础是权责发生制
  • mysql的操作
  • sql语句优化总结
  • xp系统字体安装方法
  • windowsxp忘记密码了怎么办简单点
  • windows server 2008 r2安装教程
  • ubuntu系统中文
  • redhat linux6.5安装教程
  • win10系统便签突然无法打开
  • xp系统怎么更改屏幕分辨率
  • ubuntu虚拟机apt安装tools
  • ntfs硬盘分区整数
  • cocos2dx-js
  • canvas的使用步骤
  • js数组操作函数
  • jquery 选中
  • node.js写爬虫
  • 深入理解计算机系统 电子书
  • JavaScript中的数据类型分哪为两大类?
  • android教学
  • TNet Tasharen Networking
  • jquery js区别
  • 国家税务总局 土地增值税
  • 税务师如何执业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设