拿来主义往往束缚人们对新事物的研究与发现 - 记于 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

相关文章

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Spring boot整合dubbo+zookeeper的详细过程

《Springboot整合dubbo+zookeeper的详细过程》本文讲解SpringBoot整合Dubbo与Zookeeper实现API、Provider、Consumer模式,包含依赖配置、... 目录Spring boot整合dubbo+zookeeper1.创建父工程2.父工程引入依赖3.创建ap

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存