2019.7.4

本着对游戏创作的热情,本人初步了解了一部分的unity引擎的使用,也学习了一点C#可是越学习unity我就反而对引擎内部感兴趣(不知道有没有一样的朋友=,=)。

接着了解到了opengl 以及他的衍生物们(SDL , GLFW , GLEW等),感觉所有的有关渲染的API或者说是函数库(本人一直很讨厌把专业知识说的太官方。。见谅)都是“扎根”于opengl。

接下来我想简要的谈谈我对opengl 的理解,也就是什么是opengl?

首先本人只是一位普普通通的大二在校学生,可能有很多地方说的不正确,希望到时看到文章的大佬们赐教! 小弟万分感谢!!(当然随着这个系列的更新 我对opengl的理解加深,到最后我应该会对它有新的认识,哈哈留个记录在这,看到最后我究竟会对它怎么理解)

首先对我来说 opengl 是由C语言写成的一套可以让程序员操纵计算机渲染(操纵底层显卡)的方法的集合。我们通过调用其中提供的方法可以 对渲染管线(我更喜欢叫它渲染流水线)进行(部分)编辑从而达到我们想要的效果,同时opengl 还可以直接通过其他应用程序对已经创建完成的渲染管线进行调用(可能这就是显卡驱动程序的工作方式吧),当然另一种方法则是通过程序员自己的输入在告诉opengl该如何绘制图形(初学者应该都是先从这一步开始的)。

在之后我想谈谈我对渲染流水线理解,但在这之前 我想先说说我对一个游戏运行起来后的显卡和CPU具体是怎么工作的做一个简要说明。(当然以下内容全是自己的一些理解和猜想。。希望大佬们不吝赐教)

首先游戏其实都是一帧帧图像构成的,每一秒有大量的图片渲染到大家的显示器上,每张图片又是大量的像素点构成的,屏幕上的像素点改变成什么颜色?渲染多少个像素点?等等这一系列的问题都是通过渲染流水线来决定的。 现在假设 游戏启动,游戏需要的资源先加载到内存中,然后根据玩家对游戏的操纵,cpu计算出顶点(vertex)的位置和颜色(很多为一组),然后将其发送给GPU告诉显卡该做如何的渲染,这样GPU通过其中的渲染管线对顶点链接和着色。(其中会牵扯到许多空间管理的地方,VBO,EBO,VAO等)。。顶点属性,顶点数据,GLSL等等更多的知识,目前暂时介绍到这里(毕竟我才学习到纹理。。而且SOIL没有适配上MACOS,可能之后会有一个讨论帖讨论这个问题。),希望能给刚刚开始学习图形学的朋友们一些帮助,毕竟感觉国内图形学的学习资源很少,而且质量不高。

