Este documento proporciona una descripción general de dos proyectos de código abierto: XXL-JOB, un marco de programación de tareas distribuidas, y Mitsuba 3, un sistema de renderizado orientado a la investigación. Ambos proyectos ofrecen documentación detallada, tutoriales y soporte comunitario. facilidad de uso y escalabilidad, mientras que Mitsuba 3 prioriza el alto rendimiento y la diferenciabilidad en las simulaciones de renderizado.
XXL-TRABAJO
XXL-JOB, un marco de programación de tareas distribuidas.
-- Página de inicio --
Introducción
XXL-JOB es un marco de programación de tareas distribuidas.
Su objetivo principal de diseño es desarrollar rápidamente y aprender de manera simple, liviana y fácil de expandir.
Ahora ya es de código abierto y muchas empresas lo utilizan en entornos de producción, realmente "listos para usar".
XXL-JOB es una plataforma de programación de tareas distribuidas. Sus principales objetivos de diseño son un desarrollo rápido, fácil aprendizaje, liviano y fácil de expandir. Ahora el código fuente está abierto y conectado a las líneas de productos en línea de muchas empresas, y se puede utilizar de inmediato.
Patrocinador
XXL-JOB es un proyecto gratuito y de código abierto, cuyo desarrollo continuo es posible en su totalidad gracias al apoyo de estos increíbles patrocinadores.
XXL-JOB es un proyecto de código abierto y gratuito, y su desarrollo continuo es totalmente posible gracias al apoyo de sus patrocinadores. El código abierto no es fácil, vaya a patrocinar el desarrollo del proyecto
Documentación
Comunicación
Características
Desarrollo
A mediados de 2015, creé el almacén de proyectos XXL-JOB en github y envié el primer compromiso. Luego llevé a cabo el diseño de la estructura del sistema, la selección de la interfaz de usuario, el diseño de interacción...
Desde 2015 hasta noviembre, XXL-JOB finalmente LANZÓ la primera versión principal V1.0, y luego la lancé a OSCHINA. XXL-JOB fue recomendado por @红水 en OSCHINA y alcanzó el primer lugar en "Hot Moves" de OSCHINA y git. El software de código abierto de .oschina ocupó el primer lugar en popularidad mensual. Me gustaría expresar mi agradecimiento especial a Hongshu y agradecerles a todos por su atención y apoyo.
Desde 2015 hasta diciembre, publiqué XXL-JOB en la base de conocimientos interna de nuestra empresa y fue reconocido por mis colegas internos.
Desde enero de 2016 hasta enero, nuestra empresa lanzó el trabajo de acceso interno y personalización de XXL-JOB. Nos gustaría agradecer a dos colegas, Yuan y Yin, por su contribución, y también agradecer a otros colegas internos que nos han brindado atención y apoyo.
El 13 de mayo de 2017, en la sesión de "Lanzamiento" de la "62ª Conferencia de Innovación de Código Abierto de China" celebrada en Shanghai, subí al escenario para dar un discurso sobre XXL-JOB, y los 500 miembros de la audiencia respondieron con entusiasmo ( en la foto) reseña del artículo).
El 22 de octubre de 2017, participé en la "Escuela práctica de microservicios ofensivos de la estación de Shanghai" organizada por Cloud Open Talk y Spring Cloud China Community. Subí al escenario para dar un discurso sobre XXL-JOB. con XXL después de la reunión -Los usuarios de JOB mantienen acaloradas discusiones e intercambios.
El 11 de diciembre de 2017, XXL-JOB tuvo el honor de participar en la "Cumbre Global de Arquitectos InfoQ ArchSummit" y fue presentado en el sitio por el "Profesor Yang Bo", Director de Arquitectura de Paipaidai, en el tema especial "Principios de microservicios, Infraestructura y prácticas de código abierto".
El 18 de diciembre de 2017, XXL-JOB participó en el concurso "El software de código abierto chino más popular de 2017", compitiendo entre alrededor de 9.000 proyectos nacionales de código abierto que se habían presentado en ese momento, y finalmente entró entre los 30 primeros.
El 15 de enero de 2018, XXL-JOB participó en el concurso "Proyectos de código abierto más populares de Code Cloud de 2017", compitiendo entre alrededor de 6500 proyectos de código de nube que se habían presentado en ese momento, y finalmente entró entre los 20 primeros.
El 14 de abril de 2018, en la "Conferencia de Desarrolladores de Internet 2018" celebrada por iTechPlus en Shanghai, subí al escenario para dar un discurso sobre XXL-JOB. La audiencia respondió con entusiasmo y tuvo una acalorada discusión con los usuarios de XXL-JOB después de la reunión. .
El 27 de mayo de 2018, en la sesión temática "Arquitectura" de la "75ª Conferencia de Innovación de Código Abierto de China" celebrada en Shanghai, subí al escenario para dar un discurso de apertura sobre "Mapa de infraestructura y middleware", ante miles de espectadores. Los miembros respondieron con entusiasmo (revisión de imágenes y texto).
El 5 de diciembre de 2018, XXL-JOB participó en el concurso "Software de código abierto chino más popular de 2018", compitiendo entre más de 10,000 proyectos de código abierto que se habían presentado en ese momento y finalmente ocupó el puesto 19.
El 10 de diciembre de 2019, XXL-JOB participó en el concurso "Software de código abierto chino más popular de 2019", compitiendo entre más de 10,000 proyectos de código abierto que se habían presentado en ese momento, y finalmente ocupó el noveno lugar en el "Marco de desarrollo y Categoría de componentes básicos".
El 16 de noviembre de 2020, XXL-JOB participó en el concurso "El software de código abierto chino más popular de 2020", compitiendo entre más de 10.000 proyectos de código abierto que se habían presentado en ese momento, y finalmente ocupó el octavo lugar en el "Marco de desarrollo y básico". Categoría de componentes".
El 6 de diciembre de 2021, XXL-JOB participó en el concurso "Selección de proyectos de código abierto de OSC China 2021" Compitió entre más de 10,000 proyectos de código abierto que se habían presentado en ese momento y finalmente fue seleccionado como el "Más popular". Proyecto".
Nuestra empresa Dianping ha accedido actualmente a XXL-JOB, que tiene un alias interno de "Ferrari" (Ferrari está personalizado según la versión V1.1 de XXL-JOB y se recomienda que las nuevas aplicaciones de acceso actualicen a la última versión) .
Según las últimas estadísticas, desde el 21 de enero de 2016 hasta el 1 de diciembre de 2017, el sistema se ha enviado aproximadamente 1 millón de veces, lo que muestra un rendimiento excelente. Se recomienda que las nuevas aplicaciones de acceso utilicen la última versión, porque después de docenas de actualizaciones de versión, el modelo de tareas del sistema, el modelo de interacción de la interfaz de usuario y el modelo de comunicación de programación subyacente se han optimizado y mejorado en gran medida, y las funciones principales son más estables y eficientes.
Hasta ahora, XXL-JOB se ha conectado a las líneas de productos en línea de muchas empresas, y los escenarios de acceso incluyen negocios de comercio electrónico, negocios O2O y operaciones de big data, etc. Según las últimas estadísticas, las empresas que XXL-JOB se ha conectado para incluir, entre otros:
Más empresas conectadas pueden registrarse en la dirección de registro. El registro es solo para promoción de productos.
Todos son bienvenidos a prestar atención y utilizarlo, XXL-JOB también aceptará los cambios y seguirá desarrollándose.
Contribuyendo
¡Las contribuciones son bienvenidas! Abra una solicitud de extracción para corregir un error o abra un problema para discutir una nueva característica o cambio.
¡Bienvenido a contribuir al proyecto! Por ejemplo, envíe un PR para corregir un error o cree un nuevo problema para discutir nuevas funciones o cambios.
Derechos de autor y licencia
Este producto es de código abierto y gratuito, y seguirá brindando soporte técnico comunitario gratuito para que los usuarios individuales o empresariales puedan acceder y utilizarlo.
El producto es de código abierto y gratuito, y se seguirá brindando soporte técnico comunitario gratuito. Puede ser accedido y utilizado libremente por individuos o empresas. Si es necesario, puede contactar al autor por correo electrónico para obtener la autorización gratuita del proyecto.
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 nuestra
ú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.
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 Materials.
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.
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 simple como ejecutarlo.
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. Consulte la sección.
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 escenas = 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}