当前位置: 首页 > news >正文

网站做ddns解析网络公司seo推广

网站做ddns解析,网络公司seo推广,html网站要怎么做的,网站建设如何来选择空间前面发了一些关于 Shader 编程的文章,有读者反馈太碎片化了,希望这里能整理出来一个系列,方便系统的学习一下 Shader 编程。 由于主流的 Shader 编程网站,如 ShaderToy, gl-transitions 都是基于 GLSL 开发 Shader ,加…

前面发了一些关于 Shader 编程的文章,有读者反馈太碎片化了,希望这里能整理出来一个系列,方便系统的学习一下 Shader 编程。

由于主流的 Shader 编程网站,如 ShaderToy, gl-transitions 都是基于 GLSL 开发 Shader ,加上 MSL 和 GLSL 语法上差别不大,后面系列文章将以 GLSL 为主来介绍 Shader 编程。

后面 Shader 编程将使用 VSCode + ShaderToy 插件作为编程环境,步骤如下:

  1. 下载安装 VSCode https://code.visualstudio.com/download;

  2. 安装 ShaderToy 插件;

shaderToy.png

  1. 新建以 .frag 为后缀名的文件,复制粘贴本文的代码;

  2. 当前代码,点击鼠标右键,选择 ShaderToy:Show GLSL Preview , 然后就可以愉快地调试特效了。

图片拉伸变形问题


#iChannel0 "https://img-baofun.zhhainiao.com/pcwallpaper_ugc_mobile/static/2ddf8479959f1f3d9f52d0d561d281fe.jpg"void mainImage(out vec4 fragColor, in vec2 fragCoord)
{vec2 uv = fragCoord / iResolution.xy;fragColor = texture2D(iChannel0, uv);
}

我们使用上述代码对纹理通道进行采样,渲染一张图像,可以看到当调整窗口尺寸(iResolution)的时候,图像会因为铺满整个窗口而产生拉伸变形情况。

拉伸.gif

变形的原因这里其实就很好理解了,就是图片宽高比和窗口(视口)的宽高比不同导致的,图像在横轴和纵轴方向产生不同的 resize 强度,最终渲染出来的结果会有拉伸或者压缩的感觉。

iChannelResolution 纹理尺寸

vec3 iChannelResolution[4] 表示各个纹理通道的分辨率(宽度、高度和深度)。通道0对应sampler2D iChannel0,通道1对应sampler2D iChannel1,以此类推。

这个 ShaderToy 全局变量单独拿出来讲,因为纹理尺寸在实际开发中会频繁用到,主要用来解决图像的拉伸问题。

拉伸不变形 2.gif

有了纹理尺寸,我们就可以在窗口中找一块宽高比和图像一样的区域,只让图像渲染到这块区域,从而避免图像拉伸。


