Rust vs C: Efecto de Fuego | El reto de la programación gráfica a mano

Описание к видео Rust vs C: Efecto de Fuego | El reto de la programación gráfica a mano

=== Rust vs C [1]: Efecto de Fuego === [[ Links más abajo ]]
¡Bienvenidos a la batalla de programación entre Rust y C! 🚀En este emocionante primer episodio, nos adentraremos en el mundo de los gráficos clásicos de demoscene, creando un impresionante efecto de fuego de los años 80 con Rust y C, utilizando Raylib 4.5. Te guiaremos paso a paso en esta aventura gráfica.

¡No te pierdas este inicio ardiente de una serie que promete!
🔥 Suscríbete y activa las notificaciones para no perderte ningún episodio.

¿Qué aprenderás?
* Introducción a Raylib: ¡No te preocupes si no lo conoces! Te presentaremos las nociones básicas para comenzar.
* Efecto de Fuego: Descubre cómo se crea este icónico efecto, desde su historia hasta su mecánica.
* Programación en Rust y C: Aprende a pintar píxeles en pantalla a mano y cómo implementar el efecto de fuego en ambos lenguajes. ¡Únete al TeamRust o al TeamC!

¿Por qué es tan especial el efecto de fuego?

Es más que un simple truco visual. Es un filtro de convolución, que puede sonar complejo, pero te mostraremos lo sencillo que es, aplicando un promedio ponderado de píxeles para crear cada nuevo color.

==== Contenidos ====
0:00:00 Introducción: Rust vs C: ¡La batalla comienza!
0:03:35 Demo de efecto de fuego clásico
0:07:50 Librería gráfica que usamos: Raylib.
0:10:03 Rust vs C 01: Resumen de temas
0:13:16 Crear un proyecto en Rust y en C: CMake y Cargo
0:26:29 Configurar el debugger en Rust y C con Visual Studio Code
0:46:57 Raylib: instalación para Rust y C (Linux Arch/Manjaro)
0:58:13 Raylib: abrir una ventaja en Rust y C. Uso de unsafe en Rust.
1:13:42 Raylib: gestionar la ventana en Rust y C. Funciones en Rust, encapsular unsafe.
1:28:43 Raylib: dibujar un pixel en modo fácil. Parámetros y objetos en Rust.
1:38:46 ¿Por qué es ineficiente dibujar píxeles uno a uno? CPU y GPU.
1:40:41 Raylib: dibujar píxeles a mano eficientemente. Imágenes y Texturas. Tipos, referencias y slices en Rust.
2:16:18 Raylib: refactorizar y organizar el dibujado en una función. Ownership y referencias en Rust.
2:26:00 Efecto de fuego: qué es y por qué usar una paleta
2:29:26 Efecto de fuego: generar una paleta sencilla y dibujarla. Rangos en arrays en Rust.
2:51:30 Efecto de fuego: semilla aleatoria (rescoldos / ashes). Random sencillo en Rust con tinyrand.
3:06:20 Efecto de fuego: convertir imagen de paleta a imagen de pantalla. Ver los rescoldos.
3:11:42 Efecto de fuego: convolución para calcular cada píxel. Conversiones de tipo en Rust.
3:23:37 Efecto de fuego completo funcionando
3:25:03 Ideas para hacer efectos de fuego espectaculares
3:27:19 Resumen: Ideas finales y reflexiones.

=== Materiales ===

Principales
* Máquina Virtual: https://archive.org/details/CPCtelera...
* Repositorio Git: https://github.com/Cheesetea-team/rus...
* Código fuente Rust: https://github.com/Cheesetea-team/rus...

Adicionales
* VirtualBox: https://www.virtualbox.org/wiki/Downl...
* Raylib: https://www.raylib.com/
* Rust: https://www.rust-lang.org/
* Manjaro: https://manjaro.org/

=== Sistema ===
Programamos C23 y Rust 1.71 con la siguiente configuración
- Linux Manjaro 6.1 x86_64
- GCC 13.0.1
- Clang 15.0.4
- Rust 1.71.1

#Clanguage #Rust #Coding #Programming

¡Hasta pronto!
#TeamC || Héctor Linares || @Hec_Linares
#TeamRust || Fran Gallego || @FranGallegoBR

=== Créditos ===
Generación de imágenes con StableDiffusion 2.5.48, StableDiffusionXL 1.0, RealisticVision v20, DreamSharper 6.31 y Deliberate v2
Retoques por Ribbet AI
Revisión y sugerencias por ChatGPT-4

=== Asset Licenses & Links ===
- Loading Bar On A Black Background ( https://www.videezy.com/after-effects... )
- Music by McKlain ( https://open.spotify.com/intl-es/arti... )
- - Take Off! - Reset #0 2011 winner ( https://open.spotify.com/intl-es/trac... )
- - Seagulls from Breaking Baud OST ( https://open.spotify.com/intl-es/trac... )

Комментарии

Информация по комментариям в разработке