GeForceFX: NVIDIA vai a Hollywood?

NVIDIA 2.0+ A capacidade de programação dos sombreadores de pixel e vértice supera claramente os requisitos encontrados na especificação do DirectX 9. É por isso que a NVIDIA enfatiza isso adicionando um "+" à sua denotação. A introdução de todos os recursos e possibilidades desses novos shaders está bem além do foco deste artigo e, no final, apenas os programadores de sombreamento conseguirão chegar a uma conclusão real sobre o valor desses recursos. Um screenshot

NVIDIA 2.0+

A capacidade de programação dos sombreadores de pixel e vértice supera claramente os requisitos encontrados na especificação do DirectX 9. É por isso que a NVIDIA enfatiza isso adicionando um "+" à sua denotação. A introdução de todos os recursos e possibilidades desses novos shaders está bem além do foco deste artigo e, no final, apenas os programadores de sombreamento conseguirão chegar a uma conclusão real sobre o valor desses recursos.

Um screenshot de Ogre, o personagem do filme Spellbound YEAH. A NVIDIA usou em uma demonstração em tempo real.

Uma visão geral das extensões do GeForceFX:

GeForceFX Vertex Shader 2.0+

Extensões comparadas com o DirectX 9 (padrão):

256 instruções de programa armazenado (era 128); 256 constantes (era 96); Registrador de endereço vetorial (era um escalar); O número máximo de instruções que podem ser executadas por shader é agora 65.536.

Os destaques, conforme apresentados pela NVIDIA:

Até 65.536 instruções de vértices executadas por vértice (até 256 instruções estáticas por shader)
O mecanismo de sombreamento CineFX expõe uma quantidade sem precedentes de recursos de processamento de vértices. Além de duplicar o armazenamento de instruções, a adição de fluxo de controle aumenta drasticamente a quantidade de computação real que pode ocorrer para cada vértice. Essa flexibilidade reduz o número total de sombreadores de vértice requeridos por um aplicativo.

Até 256 constantes vetoriais
O número de registradores de constantes disponíveis no shader de vértice do CineFX mais do que dobrou - de 96 até 256 palavras quadruplicadas! Este aumento permite substancialmente mais matrizes ósseas para a pelagem de paleta de matriz e muito mais fontes de luz simultâneas.

Dezesseis registradores vetoriais temporários
O armazenamento temporário de registros aumentou em 33% de 12 para 16. Esse armazenamento temporário é particularmente útil nos programas maiores suportados pelo mecanismo CineFX.

Até 64 loops separados
O mecanismo de sombreamento de vértice do CineFX cria programas mais simples, suportando looping e ramificação totalmente dependentes (incluindo loops e ramificações aninhadas) com até 64 destinos de ramificação exclusivos em um único programa de sombreador. Loop sobre todas as fontes de luz e, em seguida, ramificação para o tipo de luz apropriado é agora uma brisa.

Códigos condicionais por componente e máscaras de gravação
Os códigos de condição são o mecanismo por trás da ramificação dependente de dados, mas também podem melhorar o desempenho e simplificar o código para atribuições condicionais.

Ligue e retorne (sub-rotinas)
Além dos recursos de ramificação do CineFX, o processador de vértices suporta a semântica completa de CALL / RETURN da subrotina, com uma pilha de chamadas de até quatro profundidades.

Loops e ramificações para fluxo de controle estático e dinâmico
Looping e ramificação totalmente gerais (junto com referência de dados dependente) são o que torna o mecanismo de sombreamento de vértice CineFX tão flexível e poderoso.

Top