OpenGL⼊门
前⾔:
在学习Android时,曾经尝试过全景显⽰。当然,灵感的来源是在⼤⼀暑假留校学习时,看到⽼师们开发的Vsur Map中的全景显⽰效果很炫酷,于是问了下⽼师,说是⽤OpenGL写的。⾃此,OpenGL进⼊了视野。
正⽂:
本⽂不介绍开发技巧,讨论的是如何学习⼊门,包括Android、C#、C++。
对于库函数的学习,开发⽂档往往是最好的。不过,没到,哈哈(可以到的)。
1. Android
这是第⼀次接触OpenGL,认识到OpenGL是只能画三⾓形,其余图形都是在三⾓形基础上绘制⽽成。那么,在csdn和简书上到了学习教程,画了三⾓形和矩形,还是不敢尝试全景显⽰的。毕竟没有系统的学习。正好和队友做⽐赛,俩⼈⼀合计,就复现了个全景显⽰的DEMO。
由于之前学习时的参考⽂章未作记录,⼜去百度了下教程,好家伙,⼜有好玩的项⽬可以学习了。
基础资料
1.
2.
3.
全景在虚拟现实中应⽤很⼴,实现时利⽤的是平⾯坐标和球⾯坐标的转换,就像世界地图和地球仪的关系,在⼤地测量学中有更深⼊的地图投影知识讲解。
项⽬
1. 看了下这个项⽬,可以在⼊门时使⽤,探索下基本原理,链接如下:
三种实现⽅式为:
1. OpenGL ES
2. GoogleCardboard(Google VR)上⾯的⼀个集成模块
3. Three.js(利⽤前端姿势)WebView混合开发
2 . 那么接下来的这个项⽬,可以在具体项⽬中应⽤,项⽬介绍及源码地址如下:
总结
本来还想⾃⼰总结推荐下呢,结果上⽹⼀搜,⽐我写的好多了。我写的话,在Android中会写上OpenGL ES 2.0和Google VR这两种⽅式实现,⽽且,效果也没这么好。
在总结这⼀块的时候,我⼜去上⽹了下开源项⽬和实现,感觉⼜有了收获,哈哈。
⽽且呀,在这篇⽂章⾥,发现了⼿机拍摄全景照⽚的⽅式,就是 ,不过,访问google play是需要爬梯⼦的。
2. C#
在做完Android实现后,尝试在PC端实现,进⾏些其他功能的尝试,⽆奈C#中关于OpenGL的教程不好,到些国外的⽂章看。OpenGL在C#中被整合到OpenTK,直接调⽤即可。
资料
1. ⼀个国外的教程,很详细 —
2.
3.
总结
在学习C#中的简单应⽤时,发现,还是C++的资料多,前辈的经验是,先在C++下利⽤丰富的资源学会OpenGL的基础知识,然后,再在C#或是其他语⾔平台上开发,会触类旁通。毕竟OpenGL是⼀个实现标准。
3. C++
原来感觉最不友好的C++,在现在来看,⼜是那么的可爱,终于,还是成长了。android学习教程
资料
1.
2.
3.
总结
在C++中的资料还是很多的,尤其是原理的详细解析,很利于理解。⽽且,在C++中,很多库都是需要⾃⼰编译的,这在之前是没有进⾏过的,感觉学到了好多东西,虽然只是⽤CMake编译下。
总结
综上所述,完成了OpenGL的⼊门,⼀套流程下来是很有收获的,但是,对于个⼈来说,总感觉是⼀个不完整的学习,还有很多东西需要去完善,亟待解决的就是—做出点东西,学以致⽤,在实践中进⼀步完善知识体系。
结合⾃⾝能想到的是,看了王植⽼师的论⽂— ,⾥⾯⽤到了OpenGL来完成机载LiDAR点云数据的三
维可视化,当然,主要还是⽤算法来实现数据的处理;还有就是进⾏游戏开发和虚拟现实技术的实现,在16年的VR元年之后,⼤家开始对vr技术进⾏探索,google的Google VR 以及 esri开始在runtime 100.2中加⼊了VR来实现三维显⽰。可见,三维是⼀个趋势,⼆维到三维的跨越会是⼀个潮流。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。