美文网首页iOS 菜鸟之旅
iOS 滤镜特效之屏幕分裂 六屏显示

iOS 滤镜特效之屏幕分裂 六屏显示

作者: 涛涛灬灬 | 来源:发表于2019-11-08 13:36 被阅读0次

一个类似于抖音分屏特效,将视频分成六屏显示;
基于GPUImageFilter实现功能;

import "GPUImage.h"


#import "GPUImageSixScreenFilter.h"

NSString *const kGPUImageSixScreenFilterFragmentShaderString = SHADER_STRING
(
 precision highp float;
 varying vec2 textureCoordinate;
 uniform sampler2D inputImageTexture;
 
 void main()
 {
     
     highp vec2 uv = textureCoordinate;
     
/**如果是分四屏  对应参数为:
  float center1 = 0.5;
  if (uv.x <= center1) {
         uv.x = uv.x * 2.0;
     } else {
         uv.x = (uv.x - center1) * 2.0;
     } 
**/ 
     float center1 = 0.333333;
     float center2 = 0.666666;
     
     if (uv.x <= center1) {
         uv.x = uv.x * 3.0;
     } else if (uv.x <= center2) {
         uv.x = (uv.x - center1) * 3.0;
     } else {
         uv.x = (uv.x - center2) * 3.0;
     }
     
     if (uv.y <= center1) {
         uv.y = uv.y * 3.0;
     } else if (uv.y <= center2) {
         uv.y = (uv.y - center1) * 3.0;
     } else {
         uv.y = (uv.y - center2) * 3.0;
     }
     
     gl_FragColor = texture2D(inputImageTexture, uv);
 }
 );

@implementation GPUImageSixScreenFilter

- (instancetype)init
{
    self = [super initWithFragmentShaderFromString:kGPUImageSixScreenFilterFragmentShaderString];
    if (self) {
        
    }
    return self;
}

相关文章

  • iOS 滤镜特效之屏幕分裂 六屏显示

    一个类似于抖音分屏特效,将视频分成六屏显示;基于GPUImageFilter实现功能; import "GPUIm...

  • iOS开发屏幕适配

    Hello,简书! ## iOS开发屏幕适配 ## 屏幕适配原则大屏手机显示更多的内容 - 并不是大屏手机就根据屏...

  • iOS特效之你家玻璃碎了

    iOS特效之你家玻璃碎了 iOS特效之你家玻璃碎了

  • iOS特效之破碎的ViewController

    iOS特效之破碎的ViewController iOS特效之破碎的ViewController

  • iOS等比例UI

    iOS开发中UI里我们经常遇见不同屏幕UI显示问题 同样的一个view 字号在不同的屏幕上我们想要显示出区别(大屏...

  • 离屏渲染

    iOS离屏渲染 离屏渲染的定义 如果要在显示屏上显示内容,我们至少需要一块与屏幕像素数据量一样大的frame bu...

  • 如何让Android设备实现息屏显示

    前言 什么是息屏显示?息屏显示就是手机在息屏状态下,屏幕上会显示当前时间、日期信息,无需点亮手机屏幕即可查看。息屏...

  • WidgetKit&ActivityKit

    1、概念 1.1 在主屏幕、通知中心、锁屏界面(iOS16)显示的小组件1.2 小组件的样式大小是固定的,iOS下...

  • iOS视频特效资料

    该文档收集了视频特效的参考资料: 美颜滤镜篇 IOS使用GPUImage滤镜初级试水 GPUImage录像的一些备...

  • 显示框架之VirtualDisplay 的数据源

    Android 支持多个屏幕,主屏(主显的物理屏),虚拟屏(非物理屏),外部显示屏(折叠屏),其中主屏和外部显示屏...

网友评论

    本文标题:iOS 滤镜特效之屏幕分裂 六屏显示

    本文链接:https://www.haomeiwen.com/subject/mniibctx.html