cesiumjs開發實踐 七

2021-07-15 04:06:11 字數 1351 閱讀 3774

摘要

cesium中支援載入3d模型,不過只支援gltf格式。

cesium中支援載入3d模型,不過只支援gltf格式。gltf是khronos組織(起草opengl標準的那家)定義的一種交換格式,用於網際網路或移動裝置上展現3d內容,充分支援opengl,webgl,opengles圖形加速標準。

gltf目前可以由collada格式轉換而來,官網上也提供了乙個轉換工具(這個工具比較坑爹,只能和collada檔案放在同乙個目錄才工作,轉換後的結果檔案也必須在同一目錄,就是說不能指定輸入和輸出路徑,當初坑了我好久才發現。

乙個collada檔案轉換後結果有4個檔案,乙個.bin,乙個.json,兩個.glsl。.json檔案是描述性的檔案,.bin是實際的資料,兩個glsl檔案是頂點著色語言檔案。把這些檔案所在目錄部署到web伺服器上。在client端新增

var ellipsoid = viewer.scene.globe.ellipsoid;

var cart3 = ellipsoid.cartographictocartesian(cesium.cartographic.fromdegrees(lng, lat, height));

var modelmatrix = cesium.transforms.eastnorthuptofixedframe(cart3);

var quat = cesium.quaternion.fromaxisangle(cesium.cartesian3.unit_z, cesium.math.toradians(rotate - 90));

var mat3 = cesium.matrix3.fromquaternion(quat);

var mat4 = cesium.matrix4.fromrotationtranslation(mat3, cesium.cartesian3.zero);

var m = cesium.matrix4.multiplytransformation(modelmatrix, mat4);//獲得最終變換矩陣,參考筆者前面寫的《座標變換》篇

var model = viewer.scene.primitives.add(cesium.model.fromgltf());

model.readytorender.addeventlistener(function

(model)

);});

載入模型後的效果

模型顯示是否順滑與模型三角面數,機器配置,瀏覽器版本密切相關。瀏覽器推薦使用chrome30.0以上。

本篇到此結束

cesiumjs開發實踐 四

摘要 cesiumjs中的地形系統是一種由流式瓦片資料生成地形mesh的技術。cesiumjs中的地形系統是一種由流式瓦片資料生成地形的技術。新增地形將視角放平時 地形顯示wireframe cesiumjs支援兩種型別的地形,stk world terrain和 small terrain。stk...

DbEntry 開發實踐 Wiki 系統(七)

流水帳記到現在,系統基本完成,不過還有幾點需要解決。首先,我們來新增乙個 記住我 的功能。當使用者登入的時候,如果選擇了 remember me 那麼就同時把使用者名稱密碼等資訊儲存到使用者的cookie中,使用者訪問時,先檢測cookie,如果cookie中有儲存的資訊,則驗證此資訊,如果驗證通過...

CUDA實踐指南(七)

數值精度和精度 由於計算和儲存浮點值的方式,導致錯誤或意外的結果主要來自浮點精度問題。以下各節介紹了感興趣的主要專案。cuda c程式設計指南的特性和技術規範 以及有關浮點精度和效能的 和附帶網路研討會中提供了浮點運算的其他特性,可從獲得精密performancefloating 點和ieee 75...