从地形tile中取出我们的imagery数组,从零开始遍历,以maxtextures为最大值,过滤掉没有ready和layer透明度为0的imagery,用这些纹理构成drawcomand。如果还没有画完,那就继续再造一个drawcommand,直到所有imagery都用完。
const imageryLen = tileImageryCollection.length;
while (numberOfDayTextures < maxTextures && imageryIndex < imageryLen) {
// 在uniformmaproperties中读取与texture相关的每个imagery中的变量
// Uniformmapp设置command、shaderProgram等属性
// 构建command后,放入framestate.comandlist中的commandlist
} while (imageryIndex < imageryLen);
当每个Imagerlayer创建图像纹理时,将TileImagery添加到地形Tile中的imagery数组中。例如,如果在一个2_1_0瓦的每个layer层中添加4个layer层和3个tileimagery,则将在这个地形tileimagery数组中存储12个纹理。所以要看一看,在创建这种地形瓦时,总共有16个纹理单元,应该不会全部使用吧?
文章为作者独立观点,不代表股票交易接口观点