精选分类

文章列表

此系列记录我跟随 LearnOpenGL 学习的历程。 相关代码 LearnOpenGL相关代码 # 高级光照 # Blinn-Phong 模型 按照 Phong 模型的话,当观察向量和反射向量间的夹角大于 90 度时,点积结果为复数,镜面光分量会变为 0.0。 当计算漫反射光照的时候,我们计算的是光的方向向量与法向量的点积,当夹角大于 90 度的时候,光源会处于被照表面的下方,这个时候光照的漫反射分量的确是为 0.0。 但是在计算镜面高光时,由于我们计算的是视线与反射光线向量的夹角,这个夹角大于 90 度时会直接降低到 0,考虑如下图所示的情况,显然是不合理的。 Blinn-Phong...

此系列记录我跟随 LearnOpenGL 学习的历程。 相关代码 LearnOpenGL相关代码 # 高级 OpenGL # 抗锯齿 锯齿现象的产生主要是由于光栅器将顶点数据转化为片段的方式 # SSAA 超采样抗锯齿 (Super Sample Anti-aliasing, SSAA),使用比正常分辨率更高的分辨率(即超采样)来渲染场景,当图像输出在帧缓冲中更新时,分辨率会被下采样 (Downsample) 至正常的分辨率。虽然它确实能够解决走样的问题,但是由于这样比平时要绘制更多的片段,它也会带来很大的性能开销。 # MSAA 多重采样抗锯齿 (Multisample...

此系列记录我跟随 LearnOpenGL 学习的历程。 相关代码 LearnOpenGL相关代码 # 光照 通过结合 imgui,可以做到添加不同材质的物体与不同类型的光源,效果如图所示: # 基础光照 Phong 光照模型,光照计算的结果取决于物体的材质与光的属性,物体的材质决定这个物体反射光的能力: 环境光照 (Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。为了模拟这个,我们会使用一个环境光照常量,它永远会给物体一些颜色。 漫反射光照 (Diffuse...

此系列记录我跟随 LearnOpenGL 学习的历程。 相关代码 LearnOpenGL相关代码 # 入门 # 安装 OpenGL 如果是 Windows 端,我使用的 msvc+xmake+vscode 开发环境。msvc 安装直接从微软官方下载 Visual Studio,xmake 用于项目构建和 c++ 库管理,vscode 轻巧方便。 xmake 的安装,这里推荐从 Scoop 安装 xmake。 l# 可选:首次运行远程脚本时需要Set-ExecutionPolicy RemoteSigned -Scope CurrentUser# 安装 Scoop...

许久之前便想写一个自己的博客,苦于一直没时间一直在摸鱼,难得国庆假期,抽空写了一个。利用 hexo+shoka 因为很好看,写了一个,这篇文章,便是我学习博客路的 hello world 了。 # 计划 # 分类 后续打算把我学习过程中的笔记,经验都记录到博客里,大致是三个类型,机器学习,算法题,以及学习过程中的笔记。第一篇博客就这样到此为止了。再来打印一个 hello world 博客的。 # 创建一个新文章 h$ hexo new "My New Post"# 运行 h$ hexo server# 继承静态文件 h$ hexo generate# 上传 h$ hexo...