拿来主义往往束缚人们对新事物的研究与发现 - 记于 OpenGLES 模型移动研究过程中的感悟

本文主要是介绍拿来主义往往束缚人们对新事物的研究与发现 - 记于 OpenGLES 模型移动研究过程中的感悟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

拿来主义往往束缚人们对新事物的研究与发现 - 记于 OpenGLES 模型移动研究过程中的感悟

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

OpenGLES 在 iOS 上的研究工作已经持续近 7 个月了,中间发布的体验版本不下十几个,每一个版本都保留着,这是研究过程中的里程碑,也是本人在 OpenGLES 方面成长的见证。

有人说,结婚拍婚纱照没啥用,明明订的一两千的套系,拍完一选片儿,居然加到五七八千去了,更是不值。

其实,就拍与不拍这个事情来说,本人的观点是,一定要拍,真正看的时侯,并不多,比如俺家的,已经忘记压在哪个柜子下面了,但至少存在着,就是一个见证。

然后,预算的超支,那个就因人而异了,有的人,对这种见证,更要求细致,总是怕漏下某一个细节;而有的人天生记性好,比如老一辈人,结婚就一张大像框照片,就解决一辈子的问题,和和睦睦,白头到老。

至于我,总是爱把关键时刻的照片留下来,留做纪念。而到现在,人生经历过的事情,崎岖坎坷、春风得意,从我一身的病,就足以记得很深了,至于照片,真心没那个必要。

话题扯得有些远了,不过还是老话常谈,博客就是我对技术研究历程中,自已觉得很回味的,即使很熟了,还要研究上几回的,倍感亲切,确实值得记录一下。

然而,有些时侯,确流于形式,随波逐流,丧失自我,这是最让我无法忍受的,出现这样的状况,我就会像写什么云笔记...一样,好几个笔记应用,最终都变成了储物柜,和婚纱照一样,成了压箱底儿的东西了。

感觉博客也一样,真心要甩掉那些个东西,才会让我有兴趣写下去。

在我看来,博客有几个作用:

1、记录当时研究的灵感和场景,一是下回这个技术会用,或这个问题会解决;二也是最重要的,思考问题的方式;

2、博客文章,不光是给别人看的,最重要是给自已看的,反复看过后,才知道哪些思路还有不足,哪些可以进行扩展,正所谓书读百遍,其意自现,自个儿做过的事情,反复过几遍电影之后,不明白的部分,自然流露出来,无需花太多脑汁去想为什么,自然就知道了。

3、最后一点,就是通过之前的总结记录,会不自然的有机结合出新的东西来,比如新的方案,更重要的是思考问题的维度增加了,思维面儿要广了,解决问题的适应性就更强了。


回归主题,这么长时间以来,写有关 OpenGLES 的博文,总是小心翼翼的,生怕哪里写得不对,一是误人子弟,二是没脸儿。

然而正是这种心态,博文中总是缺少一些大胆的总结,致使无法自然地总结形成新的思维模式,一大损失!

再有,评论功能,之前我是关闭着的,后来打开了,确实想得到高人的指点、帮助,然而,收效甚微,还是主动出击有效果,尤其从老外的博文中,能找到独到的,浅显的观点。


一直以来,没有对 OpenGLES 的各个部分做总结,一是工作时间紧,没有那个精力;二是总感觉没到那个层次,没有发言权;

其实两者都错了,工作紧,孰不知,总结之后,虽然占用了些工作时间,但这是为了更好地工作,提高工作效率,磨刀不误砍材工,就是这个道理;

至于没有发言权,只是个借口,可能更想把现成的东西发给别人看,然而,别人真的不一定吃得下,而研究过程中的点滴感悟才是别人灵感的来源,也是自已需要的进一步研究的基石,对自已其实也一样。


最后,其实就是那么一个事儿,OpenGLES 模型的移动,真的不用笨笨地去重建修正以达到挪那么大的顶点数据的目的;

有一点可别忘了,OpenGLES 2.0 是可编程管线,这意味着,每一个模型的顶点坐标都是要传递给着着器,进行相应加工,才最终交给 GPU 去渲染生成画面的,那么,只要能识别出是哪一个模型,是否对该模型做某些操作,这完全可以在着急器中进行处理,或者换一个着色器进行处理。

同时,涉及另一个关题,那就是空间转换,矩阵.......的应用,这些个 3D数学计算,着实有些迷糊,上次也是到某大学,在图书馆里搜索到了几个桌上有这方面书的同学帮助解决的,虽然他们不懂 3D 数学,但至少我分解后的内容,都是基础的,他们很在行的。

这也是俺一直没有去想的部分,着色器和渲染程序始终用一个,拿来主义,不求甚解,害人非浅。

直到目前,这个问题无法解决时,才下定决心,重新思考,进度已经无法保证,无从谈起的时侯,才会想起先保证可行,否则就一直爬在别人的后背上,以便轻松地,快捷地过河,这就是病根儿。


一年多来,完全“掌握”了现有工作环境中的这种工作和思维方式,之前也想过要放下,拿起以前的自已的方式,但大环境下,无法改变。

惯性使然,人也只有在逼到没路可走时,才会想起来,是不是应该重新选择,或者遇到叉路口的时侯就应该去考虑一下,哪一条路通达彼岸的可能性更大,如果连这都不舍得花时间去思考,甚至认为这是一种浪费,那么困境 就在不远的将来了。(刚想起来那句:人无远虑,必有近忧!意思是,你不想远点,当远点时间成为近前时,你就会因为没有提早考虑到,而出现忧愁烦恼。)


说了这么多,要表达的意思,我是明白了,不过看客们是否明白,那就得看你是否有此经历了,现今的行业大气侯下,敏捷被当作招魂牌,只是用于更深层次地剥夺些什么的工具,好像看不明白上面这些话的同行们,少之又少。


真正的敏捷,其中缊藏着一个较深的度的问题,切不可完全由成本来控制,就像敏捷开发所讲的,信任第一,否则,你失去的不光是效率,更重要的还有潜能。

这效率本身就涉及成本,无法达到开发本身自然趋速的效率,本身成本就大大增加;

而潜能,则是活生生地被限制住了,开发人员本身有心想,也无力去使这个劲儿出来。


接下来,向着“空间转换”再一次开炮!!!



这篇关于拿来主义往往束缚人们对新事物的研究与发现 - 记于 OpenGLES 模型移动研究过程中的感悟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/584884

相关文章

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二