位置: IT常识 - 正文

浅识WebGL和Three.js(webgl1.0)

编辑:rootadmin
浅识WebGL和Three.js WebGL

推荐整理分享浅识WebGL和Three.js(webgl1.0),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:webgl1.0,webgl1和2的区别,webgl和threejs区别,webgl和threejs区别,webgl和web,webgl和three.js,webgl和webgpu,webgl和threejs区别,内容如对您有帮助,希望把文章链接给更多的朋友!

想必各位看官大大都了解过,进行3D图形渲染,主要依赖显卡(GPU)为我们提供强大的运算支持。GPU也像不同CPU架构具备不同的指令集一样,不同的显卡厂商也为不同的GPU型号提供了不同的底层指令逻辑,所支持的能力也不尽相同。为了简化方便图形应用开发和硬件适配的工作量,诞生了一些可以让不同应用方便调用的图形库,用以抹平底层硬件实现的差异,例如OpenGL、 Direct3D、Vulkan......

基本概念

WebGL(Web Graphics Library,Web图形库), 是一个JavaScript API,可在任何兼容的Web浏览器中渲染高性能的交互式3D和2D图形,而无需使用插件 。 WebGL通过引入一个与OpenGL ES 2.0非常一致的API来做到这一点,该API可以在HTML5 元素中使用。 这种一致性使API可以利用用户设备提供的硬件图形加速。通过这些接口,开发者可以直接跟GPU进行通信。

目前支持 WebGL 的浏览器有:Firefox 4+, Google Chrome 9+, Opera 12+, Safari5.1+, Internet Explorer 11+和Microsoft Edge build 10240+;然而, WebGL一些特性也需要用户的硬件设备支持。

WebGL 2 API引入了对大部分的OpenGL ES 3.0功能集的支持; 它是通过WebGL2RenderingContext界面提供的。

WebGL 程序分为 2 部分:

使用 Javascript 编写的运行在CPU的程序使用 GLSL 编写的运行在GPU的着色器程序

着色器程序接收CPU传过来的数据,并进行一定处理,最终渲染成丰富多彩的应用样式。

3D坐标系WebGL 3D坐标系渲染流程

WebGL 能绘制的基本图元只有 3 种,分别是点、线段、三角形,对应了物理世界中的点线面。所有复杂的图形或者立方体,都是先用点组成基本结构,然后用三角形将这些点构成的平面填充起来,最后由多个平面组成几何体。

但现实情况是,如果想生成满足各种应用场景的复杂形状,几何结构会非常复杂,代码写起来也会非常复杂。这时候就会有看官会问了:那我写个🐱 啊?别着急哈,咱不是前端开发者嘛,所以肯定会有对前端友好的开发方式嘛~

Three.js

Three.js是基于原生WebGL封装运行的三维引擎,在所有WebGL引擎中,Three.js是国内文资料最多、使用最广泛的三维引擎。

github链接:github.com/mrdoob/thre…

Three.js官网:threejs.org/

Three.js文档:threejs.org/docs/index.…

Three.js示例:threejs.org/examples/#w…

Three.js应用

既然Threejs是一款WebGL三维引擎,那么它可以用来做什么想必各位看官大大一定很关心。所以接下来内容会展示一些基于Three.js引擎或Three.js类似引擎开发的Web3D应用,以便大家了解~

物联网3D可视化

物联网粮仓3D可视化案例:www.yanhuangxueyuan.com/3D/liangcan…

产品720在线预览浅识WebGL和Three.js(webgl1.0)

玉镯产品在线预览案例:www.yanhuangxueyuan.com/3D/liangcan…

沙发在线预览

沙发在线预览:app.xuanke3d.com/apps/trayto…

服装在线预览

服装在线预览:suit.xuantech.cn/

洗衣机在线交互预览

 

洗衣机在线交互预览:cdn.weshape3d.com/hir001/1021…

数据可视化

解析GeoJSON数据中国GDP数据可视化:www.yanhuangxueyuan.com/3D/geojsonC…

H5/微信小游戏

非常火的微信小游戏跳一跳就是使用Three.js引擎开发的。 开发3D类的H5小游戏或者微信小游戏,Three.js引擎是非常好的选择。

通过Threejs开发的小游戏,可以直接部署在微信小程序或者web端,无需下载,方便传播,目前的生态非常和小游戏开发。

科教领域

在科教领域通过3D方式展示特定的知识相比较图像更为直观。

