OpenGL基础知识(二)

一、OpenGL要解决的问题:

    由于CPU和GPU处理数据的速度快慢不一样,容易导致数据饥饿问题。OpenGL通过设置缓存(GPU能够控制和管理的连接RAM),使得CPU和GPU能够异步执行数据,相互干扰性降低,提高两者的执行效率,避免数据饥饿问题。

二、渲染图像的OpenGL的程序执行的主要步骤:

    1、从OpenGL的几何图元中设置数据,用于构建形状;

    2、使用不同的着色器对输入的图元数据执行计算操作,判断位置、颜色以及其他渲染属性;

    3、将输入图元的数学描述转换为与屏幕位置对应的像素片元,也成光栅化;

    4、针对光栅化过程产生的每个片元,执行片元着色器,从而决定这个片元的最终颜色和位置;

    5、如果有必要,可以对片元执行一些额外的操作。比如:判断片元对应的对象是否可见,或者将片元的颜色与当前屏幕位置的颜色进行融合。

三、一些需要掌握的基本概念:

    顶点(vertexs), 图元(primitives), 片元(fragments,又叫片断) ,像素(pixels)

    阶段1.  顶点 ->图元

    几何顶点被组合为图元(点,线段或多边形),然后图元被合成片元,最后片元被转换为帧缓存中的象素数据。

    阶段2.  图元  ->片元

    图元被分几步转换为片元:图元被适当的裁剪,颜色和纹理数据也相应作出必要的调整,相关的坐标被转换为窗口坐标。最后,光栅化将裁剪好的图元转换为片元。

    1) 裁剪

        在裁剪时点,线段和多边形处理略微不同。对于点,要么保留原始状态(在裁剪体内部),要么被裁掉(在裁剪体外部)。对于线段和多边形来说,如果部分在裁剪体外部,则需要在裁剪点生成新的几何顶点。对

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值