webgl 学习心得_webgl心得体会-程序员宅基地

技术标签: webgl学习之路  

我本是搞Android 的,公司需要就搞3D展示了,刚开始找了很多资料,觉得threejs最为适合我,原因是我会点前端的东西,threejs也比较简单,demo也齐全;但是,由于公司没有真正的UI,全凭老板一句话,你们懂得,修修改改,晚上学习,白天实现功能,搞了几个月,实现的功能有,导入3d文件,展示楼层,设备参数展示,报警,位置提醒这些主要的功能,又感觉不满意,想要bim功能,又想要游戏效果,其它第三方的价格过高,与是我开始接触原生webgl,想更深入进去;

不废话了,怎么学?这条路很崎岖,没人带,只能自学,买买书,看看视频,极客学院有免费基础,还不错,太基础,个人觉得webgl编程指南 很不错,很适合入门,视频csdn webgl坚如磐石很不错,不过你最好有点基础,虽然是基础教程,但是老师讲的并不是很细吧(给我的感觉);

所以,建议是:买本webgl编程指南的书,然后加几个webgl活跃的群,书的前几章你一定要记得,并能大概写的下来,不明白也不要紧,我刚开始也是这样,发现越大后面越困难,最后决定,死记没个代码,神奇的事情出现了,我在后面的时候学的很快,并能马上明白每个的含义,总结得出,是我们平时看的时候,太着急了,概念都没记清楚就看其它的,结果发现什么都不会,也就怎么学都学不懂,敲代码,用心敲代码是每个程序员必备的,这是思考,也是加强记忆,也是检验真理;

其中的数学没必要太过纠结,矩阵有数学库,足够你入门基础了,然后看看线性代数,也可以只看向量的点积,叉积的计算与运用,还有矩阵;进阶那就要对数学更深的理解;

还有就是多看看人家写的demo,也可以试着看threejs  的源码;

着色器也可以参照http://thebookofshaders.com/01/?lan=ch 

在这条崎岖的路上我也只是新手,一直觉得很简单,很常见,没必要去写,发现群里原来比我还新的,才发现我已经走了很久,但我还是新手;请多多指教!

很多问大场景,数据量过大的,比如有人要搞个600M的模型;那还是不要用webgl,浏览器有限制的,这是目前所有公司都面临的问题,对于百多兆的文件算是勉强接受,这都要进行按场景加载,按需加载,以及模型复用,剔除等;大场景还是用unity3d做吧;

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_25909453/article/details/82557576

智能推荐

SimpleDateFormat 24小时和12小时转换_androidstudio导入simpledateformat-程序员宅基地

