日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在CesiumVR基础上实现3D左右立体视觉

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在CesiumVR基础上实现3D左右立体视觉 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

整體思路


?

  • 在VR模塊的基礎上調整視差,使其隨距離發生變化;
  • 左右分屏時,需要將左右屏的橫向進行1/2壓縮;這是因為3D-TV在對左右格式影像進行合并時,會進行拉伸;
  • 左屏幕的相機相對于原來的(右屏)相機位置發生了變化,所以需要重新判斷左屏幕相機視野內的切片,并重新進行渲染(解決黑色切片問題)。

  • ?

    代碼部分


  • 視差調整以及分屏橫向壓縮???   
  •    function updateAndExecuteCommands(scene, passState, backgroundColor) {
           ......var near = camera.frustum.near;var fo = near * 5.0;var eyeSeparation = fo / 30.0;//var eyeTranslation = Cartesian3.multiplyByScalar(savedCamera.right, eyeSeparation * 0.5, scratchEyeTranslation);    //修改,使得視差隨相機高度變化    //var modifyEyeSeparation = eyeSeparation * 0.5 * savedCamera.position.z ;   //savedCamera.getMagnitude()獲取距離中心的距離    var modifyEyeSeparation = eyeSeparation * 0.5 * savedCamera.getMagnitude() ;    var eyeTranslation = Cartesian3.multiplyByScalar(savedCamera.right, modifyEyeSeparation, scratchEyeTranslation);    viewport.x = passState.viewport.width;    // camera.frustum.aspectRatio = viewport.width / viewport.height;    // 修改,使得VR模式下球體橫向收縮    camera.frustum.aspectRatio = viewport.width*2 / viewport.height;    var offset = 0.5 * eyeSeparation * near / fo;    //Cartesian3.add(savedCamera.position, eyeTranslation, camera.position);    camera.frustum.xOffset = offset;       executeCommands(scene, passState); viewport.x = 0;//Cartesian3.subtract(savedCamera.position, eyeTranslation, camera.position);camera.frustum.xOffset = -offset;    //相機位置發生變化,所以要渲染的切片發生變化;所以重新計算需要渲染的切片,進行渲染 (這部分還需要進行完善)    executeCommands(scene, passState);    Camera.clone(savedCamera, camera);

    2.對左屏(相機偏移的場景)重新進行渲染(暫時解決方案,對相機外的場景同樣進行渲染,存在的問題:效率太低)

      CullingVolume.prototype.computeVisibility = function(boundingVolume) {if (!defined(boundingVolume)) {throw new DeveloperError('boundingVolume is required.');    }    var planes = this.planes;    var intersecting = true;    for (var k = 0, len = planes.length; k < len; ++k) {    var result = boundingVolume.intersectPlane(Plane.fromCartesian4(planes[k], scratchPlane));    if (result === Intersect.OUTSIDE) {    // return Intersect.OUTSIDE;    //修改,不進行判斷是否在范圍內,全部進行渲染,從而避免立體視覺部分出現黑框    return Intersect.INSIDE;    } else if (result === Intersect.INTERSECTING) {    intersecting = true;    }    }    return intersecting ? Intersect.INTERSECTING : Intersect.INSIDE;   };

    有待解決的問題

      相機偏移后(左屏),應當對場景(左屏)重新進行渲染。具體指

  • 重新判斷boundingVolume(球體)與CullingVolume(相機的視野)的相互關系(INSIDE或OUTSIDE),即判斷球體是否在相機的視野范圍內,對范圍內的部分進行渲染;
  • 重新對場景進行渲染,從而將當前相機視野內的切片渲染出來,避免黑框的出現
  • 轉載于:https://www.cnblogs.com/dongzhiwu/p/8092932.html

    總結

    以上是生活随笔為你收集整理的在CesiumVR基础上实现3D左右立体视觉的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产精品白嫩极品美女视频 | 国产激情一区二区三区 | www.久久av.com| 黄色特一级 | 日韩国产欧美在线视频 | 成人av免费观看 | 免费观看的av | 久久香蕉网 | 在线免费观看污网站 | 欧美成人片在线观看 | 麻豆传媒在线观看视频 | 一区二区三区在线免费观看视频 | 永久免费不卡在线观看黄网站 | 四虎一区二区三区 | 91精彩刺激对白 | 日韩1区| 91九色蝌蚪91por成人 | 97成人精品| 男人操女人的免费视频 | 这里只有精品视频在线 | 在线亚洲综合 | 韩国av一区| 东北少妇不戴套对白第一次 | 欧美亚洲天堂网 | 成人性生交大免费看 | 日本高清不卡码 | av在线日韩 | 美女bb视频 | 亚洲a中文字幕 | 国产福利一区二区视频 | 涩涩av | 国产视频在线一区二区 | 久久久观看 | 日韩在线影院 | 精品伦一区二区三区 | 日韩中文在线观看 | 久久福利影院 | 麻豆国产在线播放 | 美女乱淫| 欧美aa一级 | 91av国产精品 | 国产精品视频网址 | 99精品国产99久久久久久97 | aaa天堂 | 影音先锋欧美在线 | 一级久久久 | 伊人蕉久影院 | 超碰天天操 | 潘金莲激情呻吟欲求不满视频 | 午夜精品免费视频 | av最新天堂 | 日韩中文字幕在线视频 | 麻豆疯狂做受xxxx高潮视频 | 麻豆久久久午夜一区二区 | 欧美日韩一区二 | 神马午夜av | 久草综合在线视频 | 亚洲国产精品麻豆 | 理论片琪琪午夜电影 | 国产在线播放一区二区三区 | 亚洲男女在线 | 色哟哟一区二区三区 | 午夜不卡视频 | 欧美欧美欧美 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 一起草av在线 | 日韩精品在线免费看 | 波多野在线视频 | 国产黑丝视频 | 中文字幕日韩一区 | 青青操91| 国产精品一色哟哟哟 | 在线99视频 | 亚洲精品久久久久久无码色欲四季 | 蜜桃免费在线视频 | 国产精品一区二区精品 | 亚洲一区毛片 | 顶级尤物极品女神福利视频 | 俄罗斯av在线| 成人毛片视频在线观看 | 成人乱人乱一区二区三区一级视频 | 九七av| 亚洲欧洲精品一区二区三区 | 国产在线自 | 国产精品一级二级三级 | 宅男av在线| 久久久久久久久免费看无码 | 日韩欧美自拍偷拍 | 四虎精品永久在线 | 少妇系列av | 国产乱来| 九色九一| 六月丁香在线视频 | 夜夜夜爽 | 日本熟妇毛茸茸丰满 | 黄色影音 | 久久偷看各类女兵18女厕嘘嘘 | 午夜狠狠干| 欧美精品在线免费观看 |