Я написал простую программу, которая визуализирует четырехугольник, используя библиотеку Nvidia Warp. В ядре я просто запрашиваю точки треугольника и проверяю наличие вырожденных треугольников, но, что удивительно, я нахожу один, хотя входная геометрия чистая.
Сетка представляет собой простой четырехугольник, состоящий из двух треугольников — ни один из них не является вырожденным в исходных данных. Я подозреваю, что использую API неправильно, но мне не удалось выявить проблему даже после прочтения документации.
Пример вывода (обратите внимание, что зеленая область никогда не должна появляться):
Чтобы запустить минимальное воспроизведение, сначала установите с помощью pip "warp-lang", "matplotlib", "numpy" в среде Python.
Я написал простую программу, которая визуализирует четырехугольник, используя библиотеку Nvidia Warp. В ядре я просто запрашиваю точки треугольника и проверяю наличие вырожденных треугольников, но, что удивительно, я нахожу один, хотя входная геометрия чистая. Сетка представляет собой простой четырехугольник, состоящий из двух треугольников — ни один из них не является вырожденным в исходных данных. Я подозреваю, что использую API неправильно, но мне не удалось выявить проблему даже после прочтения документации. [code]import matplotlib.pyplot as plt import numpy as np import warp as wp
@wp.kernel def render_quad( mesh_id: wp.uint64, width: int, height: int, pixels: wp.array(dtype=wp.vec3), ): tid = wp.tid() x = tid % width y = tid // width
if __name__ == "__main__": main() [/code] Пример вывода (обратите внимание, что зеленая область никогда не должна появляться): [img]https://i.sstatic.net/E4aDDeOZ.png[/img] Чтобы запустить минимальное воспроизведение, сначала установите с помощью pip "warp-lang", "matplotlib", "numpy" в среде Python.