• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > 多视角3D逼真HTML5水波动画 _html5教程技巧

多视角3D逼真HTML5水波动画 _html5教程技巧

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,3D,水波动画等相关知识,匿名希望在学习及工作中可以帮助到您
这是一款基于HTML5的3D水波动画特效,它的效果非常逼真,我们可以按“G”键来让水池中的石头上下浮动,按“L”键添加灯光效果,设计相当完美。同时说明一下,这款3D水波动画是基于WebGL渲染技术的,大家可以了解一下WebGL。

在线预览 源码下载

HTML代码

  1. <img id="tiles" src="tiles.jpg">
  2. <img id="xneg" src="xneg.jpg">
  3. <img id="xpos" src="xpos.jpg">
  4. <img id="ypos" src="ypos.jpg">
  5. <img id="zneg" src="zneg.jpg">
  6. <img id="zpos" src="zpos.jpg">

JavaScript代码

  1. function Water() {
  2. var vertexShader = '\
  3. varying vec2 coord;\
  4. void main() {\
  5. coord = gl_Vertex.xy * 0.5 + 0.5;\
  6. gl_Position = vec4(gl_Vertex.xyz, 1.0);\
  7. }\
  8. ';
  9. this.plane = GL.Mesh.plane();
  10. if (!GL.Texture.canUseFloatingPointTextures()) {
  11. throw new Error('This demo requires the OES_texture_float extension');
  12. }
  13. var filter = GL.Texture.canUseFloatingPointLinearFiltering() ? gl.LINEAR : gl.NEAREST;
  14. this.textureA = new GL.Texture(256, 256, { type: gl.FLOAT, filter: filter });
  15. this.textureB = new GL.Texture(256, 256, { type: gl.FLOAT, filter: filter });
  16. this.dropShader = new GL.Shader(vertexShader, '\
  17. const float PI = 3.141592653589793;\
  18. uniform sampler2D texture;\
  19. uniform vec2 center;\
  20. uniform float radius;\
  21. uniform float strength;\
  22. varying vec2 coord;\
  23. void main() {\
  24. /* get vertex info */\
  25. vec4 info = texture2D(texture, coord);\
  26. \
  27. /* add the drop to the height */\
  28. float drop = max(0.0, 1.0 - length(center * 0.5 + 0.5 - coord) / radius);\
  29. drop = 0.5 - cos(drop * PI) * 0.5;\
  30. info.r += drop * strength;\
  31. \
  32. gl_FragColor = info;\
  33. }\
  34. ');
  35. this.updateShader = new GL.Shader(vertexShader, '\
  36. uniform sampler2D texture;\
  37. uniform vec2 delta;\
  38. varying vec2 coord;\
  39. void main() {\
  40. /* get vertex info */\
  41. vec4 info = texture2D(texture, coord);\
  42. \
  43. /* calculate average neighbor height */\
  44. vec2 dx = vec2(delta.x, 0.0);\
  45. vec2 dy = vec2(0.0, delta.y);\
  46. float average = (\
  47. texture2D(texture, coord - dx).r +\
  48. texture2D(texture, coord - dy).r +\
  49. texture2D(texture, coord + dx).r +\
  50. texture2D(texture, co

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2017-08-06html5开发之viewport使用
  • 2018-12-03如何使用HTML5 canvas实现图像的马赛克
  • 2018-12-03不用编写代码就能制作生成HTML5页面的工具有哪些
  • 2018-12-03H5移动端各种各样的列表的制作方法(五)
  • 2018-12-03一款利用html5和css3动画排列人物头像的实例演示_html5教程技巧
  • 2018-12-03调用HTML5的Canvas API绘制图形的快速入门指南
  • 2018-12-03不刷新的前提下怎样改变当前url的代码
  • 2018-12-03HTML5 embed 标签使用方法介绍_html5教程技巧
  • 2018-12-03推荐3D翻牌效果特效(收藏)
  • 2018-12-03 HTML5上传视频无法播放以及兼容的解决方法(图)

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5应用:离线的应用以及存储的应用
    • html5触摸事件判断滑动方向的实现
    • indexeddb数据库的使用详解
    • html5游戏开发-零基础开发RPG游戏-开源讲座(三)-卷轴&对话实现
    • 有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题 _html5教程技巧
    • html5中valid、invalid、required的定义_html5教程技巧
    • HTML5之SVG 2D入门3—文本与图像及渲染文本介绍_html5教程技巧
    • 怎样制作单页网站?国外优秀案例给你灵感
    • HTML5本地存储之localStorage、sessionStorage的具体分析
    • safari 支不支持HTML5的录音?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有