Opengl_入门学习分享和记录_00的更多相关文章

  1. Opengl_入门学习分享和记录_02_渲染管线(一)顶点着色器&片段着色器

    写在前面的废话:今天俺又来了哈哈,真的好棒棒! 今天的内容:之前我们大概描述了,我们自己定义的顶点坐标是如何被加载到GPU之中,并且介绍了顶点缓冲对象VBO用于管理这一块内存.今天开始详细分析它的具体 ...

  2. Opengl_入门学习分享和记录_番外篇01(MacOS上如何在Xcode 开始编辑OpenGL)

    写在前面的废话: 哈哈 ,我可真是勤勉呢,今天又来更新了,这篇文章需要大家接着昨天的番外篇00一起食用! 正文开始: 话不多说,先看代码. 这里主要全是使用的glfwwindowhint 这个函数,他 ...

  3. Opengl_入门学习分享和记录_01_Graphics Pipeline(图形渲染管线)

    写在前面的废话: 这个系列拖更了很久,很大一定程度上是由于自己最近忙着高数学习和线代学习..感觉时间特别紧缺(其实就是我太懒了)好了不废话了,总结开始. 正文开始: 首先Graphics Pipeli ...

  4. Opengl_入门学习分享和记录_03_渲染管线(二)再谈顶点着色器以及顶点属性以及属性链接

    ---恢复内容开始--- 写在前面的废话:岂可修!感觉最近好忙啊,本来今天还有同学约我出去玩的.(小声bb) 正文开始:之前已经编译好的着色器中还有一些问题,比如 layout(location=0) ...

  5. Opengl_入门学习分享和记录_02_渲染管线(一)顶点输入

    现在前面的废话:最近好事不断!十分开心!生活真美好! 好了今天要梳理一下,顶点输入的具体过程,同样也是渲染管线中的第一个阶段的详细过程的介绍.之前介绍过,OpenGL操作的是一组3D坐标,所以我们的输 ...

  6. Opengl_入门学习分享和记录_番外篇00(MacOS上如何给Xcode 适配openGL)

    现在前面的废话:哇这次没有鸽太久,突然想起来还没有介绍如何适配opengl的衍生库.今天一并介绍下,同样看时间允不允许,让我再把之前学到的一些东西再次总结一遍. 正文开始: 首先大家要知道我们的Ope ...

  7. Opengl_入门学习分享和记录_03_渲染管线(三)借助顶点数组对象VAO提高绑定属性效率

    目前我们已经知道了,如果想要顶点着色器解释理解我们的输入数据,就必须要按照以下繁琐的步骤:第一步:将输入的数据复制一份到缓冲区,供OpenGL使用.而这块新出现的区域由VBO管理和表示.(若有多个输入 ...

  8. Redis入门学习(学习过程记录)

    Redis(入门笔记) 学习一个大的技术点,然后顺带着就把这个技术点的面试题给学习了. 学习完一个技术后,如果面试题还不能够解答的话,只能说明学的不精,需要查漏补缺. 下一个学习的方向:Redis-非 ...

  9. Bootstrap入门学习笔记(只记录了效果)

    基本头文件 <!DOCTYPE html> <html> <head> <title>Bootstrap 实例</title> <me ...

随机推荐

  1. Django用户头像上传

    1 将文件保存到服务器本地 upload.html ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <!DOCTYPE html> <html ...

  2. 安装Win10,ERROR_0x8007025D问题解决

    Windows10安装的时候,出现ERROR CODE:0x8007025D 大概提示为:windows 无法安装所需的文件.请确保安装所需的所有文件可用,并重新启动安装. 本人在出现这个问题的原因, ...

  3. Leetcode 195 Tenth Line

    Given a text file file.txt, print just the 10th line of the file. Example: Assume that file.txt has ...

  4. 17.Linux命令

    1.网络配置 setup       配置 ifup eth0  启动网卡 文件保存在  /etc/sysconfig/network-scripts/ifcfg-eth0,修改ifcfg-eth0配 ...

  5. Bzoj 3624: [Apio2008]免费道路 (贪心+生成树)

    Sample Input 5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1 Sample Output 3 2 0 4 3 0 5 3 1 1 2 1 这 ...

  6. Bzoj 3165 [Heoi2013]Segment题解

    3165: [Heoi2013]Segment Time Limit: 40 Sec  Memory Limit: 256 MBSubmit: 668  Solved: 276[Submit][Sta ...

  7. windows切换mac遇到的问题

    1. 前端代码需要安装npm包 所以需要对整个文件夹都赋予管理员权限 2. 在npm i的时候如果权限不足 查看是哪一行调用了哪个文件夹,赋予权限 3. Dsp-fe 本地环境 除了需要配置host  ...

  8. android_layout_relativelayout(二)

    官网上的一个xml文件: <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmln ...

  9. ServiceFabric极简文档-5.1 编程模型选择

    项目中:actor用的服务是无状态服务:ASP.NET Core用的是无状态ASP.NET Core模板. ​

  10. 「PowerBI相关」一款极其优秀的DAX建模工具Tabular Editor

    做Excel插件开发的时间久了,大部分人的印象是笔者是做软件开发,谈不上软件,也是插件开发级别. 但笔者更希望大家记住的身份是做BI开发,特别是企业级的BI. 故也借着Excel催化剂这个平台,输送一 ...