w23 / xash3d-fwgs

Vulkan Ray Tracing fork of Xash3D FWGS engine. Intended to be merged into master at some point in the future.
163 stars 16 forks source link

Non-smooth geometry #548

Open 0x4E69676874466F78 opened 1 year ago

0x4E69676874466F78 commented 1 year ago

Не все нормали граней можно сгладить в силу того что геометрия на самом деле может быть не состыкована друг с другом, где-то она просто проваливается друг в друга или хуже того толком не состыкована. Это можно обойти какой-то автосклейкой вершин, типа например патчами задать что такие-то пары вершин надо объеденить. Пример: image

Связано #139

Это всё скорее для информации чтобы не потерялось, пока нет серьёзных случаев где нужно ради этого делать механизм объединения вершин.

w23 commented 1 year ago

можно, если очень хочется, сделать:

  • как у lifekilled в #348 -- разрешать мержить вершины/рёбра, которые ближе определённого порога
  • чтобы не перебирать все пары руками: мержить рёбра ручными патчами (это ребро это так же и это ребро, или "найди у этих поверхностей рёбра почти одинаковые")

можно через хешмапы искать близкие, чтобы не N^2