
OpenGL
文章平均质量分 95
YxVoyager
这个作者很懒,什么都没留下…
展开
-
OpenGL学习笔记(十二):初级光照:投光物/多光源(平行光、点光源、聚光)
现实世界中有很多种类的光照,每种的表现都不同。将光投射(Cast)到物体的光源叫做投光物(Light Caster)。我们将会讨论几种不同类型的投光物:定向光(Directional Light),点光源(Point Light)和聚光(Spotlight),以及如何将这些不同种类的光照类型整合到一个场景之中。原创 2025-02-09 23:31:22 · 1850 阅读 · 0 评论 -
OpenGL学习笔记(十一):初级光照:光照贴图 Lighting maps
在材质中我们讨论了让每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样能够很容易在一个光照的场景中给每个物体一个独特的外观,但这个材质系统是远远不够的,我们需要拓展之前的系统,引入漫反射贴图和镜面光贴图(Map)原创 2025-02-06 22:46:38 · 1089 阅读 · 0 评论 -
OpenGL学习笔记(十):初级光照:材质 Materials
在光照模型中,我们定义了一个物体和光的颜色,并结合环境光与镜面强度分量,来决定物体的视觉输出。如果想要在OpenGL中模拟多种类型的物体,我们必须针对每种表面定义不同的材质(Material)属性。原创 2025-02-06 15:32:34 · 1123 阅读 · 0 评论 -
OpenGL学习笔记(九):初级光照:光照模型(环境光照、漫反射光照、镜面光照)
现实世界的光照是极其复杂的,而且会受到诸多因素的影响,这是我们有限的计算能力所无法模拟的。因此OpenGL的光照使用的是简化的模型,对现实的情况进行近似,这样处理起来会更容易。原创 2025-02-04 23:46:22 · 931 阅读 · 0 评论 -
OpenGL学习笔记(八):初级光照:颜色 Colors
我们已经对渲染流程有了大体的了解,接下来开始进行光照的学习。先对数字世界的颜色做一个深入了解,然后我们回创建一个光照场景。原创 2025-02-04 22:13:20 · 827 阅读 · 0 评论 -
OpenGL学习笔记(七):Camera 摄像机(视图变换、LookAt矩阵、Camera类的实现)
渲染流程中,视图变换实际上是在对摄像机做变换。OpenGL本身没有摄像机Camera的概念,我们通过把场景中的所有物体向相反的方向移动来模拟出摄像机,并抽象出Camera类。原创 2025-02-03 23:26:14 · 1828 阅读 · 0 评论 -
OpenGL学习笔记(六):Transformations 变换(变换矩阵、坐标系统、GLM库应用)
现在我们已经知道了如何创建一个物体、着色、加入纹理。但它们都还是静态的物体,接下来学习使用矩阵(Matrix)对象来变换一个物体。原创 2025-02-03 20:08:20 · 1770 阅读 · 0 评论 -
OpenGL学习笔记(五):Textures 纹理
通过上一篇着色部分的学习,我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。本篇开始学习使用纹理(Texture)来添加物体的细节。原创 2025-02-02 23:45:19 · 990 阅读 · 1 评论 -
OpenGL学习笔记(四):Shader 着色器(GLSL、Shader类封装)
着色器(Shader)是运行在GPU上的小程序,从本质上来说,是一种把输入转化为输出的程序。使用GLSL编写着色器程序,并封装Shader类调用。原创 2025-01-14 17:27:45 · 1017 阅读 · 0 评论 -
OpenGL学习笔记(三):初识渲染管线(渲染流程、VAO、VBO、EBO)
在OpenGL中,一切都是3D的,但屏幕或者窗口是一个2D像素阵列,因此OpenGL的大部分工作是将所有3D坐标转换为适合屏幕的2D像素。这个过程由OpenGL的渲染管线管理的。将3D坐标转换为2D坐标。将2D坐标转换为实际的有颜色的像素。图形渲染管线可以被划分为几个阶段,每个阶段将会把前一个阶段的输出作为输入。原创 2024-12-01 23:31:01 · 1493 阅读 · 0 评论 -
OpenGL学习笔记(二):窗口与视口(glfw的使用、处理输入、扩展glfw为MFC子窗口)
VS2017中使用GLFW + GLAD来配置使用OpenGL。原创 2024-11-21 22:25:21 · 1495 阅读 · 0 评论 -
OpenGL学习笔记(一):Overview 概述
OpenGL是一个由Khronos组织制定并维护的规范(Specification)。OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者自行决定。实际上OpenGL的大多数实现都是由显卡厂商编写的,即一系列可以操作图形、图像的API。原创 2024-11-13 17:06:32 · 1160 阅读 · 0 评论