1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/marsgis-mars3d

 / Детали:

Большая водная поверхность (слияние рендеринга примитивов)

Предстоит сделать
Владелец
Создано  
20.05.2025

Проблема

Многочисленное объединение поверхностей: почему в официальном примере 100 000 полигонов работают, а свои 1000 полигонов вызывают ошибку

Скриншот

Версия

(См. версии mars3d и cesium, отображаемые при нажатии F12, можно вставить скриншот)

const arrData = []
  // for (let j = 0; j < result.points.length; ++j) {
  //   const position = result.points[j]
  //   const index = j + 1

  //   let pt1 = mars3d.PointUtil.getPositionByDirectionAndLen(position, 0, result.radius)
  //   let pt2 = mars3d.PointUtil.getPositionByDirectionAndLen(position, 72, result.radius)
  //   let pt3 = mars3d.PointUtil.getPositionByDirectionAndLen(position, 144, result.radius)


  //   pt1 = mars3d.PointUtil.setPositionsHeight(pt1, 200)
  //   pt2 = mars3d.PointUtil.setPositionsHeight(pt2, 100)
  //   pt3 = mars3d.PointUtil.setPositionsHeight(pt3, 100)
  //   console.log("Сгенерированные координаты тестовой сетки", pt1, pt2, pt3)
  //   arrData.push({
  //     positions: [pt1, pt2, pt3],
  //     style: {
  //       normalMap: "https://data.mars3d.cn/img/textures/waterNormals.jpg", // Нормальная карта для водной поверхности
  //       frequency: 8000.0, // Число, контролирующее количество волн.
  //       animationSpeed: 0.02, // Число, контролирующее скорость анимации воды.
  //       amplitude: 5.0, // Число, контролирующее амплитуду волн.
  //       specularIntensity: 0.8, // Число, контролирующее интенсивность зеркального отражения.
  //       baseWaterColor: "#006ab4", // Основной цвет воды в формате rgba. #00ffff, #00baff, #006ab4
  //       blendColor: "#006ab4", // Цвет, используемый для смешивания воды с не-водной областью в формате rgba.
  //       opacity: 0.6, // Прозрачность
  //     }
  //   })
  // }
```  //       offsetAttribute: Cesium.GeometryOffsetAttribute.ALL, // Необходимо
  //       offsetHeight: 100
  //     },
  //     attr: { index }
  //   })
  // }


  for (let index = 0, len = 1000; index < len; index++) {
    let gid = gridJson[index].gid;
    const arrPoints = []
    for (let j = 0; j < gridJson[index].points.length; j++) {
      const point = gridJson[index].points[j]

      arrPoints.push([...point, 10]) // Добавление трехмерных координат [x, y, высота]
    }

Ожидаемый результат

Связанные ссылки

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/marsgis-mars3d.git
git@api.gitlife.ru:oschina-mirror/marsgis-mars3d.git
oschina-mirror
marsgis-mars3d
marsgis-mars3d