关于探照灯的效果如下图所示:探照灯需要传入光源的位置,光源的方向以及夹角的大小(夹角为光源覆盖的夹角的一半)计算思路:用光源到点的距离与光源的方向的单位向量做点乘,得到夹角的cos,用计算的夹角cos与传入的角度的cos做比较,确定光线照射的范围。边缘不部分计算的cos..
分类:
其他好文 时间:
2017-06-01 00:26:40
阅读次数:
185
1、柔光shader//柔光
uniformsampler2DU_MainTexture;
uniformsampler2DU_SubTexture;
varyingvec2M_coord;
voidmain()
{
vec4blendColor=texture2D(U_SubTexture,M_coord);
vec4baseColor=texture2D(U_MainTexture,M_coord);
gl_FragColor=2.0*blendColor*baseColor+baseCol..
分类:
其他好文 时间:
2017-06-01 00:26:33
阅读次数:
310
下图是使用高斯模糊和未使用高斯模糊的效果图对比正常图片高斯模糊后1、标准高斯模糊原理:每个像素周围对应的像素乘以对应的算子,然后除以算子的综合算子为121242121fragmentshadervaryingvec2M_coord;
varyingvec3M_normal;
varyingvec3M_WordPos;
uniformsampler2DU_MainT..
分类:
其他好文 时间:
2017-06-01 00:22:38
阅读次数:
288
1、平滑shader//平滑
uniformsampler2DU_MainTexture;
uniformsampler2DU_SubTexture;
varyingvec2M_coord;
voidmain()
{
vec4color=vec4(0.0);
intcoreSize=3;
floattexelOffset=1/300.0;
floatkernel[9];
kernel[6]=1;kernel[7]=1;kernel[8]=1;
kernel[3]=1;kernel[4]=1;k..
分类:
其他好文 时间:
2017-06-01 00:21:52
阅读次数:
283
1、正片叠底shader//正片叠底
uniformsampler2DU_MainTexture;
uniformsampler2DU_SubTexture;
varyingvec2M_coord;
voidmain()
{
vec4blendColor=texture2D(U_SubTexture,M_coord);
vec4baseColor=texture2D(U_MainTexture,M_coord);
gl_FragColor=blendColor*baseColor;
}..
分类:
其他好文 时间:
2017-06-01 00:21:38
阅读次数:
148
FBO:FrameBufferObject,默认绘制在1号FBO中,自定义的FBO是可以做读写操作的。绘制到自定义的FBO,然后显示出来,如下图所示:Qt中有关于FBO的类,QOpenGLFrameBufferObjectFBO的创建m_FrameBufferObj=newQOpenGLFramebufferObject(w,h,QOpenGLFramebufferObject::Depth);FBO的..
分类:
其他好文 时间:
2017-06-01 00:20:31
阅读次数:
226
关于探照灯的效果如下图所示:探照灯需要传入光源的位置,光源的方向以及夹角的大小(夹角为光源覆盖的夹角的一半)计算思路:用光源到点的距离与光源的方向的单位向量做点乘,得到夹角的cos,用计算的夹角cos与传入的角度的cos做比较,确定光线照射的范围。边缘不部分计算的cos..
分类:
其他好文 时间:
2017-06-01 00:19:57
阅读次数:
209
1、正片叠底shader//正片叠底
uniformsampler2DU_MainTexture;
uniformsampler2DU_SubTexture;
varyingvec2M_coord;
voidmain()
{
vec4blendColor=texture2D(U_SubTexture,M_coord);
vec4baseColor=texture2D(U_MainTexture,M_coord);
gl_FragColor=blendColor*baseColor;
}..
分类:
其他好文 时间:
2017-06-01 00:19:50
阅读次数:
189
图片混合变亮与变暗的效果,如下图所示变暗效果变亮效果变亮shaderuniformsampler2DU_MainTexture;
uniformsampler2DU_SubTexture;
varyingvec2M_coord;
voidmain()
{
vec4blendColor=texture2D(U_SubTexture,M_coord);
vec4baseColor=texture2D(U_MainTexture,M_coord);
gl_..
分类:
其他好文 时间:
2017-06-01 00:19:43
阅读次数:
181
1、颜色加深shader//颜色加深
uniformsampler2DU_MainTexture;
uniformsampler2DU_SubTexture;
varyingvec2M_coord;
voidmain()
{
vec4blendColor=texture2D(U_SubTexture,M_coord);
vec4baseColor=texture2D(U_MainTexture,M_coord);
gl_FragColor=vec4(1.0)-(vec4(1.0)-bas..
分类:
其他好文 时间:
2017-06-01 00:18:50
阅读次数:
221