科研平台-蛋白质结构可视化案例:www.rcsb.org/3d-view/2JE…

化学相关——分子结构可视化:www.yanhuangxueyuan.com/3D/fenzi/in…

地理天文相关——太阳系3D预览:www.yanhuangxueyuan.com/3D/solarSys…

机械领域

机械模型在线预览demo:www.yanhuangxueyuan.com/3D/jixiezhu…

Onshape是一款机械领域的三维建模软件,如果熟悉Solidworks、UG等CAD软件,那么你可以把Onshape理解为云Solidworks。

WebVR

对于现在比较火的VR、AR概念,WebGL技术的出现,也是一个好消息,如果你想预览一些VR内容,完全可以不下载一个VR相关的APP,通过threejs引擎实现VR内容发布,然后用户直接通过微信等社交方式推广,直接打开VR内容链接就可以观看。

VR与Web3D技术结合自然就衍生出来一个新的概念WebVR,也就是基于Web实现的VR内容。

家装室内设计相关

室内设计作品展示案例:www.yanhuangxueyuan.com/3D/houseDes…

相关库

下面表格列举了一些Three.js相关的开源库。

库功能PhysijsPhysijs是一款物理引擎,可以协助基于原生WebGL或使用three.js创建模拟物理现象,比如重力下落、物体碰撞等物理现stats.jsJavaScript性能监控器,同样也可以测试webgl的渲染性能dat.gui轻量级的icon形用户界面框架,可以用来控制Javascript的变量,比如WebGL中一个物体的尺寸、颜色tween.js借助tween.js快速创建补间动画,可以非常方便的控制机械、游戏角色运动ThreeBSP可以作为three.js的插件,完成几何模型的布尔,各类三维建模软件基本都有布尔的概念react-three-fiberThreejs的React 渲染器。gltfjsx一个小型命令行工具,可将 GLTF 资产转换为
本文链接地址:https://www.jiuchutong.com/zhishi/298844.html 转载请保留说明!

上一篇:滑模控制理论(SMC)(滑模控制理论与应用研究pdf)

