我的github

 参考1:https://blog.csdn.net/Dillon2015/article/details/122330522(360视频简介及ERP投影)

把自己想象成站在地球的中心点,然后把地球上的贴图想象成拍摄的视频
然后合成一张360°图片?
你就得每时每刻获取cesium每个方向上的360*720个点的像素值
然后进行转换
生成一个平面的图片
从cesium地球中心向四面八方发射射线
然后获取每个经纬度点的shader像素贴图值
erp转换->得到平面图
你就相当于一个360°的摄影师
渲染管线
rasterization是不是这一步
会有一个生成贴图的这么一个过程
shader是在这一步骤之前还是之后?
你要拿到一个点的rasterzation
应该是在生成贴图以后吧?
如果是生成之前就先拿到这个点或者这个点周围几个格子的像素值
那貌似就不用生成rasterization了
这样是不是会快一些
感觉你做完这个可以直接生成一个tif了 带坐标的
你就相当于一个无人机航拍了整个世界的图像
然后合成了一张图片吗?
每个像素的坐标你都得到了(一个摄影机好像还不够,要360*360个摄像机围着cesium同时进行拍照。。)
>>>突然觉得好像也不用这么麻烦
你可以用手一个一个去点采样点
然后转换不就好了
之前我采样过高程
好像是叫sampleheights
你就是采样rgb
>>选择一个视角:当前视角下的场景和物体是已经被扭曲或者叫偏移?旋转?等等的。

但是我要的是全部加载完后,在各个点的法线方向进行采样。。

那么也就意味着。。cesium的整个渲染流程都要改变?视线方向都变了

>>方法二:把球分割成10*10,分别把交点投影到erp平面,然后再把交点连成网格?然后再把图片贴到变形后的网格上

cesium是怎么把球给切分的?并把图片给贴上去的呢?

不一定要跟cesium一样:新建一个虚拟的球,earth:定义它由几个点组成-几条线-几个面。当然球切分的越细,点就越多。

图像切图到球:

图片切分之后再贴图到球的各个部分:

球的各个点的坐标:经纬度坐标或者三维直角坐标系的坐标。

>>贴图之后:不要把地球放到渲染管线中,也不要摆放摄影机什么的。。而是新建一个平面,将地球对应的各个组合点给投影到该平面上,将摄影机把该平面给拍下来。渲染出图360度旋转图。

>>方法三:2d->3d->erp(直接对图像每个像素进行转换)

posted on 2023-04-19 11:21  XiaoNiuFeiTian  阅读(396)  评论(0编辑  收藏  举报