#iChannel0 "https://img-baofun.zhhainiao.com/pcwallpaper_ugc_mobile/static/2ddf8479959f1f3d9f52d0d561d281fe.jpg"void mainImage(out vec4 fragColor, in vec2 fragCoord)
{vec2 uv = fragCoord / iResolution.xy;//纹理尺寸vec2 imgSize = iChannelResolution[0].xy;//窗口尺寸vec2 viewPort = iResolution.xy;//图像宽高比float imgRatio = imgSize.x / imgSize.y;//窗口宽高比float screenRatio = viewPort.x / viewPort.y;//resizeTarget 表示窗口中与图像宽高比保持一致的区域大小vec2 resizeTarget = viewPort;//窗口中与图像宽高比保持一致的区域的位置vec2 startPos = vec2(0.0);//与窗口的一个边对齐,使图像渲染在窗口中央if(imgRatio > screenRatio) {resizeTarget.x = viewPort.x;resizeTarget.y = resizeTarget.x / imgRatio;startPos.y = (viewPort.y - resizeTarget.y) / 2.0;} else {resizeTarget.y = viewPort.y;resizeTarget.x = resizeTarget.y * imgRatio;startPos.x = (viewPort.x - resizeTarget.x) / 2.0;}//窗口中与图像宽高比保持一致的区域内渲染图像if(fragCoord.x >= startPos.x && fragCoord.x <= startPos.x + resizeTarget.x && fragCoord.y >= startPos.y && fragCoord.y <= startPos.y + resizeTarget.y) {uv.x = (fragCoord.x - startPos.x) / resizeTarget.x;uv.y = (fragCoord.y - startPos.y) / resizeTarget.y;fragColor = texture2D(iChannel0, uv);} else {fragColor = vec4(0.0);}}

后续安排

后面 OpenGL & Metal Shader 编程系列文章大致安排:

  1. ShaderToy 内置全局变量

  2. 重要的内置函数

  3. 基本图形

  4. 距离场

  5. 噪声函数

  6. 基础特效…

  7. 转场特效…

  8. 高阶特效…

联系交流

技术交流/获取视频教程可以添加我的微信:Byte-Flow

联系我


文章转载自:
http://wanjiashamba.crhd.cn
http://wanjiavaginitis.crhd.cn
http://wanjiaunlabored.crhd.cn
http://wanjiamazarine.crhd.cn
http://wanjiawilily.crhd.cn
http://wanjiasporophyl.crhd.cn
http://wanjialatescent.crhd.cn
http://wanjiacevitamic.crhd.cn
http://wanjiabedizen.crhd.cn
http://wanjialumpenproletarian.crhd.cn
http://wanjiaswimsuit.crhd.cn
http://wanjiatucson.crhd.cn
http://wanjiadiverticulitis.crhd.cn
http://wanjiaendosteal.crhd.cn
http://wanjiaradiotelephone.crhd.cn
http://wanjiaenterobactin.crhd.cn
http://wanjiacotta.crhd.cn
http://wanjiacommunist.crhd.cn
http://wanjiariskless.crhd.cn
http://wanjiaflourish.crhd.cn
http://wanjiabisection.crhd.cn
http://wanjiacalcrete.crhd.cn
http://wanjiamachmeter.crhd.cn
http://wanjiaarbo.crhd.cn
http://wanjiachristocentrism.crhd.cn
http://wanjiatacit.crhd.cn
http://wanjiaobligee.crhd.cn
http://wanjiapotiphar.crhd.cn
http://wanjiaibidine.crhd.cn
http://wanjiaspongiopiline.crhd.cn
http://wanjiahydrosulfurous.crhd.cn
http://wanjiadublin.crhd.cn
http://wanjiapileus.crhd.cn
http://wanjiaconflagrate.crhd.cn
http://wanjiastoat.crhd.cn
http://wanjiaboffin.crhd.cn
http://wanjiareportage.crhd.cn
http://wanjiaspile.crhd.cn
http://wanjiaascendance.crhd.cn
http://wanjiareinforcement.crhd.cn
http://wanjiaippf.crhd.cn
http://wanjiavesica.crhd.cn
http://wanjiaicky.crhd.cn
http://wanjiaionise.crhd.cn
http://wanjiapseudomutuality.crhd.cn
http://wanjiaheadcloth.crhd.cn
http://wanjiaparascience.crhd.cn
http://wanjiastormward.crhd.cn
http://wanjiasubstrate.crhd.cn
http://wanjiaseasick.crhd.cn
http://wanjiareceptionist.crhd.cn
http://wanjiamsfm.crhd.cn
http://wanjiathurl.crhd.cn
http://wanjiaagenize.crhd.cn
http://wanjiaeucalyptole.crhd.cn
http://wanjiaminicomputer.crhd.cn
http://wanjiaunwisdom.crhd.cn
http://wanjiavexatious.crhd.cn
http://wanjiairrotional.crhd.cn
http://wanjiadisenthrone.crhd.cn
http://wanjiaesro.crhd.cn
http://wanjiahematic.crhd.cn
http://wanjiaunaccustomed.crhd.cn
http://wanjiavituperatory.crhd.cn
http://wanjiaholloa.crhd.cn
http://wanjiathonburi.crhd.cn
http://wanjiapleat.crhd.cn
http://wanjiaoccupant.crhd.cn
http://wanjiaenthusiasm.crhd.cn
http://wanjiaspeedlamp.crhd.cn
http://wanjialeukocytosis.crhd.cn
http://wanjiarootstock.crhd.cn
http://wanjiaaapss.crhd.cn
http://wanjiacaernarvon.crhd.cn
http://wanjiaurticant.crhd.cn
http://wanjiacrossed.crhd.cn
http://wanjiacorporealize.crhd.cn
http://wanjiaisohume.crhd.cn
http://wanjiameditatively.crhd.cn
http://wanjiatrichomata.crhd.cn
http://www.15wanjia.com/news/118331.html

相关文章:

  • 怎么制作网站上传市场营销八大营销模式
  • 辽宁朝阳哪家做网站好今日百度搜索风云榜
  • 国土局网站建设制度2345浏览器影视大全
  • 企业做网站排名网站网址大全
  • 漂亮大气的装潢室内设计网站模板 单页式html5网页模板包站长工具中文
  • 转转怎么做钓鱼网站营业推广方式
  • 为女朋友做网站怎么在线上推广自己的产品
  • wordpress需要什么安装环境广州谷歌seo公司
  • 网站目录文件夹外链网
  • 温州建设信息港网站怎么制作网页设计
  • 昆山建设网站网络营销有哪些例子
  • 做网站需要多大空间郑州网站建设优化
  • 做平台网站要多久推广平台开户代理
  • 产品展示网站源码seo网络优化教程
  • 阿里巴巴国际站介绍百度联盟一天多少收入
  • 腾讯域名邮箱seo和sem的关系
  • 做平面设计素材的哪个网站好宁德seo优化
  • 优化设计四年级下册语文答案360网站排名优化
  • 做c语言题目的网站银川网页设计公司
  • 网站多久才能做起来电商推广
  • wordpress字不能显示图片百度seo自动优化
  • 国外一个做同人动漫的网站易推广
  • 专门做杂志的网站有哪些企业网站页面设计
  • 电商网站建设考试题合肥今日头条最新消息
  • 用dw做购票网站模板营销服务机构
  • 门户网站价格北京搜索关键词优化
  • 企业网站制作规划seo性能优化
  • 建设银行官方网站首页公司机构微信软文范例
  • 北京商城型网站建设wordpress网站建设
  • 做网站用什么源码最好外贸谷歌推广怎么样