OpenGL学习笔记
文章平均质量分 96
CodeReaper
这个作者很懒,什么都没留下…
展开
-
OpenGL学习笔记(五)变换
文章目录变换向量向量的运算向量与标量运算向量取反向量加减求向量长度向量的单位化向量相乘点乘(Dot Product)叉乘参考资料:OpenGL中文翻译变换尽管我们现在已经知道了如何创建一个物体、着色、加入纹理,给它们一些细节的表现,但因为它们都还是静态的物体,仍是不够有趣。我们可以尝试着在每一帧改变物体的顶点并且重配置缓冲区从而使它们移动,但这太繁琐了,而且会消耗很多的处理时间。我们现在有一个更好的解决方案,使用 (多个)矩阵(Matrix)对象可以更好的变换(Transform)一个物体。为了深入原创 2021-07-09 21:38:46 · 749 阅读 · 0 评论 -
OpenGL学习笔记(四)纹理
文章目录要完成的纹理效果纹理环绕方式纹理过滤多级渐远纹理加载与创建纹理stb_image库的使用方法生成纹理对象应用纹理纹理单元参考资料:OpenGL中文翻译要完成的纹理效果纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节;你可以想象纹理是一张绘有砖块的纸,无缝折叠贴合到你的3D的房子上,这样你的房子看起来就像有砖墙外表了。因为我们可以在一张图片上插入非常多的细节,这样就可以让物体非常精细而不用指定额外的顶点。为了能够把纹理映射(Map)到三角形上,我们需要指定三角形的每个原创 2021-07-08 00:42:39 · 497 阅读 · 0 评论 -
OpenGL学习笔记(三)着色器
文章目录Shader是什么GLSL数据类型输入与输出顶点着色器向片段着色器发送数据UniformShader是什么着色器(Shader)是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信;它们之间唯一的沟通只有通过输入和输出。GLSL着色器是使用一种叫GLSL的类C语言写成的。GLSL是为图形计算量身定制的,它包含一些针对向量和矩阵操作的有用特性。结构:声明版本原创 2021-07-07 14:07:25 · 509 阅读 · 0 评论 -
OpenGL学习笔记(二)画三角形
文章目录渲染管线(Graphics Pipeline)编码实现顶点数据顶点缓冲对象(VBO)顶点着色器编译着色器片段着色器着色器程序链接顶点属性参考资料:LearnOpenGL中文翻译渲染管线(Graphics Pipeline)在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,这导致OpenGL的大部分工作都是关于把3D坐标转变为适应你屏幕的2D像素。3D坐标转为2D坐标的处理过程是由OpenGL的图形渲染管线(Graphics Pipeline,大多译为管线,实际上指的是一堆原创 2021-07-06 12:45:37 · 522 阅读 · 0 评论 -
OpenGL学习笔记(一)
文章目录一、OpenGL是什么二、OpenGL自身是一个状态机三、对象(Object)四、开始创建窗口使用到的库开始代码准备GLFW创建窗口对象初始化GLAD渲染循环循环后结束程序增加输入响应添加渲染事件运行结果参考资料:LearnOpenGL中文翻译一、OpenGL是什么OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范。OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者原创 2021-07-05 20:31:42 · 348 阅读 · 0 评论