下一篇:5.OpenCV图像拼接(opencv拼接图片)

  • 在程序中定义局部变量的命令动词是什么(在程序中定义的变量(例如int a)中有值吗?为什么?)

    在程序中定义局部变量的命令动词是什么(在程序中定义的变量(例如int a)中有值吗?为什么?)

  • 路由器上wps按钮在哪(路由器上wps按钮是哪个)

    路由器上wps按钮在哪(路由器上wps按钮是哪个)

  • 如何第三次修改快手号(怎么修改微信号第三次次)

    如何第三次修改快手号(怎么修改微信号第三次次)

  • 快手作品评论不显示了(快手作品评论不让别人看怎么设置)

    快手作品评论不显示了(快手作品评论不让别人看怎么设置)

  • 小米9听筒进灰怎么处理(小米听筒进灰尘怎么办)

    小米9听筒进灰怎么处理(小米听筒进灰尘怎么办)

  • 注销探探后别人还能看到你的信息吗(注销探探后别人还能看吗)

    注销探探后别人还能看到你的信息吗(注销探探后别人还能看吗)

  • 华为p40闹钟在哪里(华为p40闹钟在哪里设置音乐)

    华为p40闹钟在哪里(华为p40闹钟在哪里设置音乐)

  • 3dmax放大一个窗口快捷键(3ds max怎么放大窗口)

    3dmax放大一个窗口快捷键(3ds max怎么放大窗口)

  • 腾讯课堂倍速播放老师能看到吗(腾讯课堂二倍速老师那边看时间多久)

    腾讯课堂倍速播放老师能看到吗(腾讯课堂二倍速老师那边看时间多久)

  • vsco为什么点不了注册(vsco为什么不能用了)

    vsco为什么点不了注册(vsco为什么不能用了)

  • 滑动硒鼓单元上的绿色滑块是什么意思(硒鼓单元蓝色滑块来回滑动)

    滑动硒鼓单元上的绿色滑块是什么意思(硒鼓单元蓝色滑块来回滑动)

  • 苹果wifi版能不能插卡(苹果wifi版能不能连热点)

    苹果wifi版能不能插卡(苹果wifi版能不能连热点)

  • 畅享10plus有人脸解锁吗(畅享10p有没有人脸识别)

    畅享10plus有人脸解锁吗(畅享10p有没有人脸识别)

  • 华为屏保时间怎么设置(华为屏保时间怎么移动位置)

    华为屏保时间怎么设置(华为屏保时间怎么移动位置)

  • 坚果pro3有NFC吗(坚果pro有没有nfc)

    坚果pro3有NFC吗(坚果pro有没有nfc)

  • word文档字体竖排居中(word文档字体竖排)

    word文档字体竖排居中(word文档字体竖排)

  • word怎么设置为16开(word怎么设置为强调样式)

    word怎么设置为16开(word怎么设置为强调样式)

  • 华硕电脑硬盘在哪(华硕硬盘在哪里)

    华硕电脑硬盘在哪(华硕硬盘在哪里)

  • 拼多多哪里邀请新人(拼多多哪里邀请好友开通月卡)

    拼多多哪里邀请新人(拼多多哪里邀请好友开通月卡)

  • oppo手机怎么调出菜单键(oppo手机怎么调返回键出来)

    oppo手机怎么调出菜单键(oppo手机怎么调返回键出来)

  • oppo新机reno z怎么截屏(oppo新手机如何使用)

    oppo新机reno z怎么截屏(oppo新手机如何使用)

  • python累加求和代码(python累加求和代码,直到最后一项小于10^-6)

    python累加求和代码(python累加求和代码,直到最后一项小于10^-6)

  • 工程监理费开什么发票
  • 甲方应项目具备开工条件
  • 预计负债的三个基本要素
  • 每年的第一季度
  • 生产型企业直接进口产品是否可直接出口
  • 清算报告与清算方案区别
  • 新开商贸公司怎么做账和报税
  • 基本医疗保险基金与生育保险基金
  • 账务核对有账表核对吗
  • 行政单位应缴财政收入预算会计分录
  • 广告业服务收费交税的会计处理怎么做?
  • 红字通知单进项税额转出
  • 跨年的发票可以冲红重开吗
  • 污泥处置费用怎么开票
  • 专票的有效期是什么意思
  • 自然人出租房屋房产税
  • 人力资源公司差额开票
  • 库存现金的定义及特征
  • 资产负债表在建工程怎么填列
  • 本月发票有红充这月成本怎么做账?
  • 职工福利费和职工薪酬的区别
  • 为什么我的win10
  • 机票的保险费能开发票吗
  • 以物抵债的会计分录
  • 软件入无形资产金额
  • 公司注销做账
  • xcsp_eclib.dll
  • php_fileinfo作用
  • elements table
  • php魔术函数
  • 购买二手商住房没有给契税发票和购房发票
  • 巴尼奥斯附近的阿格杨瀑布
  • 权益法下长期股权投资超额亏损
  • elipse左侧菜单栏显示
  • 软件研发支出计入什么科目
  • 销售金额环比
  • javascript 高级教程
  • thinkphp跨域请求
  • 股东投资款怎么存入公司
  • 农业合作社需要纳税吗
  • 增值税附加税有哪几种
  • 科技项目经费预算取费细则
  • 会计分录格式范本手写
  • 如何理解合并报表抵消分录
  • 土地增值税纳税申报期限
  • 实收资本印花税是一年一交吗
  • 财务费用报销流程图word
  • 核定征收所得税税率是多少
  • 强制执行的款在执行局领取吗
  • 其他债权投资有没有减值准备
  • 在建工程二级科目待摊支出
  • 如何开展服务工作
  • 新会计准则捐赠收入
  • windows vista界面
  • windows录音机录音文件格式
  • 503 service unavailable错误说明
  • windows server 2008 u盘安装
  • centos 文件搜索
  • win10 Build 10565中Edge浏览器新增对HTML5视频的播放控制及下载
  • w10系统屏幕一直在闪
  • win8开始菜单变为win10
  • windows2008无法识别usb
  • win8 开始
  • js的事件绑定
  • 巧用dos命令合并图层
  • python爬虫全套教程
  • vue左侧菜单栏实现
  • angularjs教程
  • 从零开始的基础篇
  • jquery td
  • 浏览器环境下的事件循环
  • python 断言详细讲解用法及其案例
  • js如何使用
  • 内蒙古税务局电子发票查询
  • 农业方面有哪些有名杂志
  • 临时税务登记证是什么意思
  • 个税已申报税额为0可以退税吗
  • 临沂学生医疗保险多少钱
  • 什么是私人帐户
  • 个体户操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设