书接Hexo-Next样式美化,本篇记录hexo-next组合对于LaTeX公式的支持。
Latex渲染插件配置
具体的在theme-next Math docs中写的很清楚,有MathJax和Katex两种公式渲染方式。这里经过实际操作,选择MathJax。
书接Hexo-Next样式美化,本篇记录hexo-next组合对于LaTeX公式的支持。
具体的在theme-next Math docs中写的很清楚,有MathJax和Katex两种公式渲染方式。这里经过实际操作,选择MathJax。
Radiance在胶平面上是连续函数,但是渲染的输出是离散的像素。
But what happens when we need the value of s signal at a location that we didn’t sample at? In such cases, we can use a process known as reconstruction to derive an approximation of the original continuous function. With this approximation we can then discretely sample its values at a new set of sample points, which is referred to as resampling. signal processing primer
谨以此篇post记录自己日常中无能愤怒的瞬间,并时常更新温故,提醒自己如何面对这个嘈杂且充满噪声的世界。
看一下glTexImage2D
的函数签名,有三个参数比较费解,分别是internalformat
、format
和type
。这三个参数相互配合,共同决定了OpenGL
Texture数据的在GPU上的格式以及内存数据从CPU-〉GPU上传过程中如何被‘解析’。
1 | void glTexImage2D(GLenum target, |
API是渲染里面最稀碎最脏的一块,砖搬的越多,问题重复遇到的可能性也越大;有些东西以前遇到过,现在又遇到了;有些以前很熟悉,现在又忘记了。虽然不一定是高明的东西,记录一下,下次再忘记可以翻一翻。古人云,“纸上得来终觉浅,好记性不如烂笔头”,诚不欺我。
今天就来记录一下,各种Graphics API里面,使用的数据格式对于定点数的处理。
数据格式这里主要记录两方面的使用,其一就是顶点数据,其二是纹理。
网络链接,常常失效,很多大公司亦是如此。好些前两年很容易访问到的链接,忽然就失了踪迹。再者,有些资源,不收藏一下,难受。
OpenGL虽然简单,但是问题也是公认的多,不同驱动实现的表现可能差异很大,导致同样的OpenGL的代码,在一台机器上正常执行,在另外一台机器上表现异常。
我这就遇到一个,采样GL_DEPTH_COMPONENT
类型的depth
texture,全屏显示到窗口。同样是GL4.6 core
profile的上下文,在RTX4080上没问题,但是在笔记本ThinkPad P50(显卡NVIDIA
Quadro
M1000M)上结果全白色(1.0),当然P50确实太老了,10年老机了,妥妥的电子垃圾了。
可是,奈何啊,“同样是生活一起的两口子,做人的差别咋这么大咧?”。
OpenGL 4.0和DirectX 11提供了原子操作(atomic
operation),为GPU上并行创建链表数据结构提供了便利。基于此算法的per-pixel link lists
可以应用到order independent transparency
,实现像素的程序化混合,实现顺序无关的半透明效果,避免了程序员在api层面对于略显无力的排序的折磨。
PPLL的实现需要三个数据结构:头结点指针Buffer、链表Node
Buffer、结点计数器。 -
头结点指针Buffer:每个像素位置又一个链表,所以叫per-pixel link lists
,头指针Buffer的大小是framebuffer的大小,存储的是头结点在Node
Buffer中的位置,初始化为一个空符号,比如-1; - 链表Node
Buffer:存储所有结点数据,可以是任意数据,next
字段是必需的,指向链表下一个结点;不需要初始化,只需要分配足够大小。
-
结点计数器:用于分配下一个Node Buffer
位置来存储数据,使用原子操作累加。初始化为0。
1 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/$<CONFIG>) |
Note
$<CONFIG>
应该在VS下才起作用