OpenGL之图元描边的绘制流程

举报
Serendipity·y 发表于 2022/02/17 01:11:26 2022/02/17
【摘要】 立体图元的绘制与渲染,之前的文章已经完全实现了图元的“颜色填充”,图元边框的绘制也有接触,详情可参考:OpenGL之矩阵堆栈绘制立体图元。 这里具体的介绍一下图元边框的绘制原理和流程: 首先,如果图...

立体图元的绘制与渲染,之前的文章已经完全实现了图元的“颜色填充”,图元边框的绘制也有接触,详情可参考:OpenGL之矩阵堆栈绘制立体图元
这里具体的介绍一下图元边框的绘制原理和流程:

  • 首先,如果图元没有渲染边框 ,是什么效果呢?通过效果图,我们可以看到:图元分不清轮廓,看不清图元面与面的区分,很难看出图元具体是什么样子,这主要是因为出现类似ZFighting的问题,OpenGL中没有办法通过相同颜色的图层,来区分图层关系。

在这里插入图片描述

  • 边框的绘制流程:
    ① 通过颜色填充绘制图元的基本形状;
    ② 开启多边形偏移,并设置偏移量(图层与图层之间设置间隙,才能渲染黑色边框);
    ③ 开启抗锯齿功能,让渲染的边框线更加光滑,不会显得太突兀;
    ④ 开启颜色混合,设置混合因子(平面和边框的颜色不同);
    ⑤ 设置边框绘制模式和边框的宽度(绘制线框几何黑色版三种模式:实心、边框、点;可以作用在正面、背面或者两面);
    ⑥ 绘制并填充边框;
    ⑦ 还原设置(通过调用glPolygonMode将多边形正面或者背面设为全部填充模式);
  • 具体代码:

文章来源: blog.csdn.net,作者:Serendipity·y,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Forever_wj/article/details/107324395

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。