Introdução – Tutorial Vulkan

Melhores cassinos on -line


1. Sol Casino

Sol Casino -Keyword

Bônus de inscrição gratuita: 6 0 rotações livres ( Link de bônus de inscrição grátis )

Bônus de primeiro depósito: 200% até €/$ 500 ( Link de registro )

assinando Sol Casino


2. Cassino fresco

cassino fresco

Bônus de inscrição gratuita: 3 0 rotações livres ( Link de bônus de inscrição grátis )

Bônus de primeiro depósito: 200% até €/$ 300 ( Link de registro )

aberto cassino fresco


3. Jet Casino

Jet Casino

Bônus de inscrição gratuita: 2 0 rotações livres ( Link de bônus de inscrição grátis )

Bônus de primeiro depósito: 100 % até €/$ 500 ( Link de registro )

Enter cassino Jet


Introdução – Tutorial Vulkan

  • Sobre

  • E-book

  • Estrutura do tutorial

Sobre

Este tutorial lhe ensinará o básico de usar o Vulkan
Gráficos e API de computação. Vulkan é uma nova API do grupo Khronos
(conhecido pelo OpenGL) que fornece uma abstração muito melhor das placas gráficas modernas. Esta nova interface permite que você descreva melhor o que seu aplicativo pretende fazer, o que pode levar a um melhor desempenho e um comportamento menos surpreendente do motorista em comparação com as APIs existentes como o OpenGL
e direto3d. As idéias por trás de Vulkan são semelhantes às do Direct3d 12
e metal, mas Vulkan tem a vantagem de ser totalmente atravessado e permite que você se desenvolva para Windows, Linux e Android ao mesmo tempo.

No entanto, o preço que você paga por esses benefícios é que você precisa trabalhar com uma API significativamente mais detalhada. Todos os detalhes relacionados à API de gráficos precisam ser configurados do zero pelo seu aplicativo, incluindo criação inicial de buffer de quadros e gerenciamento de memória para objetos como buffers e imagens de textura. O driver gráfico fará muito menos mão, o que significa que você terá que fazer mais trabalho em seu aplicativo para garantir um comportamento correto.

A mensagem de takeaway aqui é que Vulkan não é para todos. É direcionado a programadores que estão entusiasmados com a computação gráfica de alto desempenho e estão dispostos a colocar algum trabalho em. Se você está mais interessado no desenvolvimento de jogos, em vez de gráficos de computador, poderá seguir o OpenGL ou o Direct3D, que não será preterido em favor de Vulkan em breve. Outra alternativa é usar um motor como o Unreal Engine
ou unidade, que será capaz de usar Vulkan enquanto exporá uma API de nível muito mais alta a você.

Com isso fora do caminho, vamos cobrir alguns pré -requisitos para seguir este tutorial:

  • Uma placa gráfica e driver compatível com Vulkan (NVIDIA, AMD, Intel, Apple Silicon (ou Apple M1))
  • Experiência com C ++ (familiaridade com RAII, listas de inicializador)
  • Um compilador com suporte decente dos recursos C ++ 17 (Visual Studio 2017+, GCC 7+ ou Clang 5+)
  • Alguma experiência existente com gráficos de computador 3D

Este tutorial não assumirá o conhecimento dos conceitos OpenGL ou Direct3D, mas exige que você conheça o básico dos gráficos de computador 3D. Não explicará a matemática por trás da projeção de perspectiva, por exemplo. Veja este livro online
Para uma ótima introdução de conceitos de computação gráfica. Alguns outros ótimos recursos de computação gráfica são:

  • Ray Rasting em um fim de semana
  • Livro de renderização com base fisicamente
  • Vulkan sendo usado em um motor real no terremoto de código aberto e noom 3

Você pode usar C em vez de C ++, se quiser, mas terá que usar uma biblioteca de álgebra linear diferente e estará por conta própria em termos de estruturação de código. Usaremos recursos C ++, como classes e RAII, para organizar a vida útil da lógica e dos recursos. Há também uma versão alternativa deste tutorial disponível para desenvolvedores de ferrugem.

