Вопрос о ширине линии металла говорит, что невозможно рисовать линии в металле с произвольной шириной линии . Однако Apple говорит, что все ее графические фреймворки, такие как UIKit
, SpriteKit
, SceneKit
, используют Metal
. Я хочу знать, как эти рамки имеют линии с разной шириной линии? Если они сделаны из треугольников, есть ли пример, показывающий, как это сделать? Кроме того, как тогда круг, другие примитивные формы будут нарисованы линиями различной ширины?
Как Apple отображает пользовательскую ширину линии в UIKit при рендеринге с помощью Metal
comment
Линии (и пути в целом) разбиваются на треугольники и/или растрируются по строкам сканирования, в зависимости от используемого вами API. На самом деле это то, что вам нужно, поскольку при использовании растеризации линий с аппаратным ускорением контроль над качеством сглаживания и соединениями линий недостаточен. Но да, если вы хотите рисовать толстые линии с помощью Metal, вам будет проще.
- person warrenm   schedule 23.07.2018
Ответы (1)
Я не знаю, как Apple делает свои линии. Но я нашел этот сайт, где довольно просто объясняется, как делать сглаженные линии различной ширины с треугольниками. Это для OpenGL, но Metal будет почти таким же. Есть много других подобных сайтов в Интернете с другими объяснениями и подходами, если вы погуглите тему.
http://merowing.info/2012/04/drawing-smooth-lines-with-cocos2d-ios-inspired-by-paper/
person
bsabiston
schedule
23.07.2018