Conforme abordado na documentação, ventiladores de triângulo não são suportados no Direct3D 10 ou posterior .
Por quê? Existem desvantagens inerentes ao trabalho com ventiladores triangulares?
Conforme abordado na documentação, ventiladores de triângulo não são suportados no Direct3D 10 ou posterior .
Por quê? Existem desvantagens inerentes ao trabalho com ventiladores triangulares?
Respostas:
Por mais de uma década, os fornecedores de hardware têm empurrado tiras triangulares, listas triangulares indexadas e tiras triangulares indexadas como os tipos primitivos mais rápidos de usar. Por quê? As tiras têm melhor localidade de cache (reutilizando os 2 últimos verts enviados em vez de precisar voltar continuamente ao primeiro) e a indexação permite que os caches de vértice de hardware funcionem, além de ser mais eficaz para eliminar verts duplicados.
Se todos os fornecedores de hardware disserem "faça dessa maneira e você será mais rápido", haverá uma boa chance de que, se você fizer dessa maneira, será realmente mais rápido.
Então o D3D10 + apenas formaliza isso; se esse é o caminho rápido, é o caminho que você usará e outros caminhos não existirão. Isso está de acordo com uma das filosofias de design do D3D10 +, que é colocar você no caminho mais rápido e mantê-lo lá.
fonte
Eu não sei o quanto isso realmente afeta o desenvolvimento, mas, como em qualquer alteração, foi dito que eles permitirão que os desenvolvedores de drivers escrevam drivers melhores. A complexidade dos drivers da GPU é incrível, mas não tenho certeza se essa alteração exata ajudará muito.
Em ambos os casos, é possível substituir os ventiladores de triângulo para a maioria das suas necessidades (como a renderização de polígonos convexos) por tiras, geralmente com melhores resultados.
EDIT: esqueci de mencionar - se você precisar alterar a ordem do enrolamento - basta inverter o teste nesse "se" (== a! =).
fonte
(Esta questão em particular merece uma resposta de opinião :)
Subjetivamente, eu diria que é astronautismo de arquitetura. O OpenGLES também jogou muitas coisas para torná-lo 'menos complexo', enquanto na verdade apenas empurra a complexidade para cada desenvolvedor com código legado.
Obviamente, mesmo quando o hardware não o suporta nativamente, seria trivial fornecer compatibilidade com as pessoas que sequenciam os ventiladores de triângulo, convertendo-os em tiras ou triângulos.
Os tempos de execução do WebGL e outros precisam acompanhar os buffers validados e outros o tempo todo, e os drivers podem gerenciar facilmente as pessoas que lhes enviam fãs, apesar de não suportarem.
Então, o todo jogando fora do FFP e tal é apenas uma grande OMI irritante .
fonte