Este documento proporciona una guía completa para utilizar el código de muestra de la API v2 de Twitter y el renderizador Mitsuba 3. Incluye instrucciones de configuración para varios lenguajes de programación (Java, Node.js, Python, R, Ruby), detalles sobre variables de entorno y sugerencias para la solución de problemas. Para Mitsuba 3, ofrece orientación de instalación, ejemplos de uso e información sobre sus funciones y contribuyentes clave.
Código de muestra de la API de Twitter v2
Código de muestra para los puntos finales de la API v2 de Twitter.
Las funciones individuales de la API tienen carpetas donde puede encontrar ejemplos de uso en varios lenguajes de codificación (Java, Node.js, Python, R y Ruby).
Requisitos previos
Usando los ejemplos de código
Para ejecutar los ejemplos en este repositorio necesitará configurar algunas variables de entorno. Puede encontrar sus credenciales y token de portador en la aplicación dentro de su proyecto en el panel del portal de desarrolladores.
Para las muestras de OAuth 1.0a, deberá exportar su clave de consumidor y su secreto en su terminal. Asegúrate de reemplazar
Para muestras que utilizan autenticación de token de portador, deberá exportar el token de portador. Asegúrate de reemplazar
Requisitos específicos del idioma
Configuración del entorno Java
Si usa Homebrew, puede instalar un tiempo de ejecución de Java usando:
También deberá descargar los archivos JAR relevantes a los que se hace referencia en los ejemplos individuales para poder compilar y ejecutar el código. Si utiliza un IDE, es posible que pueda hacerlo automáticamente por usted.
Configuración del entorno JavaScript (Node.js)
Necesitará tener Node.js instalado para ejecutar este código. Todos los ejemplos de Node.js utilizan aguja como cliente HTTP, que debe estar instalado mediante npm. Para OAuth con solicitudes de contexto de usuario, deberá instalar los paquetes got y oauth-1.0a.
Configuración del entorno Python
Necesitará tener Python 3 instalado para ejecutar este código. Los ejemplos de Python usan request==2.24.0 que usa request-oauthlib==1.3.0.
(Opcional) Es común y se recomienda no instalar el paquete requerido globalmente, sino localmente en la subcarpeta del proyecto usando venv:
Puede instalar estos paquetes de la siguiente manera:
Configuración del entorno Ruby
Necesitará tener instalado Ruby (recomendado: >= 2.0.0) para poder ejecutar el código. Los ejemplos de Ruby utilizan typhoeus como cliente HTTP, que debe instalarse con gemas. Para OAuth con solicitudes de contexto de usuario, también necesitarás instalar la gema oauth (ver más abajo).
Recursos adicionales
Mantenemos una colección Postman que puede utilizar para ejercitar puntos finales de API individuales.
Apoyo
Si tiene preguntas generales relacionadas con la API y las funciones, utilice la sección v2 de los foros de nuestra comunidad de desarrolladores.
Si hay un error o problema con el código de muestra en sí, cree un nuevo problema aquí en GitHub.
Contribuyendo
Damos la bienvenida a las solicitudes de extracción que agregan adiciones significativas a estos ejemplos de código, particularmente para idiomas que aún no están representados aquí.
Creemos que una comunidad acogedora es importante y le pedimos que siga el Código de conducta de código abierto de Twitter en todas las interacciones con la comunidad.
Licencia
Copyright 2021 Twitter, Inc.
Licenciado bajo la Licencia Apache, Versión 2.0: https://www.apache.org/licenses/LICENSE-2.0
ejemplo:
Renderizador Mitsuba 3
Documentación | Vídeos tutoriales | linux | Mac OS | ventanas | PyPI |
---|---|---|---|---|---|
️
Advertencia
️
Actualmente hay una gran cantidad de trabajo indocumentado e inestable en
la rama master
. Le recomendamos encarecidamente que utilice nuestro
último lanzamiento
hasta nuevo aviso.
Si ya desea probar los próximos cambios, eche un vistazo a
esta guía de portabilidad.
Debería cubrir la mayoría de las nuevas funciones y los cambios importantes que se avecinan.
Introducción
Mitsuba 3 es un sistema de renderizado de luz directa e inversa orientado a la investigación
Simulación de transporte desarrollada en EPFL en Suiza.
Consiste en una biblioteca central y un conjunto de complementos que implementan funciones.
que van desde materiales y fuentes de luz hasta algoritmos de renderizado completos.
Mitsuba 3 es reorientable : esto significa que las implementaciones subyacentes y
Las estructuras de datos pueden transformarse para realizar varias tareas diferentes. Para
Por ejemplo, el mismo código puede simular transporte RGB escalar (clásico de un rayo a la vez)
o transporte espectral diferencial en la GPU. Todo esto se basa en
Dr.Jit, un compilador especializado justo a tiempo (JIT) desarrollado específicamente para este proyecto.
Características principales
Multiplataforma : Mitsuba 3 ha sido probado en Linux ( x86_64
), macOS
( aarch64
, x8664
) y Windows ( x8664
).
Alto rendimiento : el compilador Dr.Jit subyacente fusiona el código de renderizado
en núcleos que logran un rendimiento de última generación utilizando
un backend LLVM dirigido a la CPU y un backend CUDA/OptiX
dirigido a GPU NVIDIA con aceleración de hardware de trazado de rayos.
Python primero : Mitsuba 3 está profundamente integrado con Python. materiales,
Se pueden desarrollar texturas e incluso algoritmos de renderizado completos en Python.
que el sistema compila JIT (y opcionalmente diferencia) sobre la marcha.
Esto permite la experimentación necesaria para la investigación en gráficos por ordenador y
otras disciplinas.
Diferenciación : Mitsuba 3 es un renderizador diferenciable, lo que significa que
Puede calcular derivadas de toda la simulación con respecto a la entrada.
parámetros como la pose de la cámara, la geometría, los BSDF, las texturas y los volúmenes. Él
implementa algoritmos de representación diferenciables recientes desarrollados en EPFL.
Espectral y polarización : Mitsuba 3 se puede utilizar como monocromático
renderizador, renderizador basado en RGB o renderizador espectral. Cada variante puede
Opcionalmente, tenga en cuenta los efectos de la polarización si se desea.
Vídeos tutoriales, documentación.
Hemos grabado varios vídeos de YouTube que proporcionan una suave introducción.
Mitsuba 3 y Dr.Jit. Más allá de esto puedes encontrar cuadernos Juypter completos.
que cubre una variedad de aplicaciones, guías prácticas y documentación de referencia
en readthedocs.
Instalación
Proporcionamos ruedas binarias precompiladas a través de PyPI. Instalar Mitsuba de esta manera es tan sencillo como ejecutar
instalar pip mitsuba
en la línea de comando. El paquete Python incluye trece variantes por defecto:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Los dos primeros realizan la simulación clásica de un rayo a la vez usando un RGB
o representación de color espectral, mientras que los dos últimos se pueden utilizar para representación inversa.
renderizado en la CPU o GPU. Para acceder a variantes adicionales, deberá
compilar una versión personalizada de Dr.Jit usando CMake. Por favor vea el
documentación
para obtener detalles sobre esto.
Requisitos
Python >= 3.8
(opcional) Para cálculo en la GPU: Nvidia driver >= 495.89
(opcional) Para cálculo vectorizado/paralelo en la CPU: LLVM >= 11.1
Uso
A continuación se muestra un ejemplo sencillo de "Hola mundo" que muestra lo sencillo que es representar un
escena usando Mitsuba 3 de Python:
# Importar la biblioteca usando el alias "mi" importar mitsuba como mi # Establecer la variante de renderermi.setvariant('scalarrgb')# Cargar una escena = mi.loaddict(mi.cornellbox())# Renderizar la escenaimg = mi. render(scene)# Escribe la imagen renderizada en un archivo EXRmi.Bitmap(img).write('cbox.exr')
Se pueden encontrar tutoriales y cuadernos de ejemplo que cubren una variedad de aplicaciones.
en la documentación.
Acerca de
Este proyecto fue creado por Wenzel Jakob.
Funciones y/o mejoras significativas al código fueron aportadas por
Sébastien Speierer,
Nicolás Roussel,
Merlín Nimier-David,
Delio Vicini,
Tizian Zeltner,
Bautista Nicolet,
Miguel Crespo,
Vicente Leroy y
Ziyi Zhang.
Cuando utilice Mitsuba 3 en proyectos académicos, cite:
@software{Mitsuba3,title = {Mitsuba 3 renderer},autor = {Wenzel Jakob y Sébastien Speierer y Nicolas Roussel y Merlin Nimier-David y Delio Vicini y Tizian Zeltner y Baptiste Nicolet y Miguel Crespo y Vincent Leroy y Ziyi Zhang},nota = {https://mitsuba-renderer.org},versión = {3.1.1},año = 2022}