摘要:
[Vertex_Shader] varying vec4 posPos; uniform float FXAA_SUBPIX_SHIFT = 1.0/4.0; uniform float rt_w; // GeeXLab built-in uniform float rt_h; // GeeXLab 阅读全文
摘要:
[Vertex_Shader] varying vec4 posPos; uniform float FXAA_SUBPIX_SHIFT = 1.0/4.0; uniform float rt_w; // GeeXLab built-in uniform float rt_h; // GeeXLab 阅读全文
摘要:
因为CPU的乱序执行技术虽然可以极大的提高流水线的工作效率,但是导致了实际运行次序和program的次序不一致,如果不做多余的防护措施,在逻辑次序上最后写入内存的数据未必最后写入。 也就是说,如果你期望最后写入一个标记数据表示前面的数据都已经准备好,然后在另外一个核心上依靠判断这个标记来判定一些数据 阅读全文
摘要:
原文地址:https://www.kernel.org/doc/Documentation/memory-barriers.txt 阅读全文
摘要:
在C++中,有时候当使用函数指针做回调的时候,函数的参数需要一并传入,而函数的各个参数可能就要保证内存对齐,使得在读取使用的时候能够读到正确的数据; 比如在VS里面针对各个版本的工程中,可以定义宏: 而一个class的成员变量存储函数回调指针和参数: 其中: 在调用的时候,形式即可以为: 而具体关于 阅读全文
摘要:
原文地址:https://learnopengl-cn.github.io/04%20Advanced%20OpenGL/11%20Anti%20Aliasing/ 在你的渲染大冒险中,你可能会遇到模型边缘有锯齿的问题。锯齿边缘(Jagged Edge)出现的原因是由顶点数据光栅化成为片段(frag 阅读全文
摘要:
原文地址:https://learnopengl-cn.github.io/05%20Advanced%20Lighting/08%20Deferred%20Shading/ 我们现在一直使用的光照方式叫做正向渲染(Forward Rendering)或者正向着色法(Forward Shading) 阅读全文
摘要:
原文地址:https://learnopengl-cn.github.io/05%20Advanced%20Lighting/07%20Bloom/ 明亮的光源和区域经常很难向观察者表达出来,因为监视器的亮度范围是有限的。一种区分明亮光源的方式是使它们在监视器上发出光芒,光源的的光芒向四周发散。这样 阅读全文
摘要:
原文地址:https://learnopengl-cn.github.io/05%20Advanced%20Lighting/02%20Gamma%20Correction/ 当我们计算出场景中所有像素的最终颜色以后,我们就必须把它们显示在监视器上。过去,大多数监视器是阴极射线管显示器(CRT)。这 阅读全文
摘要:
原文地址:https://learnopengl-cn.github.io/05%20Advanced%20Lighting/06%20HDR/ 一般来说,当存储在帧缓冲(Framebuffer)中时,亮度和颜色的值是默认被限制在0.0到1.0之间的。这个看起来无辜的语句使我们一直将亮度与颜色的值设 阅读全文
摘要:
原文地址:http://www.klayge.org/2015/04/27/c%E4%B8%AD%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E5%B9%B6%E4%B8%94%E9%AB%98%E6%95%88%E7%9A%84singleton/ Singleton是 阅读全文
|