My server-side generated KML from my previous GoogleEarth-based web app used to use 3D models, building the placemarks as so:
" <Placemark id = """ & mmsi & "3d"">" & vbNewLine & _
" <Model id=""model_4"">" & vbNewLine & _
" <altitudeMode>relativeToGround</altitudeMode>" & vbNewLine & _
" <Location>" & vbNewLine & _
" <longitude>" & longitude & "</longitude>" & vbNewLine & _
" <latitude>" & latitude & "</latitude>" & vbNewLine & _
" <altitude>0</altitude>" & vbNewLine & _
" </Location>" & vbNewLine & _
" <Orientation>" & vbNewLine & _
" <heading>" & heading & "</heading>" & vbNewLine & _
" <tilt>0</tilt>" & vbNewLine & _
" <roll>0</roll>" & vbNewLine & _
" </Orientation>" & vbNewLine & _
" <Scale>" & vbNewLine & _
returnDemStr(type, Double.Parse(length), Double.Parse(beam)) & _
" </Scale>" & vbNewLine & _
" <Link>" & vbNewLine & _
" <href>http://xyz.com/dae/TNK.dae</href>" & vbNewLine & _
" </Link>" & vbNewLine & _
" </Model>" & vbNewLine & _
" </Placemark>"
I've successfully converted the .DAE file into a Cesium-formatted .GLB, but simply changing "TNK.dae" to "TNK.GLB" in the KML doesn't seem to work. Is there a way for cesium to parse a KML file and read its 3d model placemark data?