showObj
Hecho con Rust 🦀

Visualizar objetos 3D en tu termial

showobj es una herramienta CLI escrita en Rust que renderiza wireframes de modelos 3D directamente en tu terminal con colores vibrantes y animaciones fluidas.

Terminal
$ showObj -m spaceship.obj --rotate

Caracteristicas Principales

showObj combina la potencia de Rust con técnicas avanzadas de renderizado para ofrecerte una experiencia única de visualización 3D en terminal.

Icon
Animación en Tiempo Real
Rota tus modelos 3D en los tres ejes con animaciones fluidas usando el flag --rotate.
Icon
Soporte .OBJ
Compatible con archivos .obj estándar, incluyendo vértices y caras para una representación precisa.
Icon
Multiplataforma
Funciona en Linux, macOS y Windows. Solo necesitas un terminal y el binario compilado.

Instalación Rápida

Comienza a usar showObj en minutos. Solo necesitas tener Rust instalado en tu sistema.

Desde Código Fuente
Clona el repositorio y compila desde el código fuente
# Clonar repositorio
git clone https://github.com/yousseffdil/3dViwer-rust.git
# Navegar al directorio
cd 3dViwer-rust
# Compilar en modo release
cargo build --release

Rust requerido

~2 minutos

Uso Básico
Comandos esenciales para empezar a usar showObj
# Mostrar un modelo básico
./showObj -m cube.obj
# Con animación de rotación
./showObj -m cube.obj --rotate
# Ver ayuda
./showObj --help
Modelos incluidos: cube.obj, sphere.obj, cylinder.obj
Soporte completo para archivos .obj estándar

Modelos de Ejemplo

showObj incluye varios modelos 3D de ejemplo para que puedas probar todas las funcionalidades inmediatamente después de la instalación.

Cubo

Modelo básico perfecto para empezar

./showObj -m cube.obj

8 vértices · 12 caras

Archivo: cube.obj

Esfera

Geometría esférica con múltiples subdivisiones

./showObj -m sphere.obj --rotate

482 vértices · 960 caras

Archivo: sphere.obj

Cilindro

Forma cilíndrica ideal para animaciones

./showObj -m cylinder.obj --rotate

64 vértices · 124 caras

Archivo: cylinder.obj

Suzanne

Modelo complejo de la mascota de Blender

./showObj -m szanne.obj

507 vértices · 1012 caras

Archivo: szanne.obj

Tecnología y Arquitectura

showObj está construido con tecnologías modernas que garantizan rendimiento, confiabilidad y una excelente experiencia de usuario.

🦀

Rust

Lenguaje de programación de sistemas de alto rendimiento

Memoria seguraConcurrencia sin miedoVelocidad nativa

Clap

Parser de argumentos de línea de comandos para Rust

Parsing robustoAyuda automáticaValidación de argumentos
🎨

Colored

Biblioteca para colorear texto en terminal

Colores RGBEstilos de textoCompatibilidad multiplataforma

Estructura del Proyecto

Organización modular del código fuente

src/
├── main.rs # CLI principal

Características Técnicas

Detalles de implementación y rendimiento

Lenguaje Rust 100%
Dependencias Mínimas
Rendimiento Nativo
Memoria Segura
Plataformas Multiplataforma

Roadmap y Ideas Futuras

Funcionalidades planeadas para próximas versiones

Zoom interactivo con scroll del mouse
Control de cámara desde teclado (WASD)
Más opciones de shading por intensidad
Exportar animaciones a GIF o video ASCII
Soporte para texturas básicas
Modo de renderizado en tiempo real