Este documento fornece um guia abrangente para usar o código de exemplo da API v2 do Twitter e o renderizador Mitsuba 3. Inclui instruções de configuração para várias linguagens de programação (Java, Node.js, Python, R, Ruby), detalhes sobre variáveis de ambiente e dicas de solução de problemas. Para o Mitsuba 3, oferece orientações de instalação, exemplos de uso e informações sobre seus principais recursos e colaboradores.
Código de exemplo da API v2 do Twitter
Código de amostra para os endpoints v2 da API do Twitter.
Os recursos individuais da API possuem pastas onde você pode encontrar exemplos de uso em diversas linguagens de codificação (Java, Node.js, Python, R e Ruby).
Pré-requisitos
Usando os exemplos de código
Para executar os exemplos neste repositório você precisará configurar algumas variáveis de ambiente. Você pode encontrar suas credenciais e token de portador no aplicativo dentro do seu projeto no painel do portal do desenvolvedor.
Para amostras do OAuth 1.0a, você precisará exportar sua chave e segredo do consumidor em seu terminal. Certifique-se de substituir
Para amostras que usam autenticação de token ao portador, será necessário exportar o token ao portador. Certifique-se de substituir
Requisitos específicos do idioma
Ambiente Java configurado
Se você usa Homebrew, você pode instalar um Java Runtime usando:
Você também precisará baixar os arquivos JAR relevantes referenciados nas amostras individuais para construir e executar o código. Se você usar um IDE, ele poderá fazer isso automaticamente para você.
Configuração do ambiente JavaScript (Node.js)
Você precisará ter o Node.js instalado para executar este código. Todos os exemplos de Node.js usam agulha como cliente HTTP, que precisa ser instalado com npm. Para OAuth com solicitações de contexto de usuário, você precisará instalar os pacotes got e oauth-1.0a.
Configuração do ambiente Python
Você precisará ter o Python 3 instalado para executar este código. Os exemplos Python usam requests==2.24.0 que usa requests-oauthlib==1.3.0.
(Opcionalmente) É comum e recomendado não instalar o pacote necessário globalmente, mas localmente na subpasta do projeto usando venv:
Você pode instalar esses pacotes da seguinte maneira:
Ambiente Ruby configurado
Você precisará ter Ruby (recomendado: >= 2.0.0) instalado para executar o código. Os exemplos Ruby usam typhoeus como cliente HTTP, que precisa ser gem instalado. Para OAuth com solicitações de contexto de usuário, você também precisará instalar a gema oauth (veja abaixo).
Recursos adicionais
Mantemos uma coleção Postman que você pode usar para exercitar endpoints de API individuais.
Apoiar
Para perguntas gerais relacionadas à API e aos recursos, use a seção v2 dos fóruns da nossa comunidade de desenvolvedores.
Se houver um bug ou problema com o próprio código de amostra, crie um novo problema aqui no GitHub.
Contribuindo
Aceitamos solicitações pull que adicionam acréscimos significativos a esses exemplos de código, especialmente para linguagens que ainda não estão representadas aqui.
Sentimos que uma comunidade acolhedora é importante e pedimos que você siga o Código de Conduta de Código Aberto do Twitter em todas as interações com a comunidade.
Licença
Direitos autorais 2021 Twitter, Inc.
Licenciado sob a Licença Apache, Versão 2.0: https://www.apache.org/licenses/LICENSE-2.0
exemplo:
Renderizador Mitsuba 3
Documentação | Vídeos tutoriais | Linux | Mac OS | Windows | PyPI |
---|---|---|---|---|---|
️
Aviso
️
Actualmente existe uma grande quantidade de trabalho indocumentado e instável em curso no
o ramo master
. É altamente recomendável que você use nosso
último lançamento
até novo aviso.
Se você já deseja experimentar as próximas mudanças, dê uma olhada em
este guia de portabilidade.
Deve cobrir a maioria dos novos recursos e mudanças importantes que estão por vir.
Introdução
Mitsuba 3 é um sistema de renderização orientado para pesquisa para luz direta e inversa
simulação de transporte desenvolvida na EPFL na Suíça.
Consiste em uma biblioteca principal e um conjunto de plug-ins que implementam funcionalidades
variando de materiais e fontes de luz a algoritmos de renderização completos.
Mitsuba 3 é redirecionável : isso significa que as implementações subjacentes e
estruturas de dados podem ser transformadas para realizar várias tarefas diferentes. Para
Por exemplo, o mesmo código pode simular transporte RGB escalar (clássico de um raio por vez)
ou transporte espectral diferencial na GPU. Tudo isso se baseia
Dr.Jit, um compilador just-in-time (JIT) especializado desenvolvido especificamente para este projeto.
Principais recursos
Plataforma cruzada : Mitsuba 3 foi testado em Linux ( x86_64
), macOS
( aarch64
, x8664
) e Windows ( x8664
).
Alto desempenho : o compilador Dr.Jit subjacente funde o código de renderização
em kernels que alcançam desempenho de última geração usando
um back-end LLVM direcionado à CPU e um back-end CUDA/OptiX
visando GPUs NVIDIA com aceleração de hardware de rastreamento de raio.
Python primeiro : Mitsuba 3 está profundamente integrado ao Python. Materiais,
texturas e até mesmo algoritmos de renderização completos podem ser desenvolvidos em Python,
que o sistema compila JIT (e opcionalmente diferencia) em tempo real.
Isso permite a experimentação necessária para pesquisas em computação gráfica e
outras disciplinas.
Diferenciação : Mitsuba 3 é um renderizador diferenciável, o que significa que
pode calcular derivadas de toda a simulação em relação à entrada
parâmetros como pose de câmera, geometria, BSDFs, texturas e volumes. Isto
implementa algoritmos de renderização diferenciáveis recentes desenvolvidos na EPFL.
Espectral e Polarização : Mitsuba 3 pode ser usado como monocromático
renderizador, renderizador baseado em RGB ou renderizador espectral. Cada variante pode
opcionalmente, considere os efeitos da polarização, se desejado.
Vídeos tutoriais, documentação
Gravamos vários vídeos no YouTube que fornecem uma introdução gentil
Mitsuba 3 e Dr.Jit. Além disso você pode encontrar notebooks Juypter completos
cobrindo uma variedade de aplicações, guias de instruções e documentação de referência
em readthedocs.
Instalação
Fornecemos rodas binárias pré-compiladas via PyPI. Instalar o Mitsuba desta forma é tão simples quanto executar
pip instalar mitsuba
na linha de comando. O pacote Python inclui treze variantes por padrão:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Os dois primeiros realizam simulação clássica de um raio por vez usando um RGB
ou representação espectral de cores, enquanto os dois últimos podem ser usados para representação inversa
renderização na CPU ou GPU. Para acessar variantes adicionais, você precisará
compilar uma versão personalizada do Dr.Jit usando CMake. Por favor veja o
documentação
para obter detalhes sobre isso.
Requisitos
Python >= 3.8
(opcional) Para computação na GPU: Nvidia driver >= 495.89
(opcional) Para computação vetorizada/paralela na CPU: LLVM >= 11.1
Uso
Aqui está um exemplo simples de "Hello World" que mostra como é simples renderizar um
cena usando Mitsuba 3 do Python:
# Importe a biblioteca usando o alias "mi"import mitsuba as mi# Defina a variante do renderermi.setvariant('scalarrgb')# Carregue uma scenecene = mi.loaddict(mi.cornellbox())# Renderize a cenaimg = mi. render(scene)# Grave a imagem renderizada em um arquivo EXRmi.Bitmap(img).write('cbox.exr')
Tutoriais e cadernos de exemplo cobrindo uma variedade de aplicações podem ser encontrados
na documentação.
Sobre
Este projeto foi criado por Wenzel Jakob.
Recursos e/ou melhorias significativas no código foram contribuídos por
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Délio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vicente Leroy e
Zi Yi Zhang.
Ao usar o Mitsuba 3 em projetos acadêmicos, cite:
@software{Mitsuba3,title = {mitsuba 3 renderer},author = {Wenzel Jakob e Sébastien Speierer e Nicolas Roussel e Merlin Nimier-David e Delio Vicini e Tizian Zeltner e Baptiste Nicolet e Miguel Crespo e Vincent Leroy e Ziyi Zhang},nota = {https://mitsuba-renderer.org},versão = {3.1.1},ano = 2022}