Eventos
19 de nov., 23 - 21 de nov., 23
Obtenha a vantagem competitiva de que você precisa com poderosas soluções de IA e nuvem participando do Microsoft Ignite online.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
O objeto de vinculação de classe é um namespace para variáveis e tipos que vários sombreadores podem compartilhar. Quando você passa um objeto de vinculação de classe em uma chamada para criar um sombreador, o runtime reúne uma lista de variáveis e tipos que podem implementar cada interface no sombreador e armazena os nomes dessas variáveis e tipos no objeto de vinculação de classe.
Portanto, quando você chama o método ID3D11ClassLinkage::GetClassInstance para gerar instâncias de classe do objeto de vinculação de classe, o runtime pode recuperar a variável ou o tipo que corresponde ao nome fornecido em cada sombreador (se esse nome for válido para um determinado sombreador) e que é criado com o objeto de vinculação de classe fornecido.
Por exemplo, suponha que você tenha uma classe Light que implemente uma interface Color e use essa classe em seu sombreador de vértice e sombreador de pixel. Quando você cria um sombreador (por exemplo, chamando ID3D11Device::CreatePixelShader), o runtime determina que o tipo de classe Light está disponível em sombreadores de vértice e pixel e adiciona o tipo de classe Light ao objeto de vinculação de classe. Em seguida, você pode criar uma instância Light em um local desejado, associar os recursos para ambos os sombreadores e passar essa instância na matriz de instâncias de classe ao definir o sombreador para o dispositivo (por exemplo, chamando ID3D11DeviceContext::P SSetShader). Em seguida, o runtime executa a seguinte sequência:
O objeto de vinculação de classe é, em última análise, um repositório de nomes de tipo e variável. O número máximo de nomes disponíveis para cada item (tipo e variável) é 64K. Quanto mais longos forem os nomes de tipo e variável, maior será o requisito de armazenamento para os metadados de interface armazenados por sombreador. Isso ocorre porque o runtime deve armazenar um mapeamento para esses nomes para cada sombreador.
Eventos
19 de nov., 23 - 21 de nov., 23
Obtenha a vantagem competitiva de que você precisa com poderosas soluções de IA e nuvem participando do Microsoft Ignite online.
Registrar agora