顶点着色器从视频中进行纹理查找

顶点着色器从视频中进行纹理查找

添加时间:2021-01-30 19:34:36
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:动画效果
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款顶点着色器从视频中进行纹理查找的特效,可以看到本示例中通过对视频的纹理查找,将查找到的纹理显示在下面的区域内,属于比较有趣又特别的效果(本效果需在服务器中预览)。
顶点着色器从视频中进行纹理查找
分类:其它特效 > 动画效果 难易:初级

页面的head部分,简单设置页面元素的样式即可,代码如下:

body { margin: 0; padding: 0; }
#loading {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  color: #fff;
  font-family: Helvetica, Arial, sans-serif;
  text-transform: uppercase;
}

页面的body部分,需引入两个必要的JS文件,代码如下:

<script type="text/javascript" src="js/three.min.js"></script>
<script type="text/javascript" src="js/orbitcontrols.js"></script>
<div id="loading">视频加载中...</div>

页面的底部,设置好纹理查找的相关参数,部分代码如下:

console.clear()
class VideoTexture {
  constructor (width = 256, height = 128) {
    this.video = document.createElement('video')
    this.videoLoaded = false

    this.canvas = document.createElement('canvas')
    this.ctx = this.canvas.getContext('2d')

    this.width = this.canvas.width = width
    this.height = this.canvas.height = height

    this.canvas.style.transform = 'scale(0.85, 0.85)'
    this.canvas.style.transformOrigin = '0 0 0'
    this.canvas.style.position = 'fixed'
    this.canvas.style.top = this.canvas.style.left = '1rem'
    document.body.appendChild(this.canvas)
    
    this.ctx.fillStyle = '#111'
    this.ctx.textAlign = 'center'
    this.ctx.font = '30px Helvetica'
    this.ctx.fillText('视频加载中...', this.canvas.width / 2, this.canvas.height / 2 + 10)
    
    this.video.src = './video/ninja.3gp'
    this.video.onloadedmetadata = e => {
      this.video.play()
      this.video.loop = true
      this.videoLoaded = true
    
      let loadText = document.querySelector('#loading')
      loadText.parentNode.removeChild(loadText)

    }
    this.video.width = this.width
    this.video.height = this.height
    this.video.crossOrigin = "Anonymous"
  }

  updateFrame () {
    if (this.videoLoaded === true) {
      this.ctx.drawImage(this.video, 0, 0, this.width, this.height)
    }
  }
}
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:顶点着色器从视频中进行纹理查找

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.321277s