WebGL框架three.js

WebGL的3D框架比较 Three.js和ThingJS 原创 文章,转载请标明出处https://blog.csdn.net/liuwei000000/article/details/80623532 随着flash的没落,浏览器的原生能力的兴起。在3D方面WebGL不管从功能还是性能方面都在逐渐加强。2D应用变为3D应用的需求也越来越强烈。 win10的画图板支持3D图片,2d工具photoshop也开始逐步集成了3D工具。 ... 阅读详情

本系列three.js的学习,转载大神的博客,地址:https://blog.youkuaiyun.com/qq_30100043/article/category/7003591,有three.js的整套学习案例,值得学习。

查看一个简单的案例:http://www.wjceo.com/blog/threejs/2018-02-07/3.html

从今天开始,我学习WebGL基础将占时告一段落,开始学习WebGL的流行框架three.js。经验告诉我,学习一种语言,如果入门能力差,最好从框架开始学,虽然会被掩盖很多的原理方面的东西,但是,你能直接做出来一些东西,给自己充足的信心,能让自己做下去。如果你连东西都做不出来,时间长了肯定会想着放弃,学习框架可以使使学习的坡度前期不会那么陡。直接用原生搞,学了好些天,连立方体都画不出来,用框架直接一天就出来了。等你能做着东西再了解原理,何乐不为呢。

那么,three.js有那些特点呢?

(1)three.js掩盖了3D渲染的细节。

three.js将WebGL原生API的细节抽象化,将3D场景拆解为网格、材质和光源(即它内置了图形编程常用的一些对象种类)。

(2)three.js是面向对象的。

开发者可以使用上层的JavaScript对象,而不是仅仅调用JavaScript函数。

(3)three.js功能非常丰富。

除了封装WebGL原始API之外,three.js还包含了许多使用的内置对象,可以方便地应用于游戏开发、动画制作、幻灯片制作、高分辨率模型和一些特殊的视觉效果制作。

(4)three.js速度很快。

three.js采用了3D图形最佳实践来证明在不失可用性的前提下,保持极高的性能。

(5)three.js支持交互。

WebGL本身并不提供拾取(picking)功能(即是否知道鼠标正处于某个物体上)。而three.js则固化了拾取支持,这就使得你可以轻松为你的应用添加交互功能。

(6)three.js包含数学库

three.js拥有一个强大易用的数学库,你可以在其中进行矩阵、投影和矢量运算。

(7)three.js内置文件格式支持。

你可以使用流行的3D建模软件导出文本格式的文件,然后使用three.js加载,也可以使用three.js自己的JSON格式或二进制格式。

(8)three.js扩展性很强

为three.js添加新的特性或进行自定义优化是很容易的事情。如果你需要某个特殊的数据结构,那么直需要封装到three.js即可。

(9)three.js同时支持HTML5 2D Canvas

尽管WebGL日益流行,但是仍然有一些环境尚未支持。three.js可以同时在2D画布中渲染大部分的3D内容,尤其是在那些无法成功获取3D上下文的地方,可以让你的代码平滑的回滚到其他解决方案。

缺点:

three.js不是一个游戏引擎,也不是一个虚拟现实平台。它缺少一些在这些系统中常用的特性,比如公告板、头像和物理引擎。如果需要这些东西,需要自己对three.js进行二次封装了。

介绍three.js框架的好处就说到这吧,总之,在我的想法里面,three.js对于WebGL就相当于jquery对于js。让你能够忘记原生的好框架。

如果你还想继续了解three.js,请去three.js官网查看一下案例,会让你燃起前所未有的热情的。

three.js介绍001(是一款webGL框架(是在webGL的API接口基础上又进行的一层封装)) three.js介绍001 阅读详情

相关推荐

火星遥感数据的获取与处理工具安装详解

有关火星遥感影像数据的那些事...

FengYingLuo的博客 5574

WebGL 可视化3D绘图框架:Three.js 零基础上手实战

相对于Flash,Flex,Silverlight等富客户端技术,WebGL之ThreeJS:通过OpenGL ES 2.0,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。这是未来的网游趋势,如果你想做可视化动画三维企业应用,又不想用复杂的C++程序,那么 Three.js 将会是你最好的选择。  本课程主要的功效就是让你学习完本教程后,能够写出在浏览器上流畅运行的3D程序,包括但不限于:大数据可视化,360度全景展示,3D游戏,完成这些事情,会比c++用更少的代码。而且更容易,更酷。 在本课程中,我们将由浅入深的讲解这些效果的实现,这能让你迅速提高开发技能,在职场中处于不败之地。课程共十三章,大大小小贯穿了近10个案例,只要你具备基础的HTML和JavaScript基础即可学习。

告别手动打卡:逍遥模拟器+宥马运动自动跑步脚本配置全流程

本文详细介绍了如何利用逍遥模拟器和自动化脚本实现宥马运动的自动跑步功能,告别手动打卡的繁琐。从环境准备、脚本部署到定位配置和智能调度,全流程指导用户完成自动化设置,提升效率并确保运动数据的真实性。