文章浏览阅读1k次。SimpleDateFormat 24小时和12小时转换HH 代表 24 小时制 , hh 表示 12 小时制public class SimpleDateFormat_12_24_ { public static void main(String[] args) { SimpleDateFormat sdf_24 = new SimpleDateFormat("HH:mm:_androidstudio导入simpledateformat

基于YOLOv5+单目的物体距离和尺寸测量_yolov5计算与识别物体的距离-程序员宅基地

文章浏览阅读1.8k次,点赞9次,收藏23次。YOLOv5是目前应用广泛的目标检测算法之一,其主要结构分为两个部分:骨干网络和检测头。骨干网络采用的是CSPDarknet53,这是一种基于Darknet框架的改进版卷积神经网络。CSPDarknet53通过使用残差结构和跨层连接来提高网络的表达能力,并且采用了空洞空间金字塔池化(ASPP)来实现多尺度的信息提取。这样设计的骨干网络具有较强的特征提取能力,可以有效地提取出图像中的目标信息。检测头是YOLOv5的另一个关键组成部分,主要用于从骨干网络特征图中提取目标检测信息。_yolov5计算与识别物体的距离

中文路径,QString转为const char *出现乱码解决方法_qstring中文转 const char乱码-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏3次。vs2017+qt5.9,链接库为GDAL,读取dem高程时,发现内存使用错误,经过检查。发现在读取中文路径的时候,qstring转const char *的时候,出现乱码。最初使用的是:weixin_33853794作者的方法,链接为:链接1。QString FileName = "mv_" + QString("%1.txt").arg(iPoc);//此处可以实现动态赋值std::string str = FileName.toStdString();const Char *mvFi_qstring中文转 const char乱码

详解.NET多线程异常的处理方法_threadpool.queueuserworkitem 未处理的异常-程序员宅基地

文章浏览阅读955次。 .NET多线程在实际应用中会出现一些异常问题,下面请看作者对于.NET多线程异常的一些处理方法。多线程应用,在实际的项目或产品开发中,原则上来说,应该尽量避免(这是我一家之言,因为我不是一个一心可多用的人 )。但是在强调用户体验的要求下或开发平台的限制下(如 Silverlight Socket 通讯),我们不得不用多线程。多线程环境在我们的产品 SE 中,出现多线程的地方主要有两大类,一类是通过 ThreadPool 或 new Threa_threadpool.queueuserworkitem 未处理的异常

STM32软件复位重启_stm32软件重启-程序员宅基地

文章浏览阅读774次,点赞2次,收藏5次。是不是很简单,哈哈哈。_stm32软件重启

spark 链接ftp读取数据并写入到hive表中_spark读取ftp文件-程序员宅基地

文章浏览阅读2.6k次。spark依赖pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca..._spark读取ftp文件

随便推点

四足机器人|机器狗|仿生机器人|多足机器人|PPT|汇报|科研汇报PPT|技术汇报_四足机器人关键技术ppt-程序员宅基地

文章浏览阅读2.7k次,点赞11次,收藏28次。四足机器人|机器狗|仿生机器人|多足机器人|PPT|汇报|科研汇报PPT|技术汇报_四足机器人关键技术ppt

org.springframework.data.redis.serializer.SerializationException: Could not read JSON-程序员宅基地

文章浏览阅读1k次。org.springframework.data.redis.serializer.SerializationException: Could not read JSON将数据存储到redis中报错,由于对象(实体)中缺少json的某个字段属性引起解决办法。@JsonIgnoreProperties(ignoreUnknown = true) _org.springframework.data.redis.serializer.serializationexception: could not

Angular官网学习4:Angular入门,你的第一个应用(4)输出_angular notifychange$-程序员宅基地

文章浏览阅读375次。在本节中,将设置商品提醒组件,当用户点击‘Notify Me’的时候,像商品列表组件发出事件。1、打开 product-alerts.component.ts, 从 @angular/core 中导入 Output 和 EventEmitter。2、在组件类中,用 @Output 装饰器和一个事件发射器(EventEmitter)实例定义一个名为 notify 的属性。这可以让商品提醒组件在 ..._angular notifychange$

[flask 优化] 由flask-bootstrap,flask-moment引起的访问速度慢的原因及解决办法-程序员宅基地

文章浏览阅读661次。一周时间快速阅读了400页的《javascript基础教程》,理解了主要概念。解决了一个很久之前的疑问。我的网站是使用flask框架搭建的,介绍flask web的一本著名的书(之前提到过)作者搭建个人博客时,向读者推荐了flask-bootstrap,flask_moment这两个库,前者能快速的解决前端样式问题,后者提供了时间戳功能。但在某种情况下,比如网络延迟或者运营商的问题,访问网..._bootstrap 速度慢 maxcdn

前端 音频/视频(Audio/Video)开始加载以及播放的过程_video.addeventlistener-程序员宅基地

文章浏览阅读1.7k次。前端 音频/视频(Audio/Video)开始加载以及播放的过程_video.addeventlistener

光盘显示0字节可用_教你怎么用光盘重装系统-程序员宅基地

文章浏览阅读2.2k次。怎么用光盘重装系统?很多小伙伴只会系统光盘安装系统的方法,除了系统光盘重装系统,还有硬盘安装、一键重装、U盘重装、Ghost重装系统等等方法,下面除了教你怎么用光盘重装系统之外,还给你介绍下一键重装系统的操作步骤。光盘重装系统图文首先安装前准备:保证电脑带有光驱功能,并且光驱处于正常状态以及系统光盘能够正常读取。1、首先系统光盘放入电脑光驱位置,等待电脑读取光盘成功后,就继续怎么用光盘重装系统了。..._光盘放入光驱显示可用字节为0