计算机图形学入门(openGL)持续更新
OpenGL概览图形API(Application Programming Interface)跨平台跨编程语言的图形程序接口。用于调用GPU上的指令功能游戏引擎底层都是由图形API制作出来的OpenGL是一个由Khronos组织制定并维护的规范(Specification)OpenGL实现各个显卡厂商自己在显卡驱动层面实现这些API的内容渲染模式立即渲染模式(Immediate mode)openGL3.0之前的版本不会暴露太多的细节功能只能按部就班实现效果核心渲染模式(Core-profile)openGL3.0之后openGL标准推崇核心渲染模式对于程序员给出了大量的自由的功能坐标系openGL中使用右手坐标系网格Mesh存储了一个模型的几何形状数据材质Material)描述了物体表面如何与光发生反应属性颜色、金属/非金属、光滑/粗糙、透明/半透明/不透明、凹陷/突起等颜色RGB对于光意味着红、绿、蓝的光强度对于物体意味着对红、绿、蓝的光的反射百分比当一束light( 0.9 , 1.0 , 0.8 )照在Mesh( 0.2 , 0.5 , 0.8 )上时肉眼看到的RGB为( 0.9 , 1.0 , 0.8 ) * ( 0.2 , 0.5 , 0.8 ) ( 0.18 , 0.5 , 0.64 )渲染管线流程顶点数据-三维变换-图元装配-剪裁剔除-光栅化-片元着色-混合与测试蓝色部分处理对象为顶点数据红色部分处理对象为像素片元数据顶点数据位置每个顶点的xyz坐标颜色每个顶点的rgb颜色其他数据法线、uv、切线三维变换模型变换使用矩阵数学工具使得三角形在空间当中平移、旋转、缩放视图变换使用矩阵数学工具将三角形顶点变换到摄像机为中心的坐标系中投影变换使用矩阵数学工具将三角形顶点变换到标准屏幕坐标系中这些操作都是针对了三角形的顶点们图元装配图元在图形的世界里一个三角形、一条直线等几何关系的称为图元Primitive图元的构成三角形三个顶点直线两个顶点是变换完毕的点进行构成图元装配把变换后的顶点根据顺序组成三角形、直线等图元的过程剪裁剔除剪裁把视口外面无法显示的图元都减裁掉加快后续步骤的渲染效率剔除将背面朝向我们的三角形剔除掉渲染时三角形分正面及背面当顶点数据连线为顺时针时为背面逆时针时是正面光栅化屏幕由一格格的像素构成虚拟的几何图形也需要做成栅格才能渲染称为光栅化光栅化只是把顶点围成的区域的光栅计算出来还没有决定每个像素光栅的颜色片元着色计算每个像素片元最终显示的颜色混合与测试当有多个三角形重叠或有半透明效果时混合决定透明效果测试决定前后次序OpenGL需要的库GLFW是一个专门针对OpenGL的C语言库它提供了一些渲染物体所需的最低限度的接口1跨平台的窗体生成API系统2与OpenGL便捷链接3方便的鼠标键盘消息回调函数GLFW下载网址Glad根据不同的OpenGL版本获取驱动之中的函数指针
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2431320.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!