OpenGL3:先导篇 渲染管线

一.简介

从OpenG的几何图元 (点 线 三角形构建) 中设置数据,用于构建形状

光栅化:将输入图元的数学描述转换为与屏幕位置对应的像素片元(fragment)

将光栅化产生的每个片元执行片元着色器(fragment shader),从而决定片元的颜色和位置

 

着色器是用来给GPU(图形处理单元)编译的一种小型程序(一小段代码)

OpenGL中会用到四种着色阶段(shader stage),其中顶点着色器和片元着色器是必须的,细分着色器和几何着色器是可选的

顶点着色器:用于处理顶点数据

细分着色器:

几何着色器:

片元着色器:用于处理光栅化后的片元数据

 

渲染管线分为固定渲染管线和可编程渲染管线,可编程渲染管线是由着色器(shader)来完成的

因为 OpenGL的4.x版本去掉了固定渲染管线,所以OpenGL的渲染都必须有着色器

OpenGL 的渲染管线可以分为9个步骤 : 顶点数据(Vertices) -> 顶点着色器(Vertex Shader) -> 图元装配(Assembly) -> 几何着色器(Geometry Shader) -> 光栅化(Rasterization) ->片段着色器(Fragment Shader) ->逐片段处理(Per-Fragment Operations) ->帧缓冲(FrameBuffer) ->双缓存交换(SwapBuffer)

 

 

 

 

二.几何变换

glRotate()

glTranslate()

glScale()

 

三.投影变换

 

glOrtho()

glOrtho2D()

gluPerspective()

glFrustum() 

 

四.裁剪变换

glClipPlan()

 

五.视区变换

glViewport()

 

posted @   言午丶  阅读(271)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示