Para facilitar o acompanhamento dos desenvolvedores usando outras linguagens de programação e para obter alguma experiência com a API básica, usaremos a API C original para trabalhar com Vulkan. Se você estiver usando C ++, no entanto, pode preferir usar as ligações mais recentes de Vulkan-HPP que abstraem parte do trabalho sujo e ajude a evitar certas classes de erros.

E-book

Se você preferir ler este tutorial como um e-book, pode baixar uma versão EPUB ou PDF aqui:

  • Epub
  • Pdf

Estrutura do tutorial

Começaremos com uma visão geral de como Vulkan funciona e o trabalho que teremos que fazer para obter o primeiro triângulo na tela. O objetivo de todas as etapas menores fará mais sentido depois que você entendeu o papel básico em toda a imagem. Em seguida, configuraremos o ambiente de desenvolvimento com o Vulkan SDK, a biblioteca GLM para operações de álgebra linear e GLFW para criação de janelas. O tutorial abordará como configurá -los no Windows com o Visual Studio e no Ubuntu Linux com o GCC.

Depois disso, implementaremos todos os componentes básicos de um programa Vulkan que são necessários para renderizar seu primeiro triângulo. Cada capítulo seguirá aproximadamente a seguinte estrutura:

  • Apresentar um novo conceito e seu propósito
  • Use todas as chamadas de API relevantes para integrá -lo ao seu programa
  • Partes abstratas dele em funções auxiliares

Embora cada capítulo seja escrito como acompanhamento do anterior, também é possível ler os capítulos como artigos independentes que introduzem um determinado recurso Vulkan. Isso significa que o site também é útil como referência. Todas as funções e tipos vulkan estão vinculados à especificação, para que você possa clicar nelas para saber mais. Vulkan é uma API muito nova, então pode haver algumas deficiências na própria especificação. Você é incentivado a enviar feedback a este repositório Khronos.

Como mencionado anteriormente, a API Vulkan tem uma API bastante detalhada com muitos parâmetros para fornecer o máximo controle sobre o hardware gráfico. Isso faz com que operações básicas, como criar uma textura, para tomar muitas medidas que precisam ser repetidas todas as vezes. Portanto, criaremos nossa própria coleção de funções auxiliares ao longo do tutorial.

Cada capítulo também será concluído com um link para a lista completa da lista até aquele momento. Você pode se referir a ele se tiver alguma dúvida sobre a estrutura do código ou se estiver lidando com um bug e deseja comparar. Todos os arquivos de código foram testados em placas gráficas de vários fornecedores para verificar a correção. Cada capítulo também tem uma seção de comentários no final, onde você pode fazer qualquer pergunta relevante para o assunto específico. Especifique sua plataforma, versão do driver, código -fonte, comportamento esperado e comportamento real para ajudá -lo a ajudá -lo.

Este tutorial pretende ser um esforço da comunidade. Vulkan ainda é uma API muito nova e as melhores práticas ainda não foram estabelecidas. Se você tiver algum tipo de feedback sobre o tutorial e o próprio site, não hesite em enviar um problema ou puxar solicitação ao repositório do GitHub. Você pode assistir ao repositório a ser notificado de atualizações para o tutorial.

Depois de passar pelo ritual de desenhar seu primeiro triângulo movido a Vulkan na tela, começaremos a expandir o programa para incluir transformações lineares, texturas e modelos 3D.

Se você jogou com as APIs de gráficos antes, saberá que pode haver muitas etapas até que a primeira geometria apareça na tela. Existem muitas dessas etapas iniciais em Vulkan, mas você verá que cada uma das etapas individuais é fácil de entender e não se sente redundante. Também é importante ter em mente que, uma vez que você tem esse triângulo chato, desenhar modelos 3D totalmente texturizado não leva tanto trabalho extra, e cada passo além desse ponto é muito mais gratificante.

Se você encontrar algum problema ao seguir o tutorial, verifique primeiro o FAQ para ver se o seu problema e sua solução já estão listados lá. Se você ainda estiver preso depois disso, sinta -se à vontade para pedir ajuda na seção de comentários do capítulo mais próximo relacionado.

Pronto para mergulhar no futuro das APIs de Graphics de alto desempenho? Vamos!

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *