Java3d: как нарисовать 2D-наложение на 3D-сцену Java?

Есть несколько методов, я хотел бы получить отзывы о их плюсах и минусах. Насколько я знаю, есть:

  • Техника "Растр"

Приходится использовать изображения, и это не настоящее наложение, а просто еще один объект в 3D-сцене. Другие объекты могут скрыть это.

Легко, но я не могу избавиться от мерцания

Есть ли другие методы, о которых я не знаю? Было бы проще использовать другую библиотеку, например LWJGL или JME?


person Nhaolio    schedule 08.06.2010    source источник


Ответы (1)


Это «мерцание», о котором вы упоминаете, называется Z-fighting и возникает из-за того, что вы 3D-рендеринг не знает, какой полигон находится перед другим, потому что значения положения Z усекаются перед рендерингом, и когда они слишком близки (или одинаковы), это приводит к той неопределенной ситуации, которая приводит к мерцанию, которое вы упомянули.

Z-борьба может быть смягчена, но вы не можете полностью устранить ее, поэтому в конечном итоге вы можете либо применить текстуру с нужными буквами к поверхности, либо попытаться вручную настроить значения положения 2D-наложения. , пытаясь увеличивать его расстояние от других полигонов постепенно, маленькими битами, пока он не станет достаточно маленьким, чтобы выглядело, будто он там, и достаточно большим, чтобы значения Z отличались после их усечения, устраняя сомнения для рендеринга , и, следовательно, устранение Z-боевых действий.

person Luis Miguel Serrano    schedule 22.06.2010