weixin_42532473的博客 546

1 重新启程,WebGL框架three.js

查看一个简单的案例:http://www.wjceo.com/blog/threejs/2018-02-07/3.html从今天开始,我学习WebGL基础将占时告一段落,开始学习WebGL的流行框架three.js。经验告诉我,学习一种语言,如果入门能力差,最好从框架开始学,虽然会被掩盖很多的原理方面的东西,但是,你能直接做出来一些东西,给自己充足的信心,能让自己做下去。如果你连东西都做不出来,时...

现在学习也不晚 4326

Doris StreamLoad任务报错Connection reset

背景 Spark程序扫一张Hive表(大小3-7G),然后用http协议的streamLoad任务提交给Doris集群,在Doris集群从0.13.15升级到0.14.12后spark程序报错streamLoad时突然会Connection reset 分析 enable_http_server_v2 这个参数可以参考FE中文配置中查看到,作用是对于Doris界面是否开启新风格的界面,但是实际上他的作用远不止如此,请接着看 新老版本对于enable_http_server_v2参数默认值是不同的 在0.13

gaofeng的博客 3308

【OpenAirInterface知识-3】OAI端到端部署之5G基站部署

在上一篇文章中已经完成了5G核心网的部署,本篇文章将介绍OAI 5G基站的部署过程。

起名字难上难的博客 3421

webgl 第二课 three.js框架(一)

three.js基础框架一

MAYA_G的博客 318

HRnet的pytorch实现

HRnet的pytorch实现

奋土的博客 1953

二、【DS-SDK封装】基于ThreeJS的三维场景开发库-核心Viewer封装

viewer核心库的封装主要是针对threejs场景进行初始封装,以便多项目复用。具体细节我就不多写了,网上一大堆,但是我发现网上的例子都比较雷同,所以我的这一篇文档会着重从我做过的项目上遇到的一些问题来具体描写,详细请看第七、第八小节,主要是第一我们真实项目中,其实你的渲染页面不是整个页面,而且其中的一小块div,所以你的宽高是div而不是windws的(如下图);第二对于页面大小变化的监视,以我的知识结构来说,还没有很好的解决方案来监视div的大小变化。

差不多先生的博客 969

Plecs电力电子仿真专业教程-第一季 补充课程 Plecs的安装教程与软件下载

PLECS4.1.64免安装版本–点我下载 Plecs.Standalone-3.7.2版本--关注加私信给我可以提供下载链接 补充课程 Plecs的安装教程与软件下载 详细介绍Plecs软件的安装过程

1万+

仿真学习系列(二):ADS仿真直观理解方波与频谱分量的关系

在高速电路设计中,我们常常听到一句话:“信号其实不是电压在传输,而是频率在传播。” 这句话看似抽象,却揭示了信号世界的核心本质——任何时域波形,都可以被拆解为一系列不同频率的正弦波。 那么,一个看似简单的方波,究竟由哪些频率成分组成?为什么在示波器上,有的方波上升沿又快又“方”,而有的却“圆润”得多?这些差异背后,隐藏的正是高频分量的力量。 本文将通过使用 Keysight ADS,从零搭建仿真电路,直观地观察方波与其谐波成分之间的关系。

案例文章,高速信号 814

一、【DS-SDK封装】基于ThreeJS的三维场景开发库-构建想法

DS-SDK 是基于开源项目 ThreeJS 进行二次开发的三维WebGL应用框架,该框架优化了部分 ThreeJS 的使用方式和增添一些通用功能,旨在为开发者快速构建 WebGL三维应用。

差不多先生的博客 776

python基础:工作会用到的95%的基础python代码都在这了(万字详解!)

本文是一份Python编程语言的快速参考备忘单,涵盖了Python基础语法和常用数据类型。主要内容包括:Python入门指南(打印、变量声明)、内置数据类型(字符串、数值、列表、元组、集合、字典等)、控制结构(判断、循环)、函数定义、文件处理操作以及字符串操作方法(切片、循环遍历等)。这个备忘单特别适合初学者快速查阅Python基础语法,同时也提供了数据类型转换、f-string格式化字符串等实用技巧。通过简洁的代码示例展示了Python的基本语法规则和典型用法。

数据知道的博客 8160

Three.js和其它webgl框架

什么是WEBGL? WebGL (Web图形库) 是一种JavaScript API,用于在任何兼容的Web浏览器中呈现交互式3D和2D图形,而无需使用插件。WebGL通过引入一个与OpenGL ES 2.0紧密相符合的API,可以在HTML5 元素中使用。(MDN简介) 在我的理解,WebGL给我们提供了一系列的图形接口,能够让我们通过js去使用GPU来进行浏览器图形渲染的工具。 什么是...

现在学习也不晚 6万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WebGL three.js学习笔记 创建three.js代码的基本框架

WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染。 WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设...

weixin_33935777的博客 184

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

WebGL框架比较之Three.js和Babylon.js的比较

今天的web浏览器已经走了很长的路。由于出色的JavaScript WebGL API,现代浏览器完全有能力在没有第三方插件帮助的情况下呈现先进的2 d和3 d图形。利用专用的图形处理器的性能,WebGL使我们访问的网页实现动态阴影和现实的物理。 正如你可能已经猜到的,如此强大的api通常有一个缺点。WebGL当然也不例外,其缺点是形式的复杂性。不要害怕,然而,当我们探索两个完全有能力框架的目标是,让你的生活更容易,甚至可能使用WebGL时更有效率。 三维框架的出身 曾经流行的Three.js(ht.

Peter的博客 7122

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WebGL框架:Three.js和Babylon.js的比较

今天的web浏览器已经走了很长的路。由于出色的JavaScript WebGL api ,现代浏览器完全有能力在没有第三方插件帮助的情况下呈现先进的2 d和3 d图形。利用专用的图形处理器的性能,WebGL使我们访问的网页实现动态阴影和现实的物理。正如你可能已经猜到的,如此强大的api通常有一个缺点。WebGL当然也不例外,其缺点是形式的复杂性。不要害怕,然而,当我们探索两个完全有能力框架的目标是,

LoveMolly 3万+

WebGL的3D框架比较 Three.js和ThingJS(转)

原创 文章, 转载请标明出处 https://blog.csdn.net/liuwei000000/article/details/80623532       随着flash的没落,浏览器的原生能力的兴起。在3D方面WebGL不管从功能还是性能方面都在逐渐加强。2D应用变为3D应用的需求也越来越强烈。 win10的画图板支持3D图片,2d工具photoshop也开始逐步集成了3D工具。    下...

shawn0326的博客 8216

(转)WebGL框架比较之Three.js和Babylon.js的比较

今天的web浏览器已经走了很长的路。由于出色的JavaScript WebGL API,现代浏览器完全有能力在没有第三方插件帮助的情况下呈现先进的2 d和3 d图形。利用专用的图形处理器的性能,WebGL使我们访问的网页实现动态阴影和现实的物理。 正如你可能已经猜到的,如此强大的api通常有一个缺点。WebGL当然也不例外,其缺点是形式的复杂性。不要害怕,然而,当我们探索两个完全有能力框架的目标...

u010447508的博客 6961

WebGL的3D框架比较 ThingJS 和 Three.js

随着flash的没落,浏览器的原生能力的兴起。在3D方面WebGL不管从功能还是性能方面都在逐渐加强。2D应用变为3D应用的需求也越来越强烈。 win10的画图板支持3D图片,2d工具photoshop也开始逐步集成了3D工具。 下面就基于WebGL技术探讨一下现在的两款3D框架。Threejs(http://threejs.org/) 目前最流行的开源3D框...

delouyou5212的博客 338

Three.js和Babylon.js:WebGL框架的比较

当今的Web浏览器都因为爵士蒂姆·伯纳斯 - 李和他的Nexus软件的日子很长的路要走。 由于梦幻的JavaScript API,如WebGL的,现代的浏览器完全有能力使先进的2D和3D图形,而不从第三方插件的帮助的。 通过利用专用图形处理器的马力,WebGL为我们的网页访问动态阴影和现实物理。 正如你可能已经猜到了,这种强大的API,通常配有一个缺点。 WebGL的肯定也不例外,它的缺点进来...

1067

WebGL+Three.js学习博客(一)

一、什么是WebGL WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。 WebGL是在浏览器中实现三维效果的一套规范。当然用它的原生api来开发还是相对比较困

nann-viiv 的博客 1255

Three.js入门详解

对于没有相关基础的人来说,入门真的很难,Three.js 将入门的门槛降低了一大截,对 WebGL 进行封装,简化我们创建三维动画场景的过程。1. Three.js 掩盖了 3D 渲染的细节:Three.js 将 WebGL 原生 API 的细节抽象化,将 3D 场景拆解为网格、材质和光源(即它内置了图形编程常用的一些对象种类)。7. 内置文件格式支持:你可以使用流行的 3D 建模软件导出文本格式的文件,然后使用 Three.js 加载,也可以使用 Three.js 自己的 JSON 格式或二进制格式。..

萌兔兔MMQ!! 8287

WebGL开发框架及其特点

Three.js是最通用的选择,适合大多数3D项目。Babylon.js和PlayCanvas更适合游戏开发。A-Frame是VR开发的首选。PixiJS和Phaser专注于2D图形和游戏。CesiumJS和Deck.gl适合地理空间数据可视化。Regl适合需要高度定制的项目。根据项目需求选择合适的框架,可以大大提高开发效率和性能。

dt_dev的博客 752
上一篇: mtl材质文件格式
下一篇: Three.js第一节Hello World
wangcuiling_123
博客等级 码龄9年 17粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值