万众瞩目的FBO

写FBO时可以省去的变量为:

  • render buffer id
  • color buffer id

需要留一个texture id对外接口,作为材质贴在图元上。由于是材质,我们可以通过shader进行后处理(post render processing)。

这个后处理好啊,可以描边、采样、模糊啥的,这个后处理才算的上是民间所传的“渲染”,即润色。

本文给出一些GLAD的API,并选择重点翻译了一手,语拙望谅。

Read More

Share

PSV购入计划

三年前的冬天,一个懵懂无知的孩子想要人生中第一部四游戏机,被拒绝了。即使他做出了完全的准备,搜集了海量的资源,学习了大量的知识,热情还是在时间之中磨灭了。

但如今不一样。2019年索尼宣布PSV停产,这是一个收藏的绝佳时机。

Read More

Share

OpenGL测试与缓冲器

在片段着色器进行渲染之前,需对每一个顶点进行测试,不同的有深度测试、alpha测试、模板测试。同时渲染器可绑定子渲染器,进行离屏缓存,此时需要绑定至帧缓冲器或累计缓冲器中。

填坑中……

Read More

Share

OpenGL光线渲染

本文阐述若干种冯氏BDRF模型中光线的渲染方式。

Read More

Share

真实的可怕

似乎成了一种迷药,身边的大家都在很快乐地摸着鱼。

一个最简单的道理:模型由数据集决定。所以我也在摸着鱼,直到一组数据让我发现自己陷入梯度陷阱了。

一个午饭时间,与朋友聊了聊,现实世界所需要的刻奇又一次打在脸上——竞赛、论文、考试。理性思考带来的压力是巨大的,对自我的认知更是可怕。而仅仅是自身渺小的证明,都能醍醐灌顶,可见之前的我是有多么可悲。

Share

SFM-notes

Overall

Structure from motion (SFM) is a photogrammetric range imaging technique for estimating three-dimensional structures from two-dimensional image sequences that may be coupled with local motion signals. It is studied in the fields of computer vision and visual perception.

Structure from motion(SFM)是由一系列包含着视觉运动信息(motion signals)的多幅二维图像序列(2D image sequences)估计三维结构(3D model)的技术。它属于计算机视觉及可视化的研究范围。

Read More

Share

CMakeList DLC速通手脚架

受够了重复add_executable带来的键盘磨损?受够了add_subdirectory眼花缭乱?

此文摘录一些好用的Cmake函数,以用于项目构建。

Read More

Share

BDRF经验模型之一:Phong Lighting Model

  • 环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。为了模拟这个,我们会使用一个环境光照常量,它永远会给物体一些颜色。
  • 漫反射光照(Diffuse Lighting):模拟光源对物体的方向性影响(Directional Impact)。它是冯氏光照模型中视觉上最显著的分量。物体的某一部分越是正对着光源,它就会越亮。
  • 镜面光照(Specular Lighting):模拟有光泽物体上面出现的亮点。镜面光照的颜色相比于物体的颜色会更倾向于光的颜色。

Read More

Share

VSCode管理CMake项目

久闻LearnOpenGL的环境特别难搭建,今天见识了一番果真如此。初识CMake,开了大口想再VsCode里也舒舒服服地爽一把,而事实上仅仅是创建一个窗口便自闭了若干天。总结一下大致所需要的操作吧。

Read More

Share

USTC-CG|Image Warping

反距离加权插值(IDW)

根据给定的控制点对和控制点的位移矢量(方向和距离),实现图像每一个像素点的位移。反距离加权插值的方法是通过得到每一个像素点和选定控制点对的逼近 关系,以及相对应的权重关系,求得像素点相对应的变化关系,逼近函数可以理解为对像素点p的影响程度,而权重函数则可以看成是对距离的权重,距离越远,权重越小。
$$
f(p)=\sum_{i=1}^n w_i(p)f_i(p)
$$
该函数$f(p)$传入一个像素点的坐标,通过已选定的控制点实现计算插值。f函数返回像素点坐标,$f_i$函数为逼近函数,即
$$
f_i(p)=q_i+T_i(p-p_i)
$$
这里$T$的求解我未进行方程组的计算求解,$T$是一个2*2矩阵,$T$可以取近似值1。将控制点数据代入可以求出每一个局部插值函数。
而$w_i$权重函数,理解为对距离越远,权重越小,这里通过
$$
w_i(p_i)=1,\sum_{i=1}^nw_i(p)=1,~and~w_i(p)\geq0,~i=1,…,n.
$$

$$
w_i(p)=\frac{\sigma_i(p)}{\sum_{j=1}^n\sigma_j(p)}with~\sigma_j=\frac{1}{d(p,p_i)^\mu}
$$

这里$d(p,p_i)$为$p$和$p_i$的距离,指数$μ$可以取>0的数,这里测试取2最优。通过公式求取权重函数,求和体现多组控制点共同产生影响。

Share