Как указано в документации, треугольные вентиляторы не поддерживаются в Direct3D 10 или более поздней версии .
Почему? Есть ли недостатки при работе с треугольными веерами?
Как указано в документации, треугольные вентиляторы не поддерживаются в Direct3D 10 или более поздней версии .
Почему? Есть ли недостатки при работе с треугольными веерами?
Ответы:
Уже более десяти лет производители аппаратного обеспечения выдвигают полосы треугольников, списки индексированных треугольников и полосы индексированных треугольников как самые быстрые примитивные типы для использования. Почему? Полосы имеют лучшую локальность кэша (повторное использование двух последних представленных вершин вместо того, чтобы постоянно возвращаться к первому), а индексирование позволяет аппаратным кешам вершин фактически работать, а также является более эффективным для устранения дублирующих вершин.
Если все производители оборудования говорят: «Делай так, и ты будешь быстрее», то есть очень хороший шанс, что если ты сделаешь это таким образом, ты на самом деле будешь быстрее.
Так что D3D10 + просто формализует это; если это быстрый путь, то это тот путь, который вы собираетесь использовать, и другие пути не будут существовать. Это соответствует одной из философий дизайна D3D10 +, которая направляет вас на быстрый путь и удерживает вас там.
источник
Я не знаю, насколько это на самом деле влияет на разработку, но, как и в случае любых таких изменений, было сказано, что они позволят разработчикам драйверов писать лучшие драйверы. Сложность драйверов GPU удивительна, но я не уверен, что это точное изменение сильно поможет.
В любом случае можно заменить треугольные веера для большинства ваших потребностей (например, выпуклого рендеринга полигонов) полосами, часто с лучшими результатами.
РЕДАКТИРОВАТЬ: забыл упомянуть - если вам нужно изменить порядок намотки - просто поверните тест в этом «если» (== до! =).
источник
(Этот конкретный вопрос требует ответа мнения :)
Субъективно я бы сказал, его архитектура космонавтизм. OpenGLES также выбрасывает множество вещей, чтобы сделать его «менее сложным», в то же время фактически налагая сложность на каждого разработчика с устаревшим кодом.
Конечно, даже если аппаратное обеспечение не поддерживает его изначально, было бы тривиально обеспечить совместимость с людьми, чередующими вентиляторы треугольников путем преобразования их в полосы или треугольники.
Время выполнения WebGL и тому подобное должны постоянно отслеживать проверенные буферы и тому подобное, и драйверы могут легко управлять людьми, отправляющими их фанатам, несмотря на то, что они не поддерживают это.
Так что все выбрасывание FFP и так далее - это просто большое раздражение IMO.
источник