- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 Analyse lines and dots
摘要原文地址。通过这个实例可以学会绘制线段和2D旋转。绘制线段绘制线段的关键点在于寻求任意点到线段的距离。如上图所示,要绘制线段ABABAB,则要求出点P到线段ABABAB的距离hhh。PA→=P⃗−A⃗BA→=B⃗−A⃗Ratio=∣AO→∣∣BA→∣=∣AO→∣⋅cosθ⋅∣BA→∣∣BA→∣⋅∣BA→∣=AO→∙BA→BA→∙BA→h=∣PO→∣=∣AP→−AO→∣=∣AP→−Ratio∗AB→∣\overrightarrow{PA} = \vec{P} - \vec{A} \\ \
2021-03-03 12:54:11 193
原创 inverse smoothstep
前言本篇是学习ShaderToy系列文章的第一篇,我们来翻译inverse smoothstep(反转smoothstep函数)。smoothstep(a,b,c) 函数是GLSL常用内置函数之一,主要用于平滑边缘。
2021-03-01 10:29:43 239
原创 色彩调整之灰度、替换、深褐色、CGA滤镜
GPUImageGrayscaleFilter灰度滤镜。获取图片的灰度图方法有很多种,常见的有平均值法、心理学法、去饱和法、分解法、单一通道法等。平均值法Grey=(Red+Green+Blue)/3Grey = (Red + Green + Blue) / 3Grey=(Red+Green+Blue)/3心理学法Grey=(Red∗0.3+Green∗0.59+Blue∗0.11)Grey = (Red * 0.3 + Green * 0.59 + Blue * 0.11)Grey=(Red∗
2021-02-26 09:50:36 723
原创 视觉特效之马赛克滤镜
GPUImagePixellateFilter马赛克滤镜。我们先来看mod函数的定义:mod(x,y)=x−y∗floor(xy)mod(x,y) = x - y * floor(\frac xy)mod(x,y)=x−y∗floor(yx)假设y=1y=1y=1,即mod(x,1)=x−1∗floor(x1)mod(x,1)= x - 1 * floor(\frac x{1})mod(x,1)=x−1∗floor(1x),生成图像如下:从图像中可以看出mod(x,y)的结果增量和x的增量在
2021-02-25 14:46:55 1150
原创 色彩调整之亮度、曝光度、对比度滤镜
GPUImageBrightnessFilter调节图像的亮度,公式如下:y=x+255∗by = x + 255 * by=x+255∗b其中xxx为调节前的像素值,yyy为调节后的像素值,bbb为调节参数;即分别在R、G、B三通道上加上调节参数即可。vec3 col = texture(iChannel0,uv).rgb;float brightness = 0.5;col += vec3(brightness);fragColor = vec4(col, 1.);brightness
2021-02-24 20:50:10 2309 4
原创 开篇
前言本系列文章主要学习GPUImage滤镜的算法,并加以实践。网上有很多介绍GPUImage的文章,这里就不再赘述。GPUImage内置有100多种滤镜,按功能可划分为:颜色调整(Color adjustments)、图像处理(Image processing)、**混合模式(Blending modes)和视觉效果(Visual effects)**等。如果大家对着色器编程感兴趣,推荐大家去ShaderToy和IQ的博客学习。废话不多说,我们开始吧~。ShaderToy简单介绍因为本次实践是在Sha
2021-02-24 19:37:44 98
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人