Al Green
Al Green's Brother
Home -- News -- Articles -- Source Code -- Videos -- LinkedIn -- About

Ekte Programmering: Detaljer

Ekte Programmering logo av Sjur Julin
Bestill boken her: Lulu, Akademika, Amazon, Barnes & Noble
Boken er tilgjengelig på Nasjonalbiblioteket

Viktig lisensinformasjon

Vennligst les kapittel 23: Lisensinformasjon (PDF, 284KB) for alle detaljene.

Kapitler

Introduksjon

En tirade om prosessorer, språk og utviklingsmetoder

Tilbakeblikk på Amigaens tidsalder

Kryptiske tider

Basert på artikkelen SRTP AES Optimization og oppdateringer fra artikkelen SRTP AES Optimization Revisited.

Kildekode: srtp_aes_revisited_2016.zip (utforsk), srtp_aes_2010.c

Et jordskjelv! Dommedag kommer!

YouTube video 527AaVgh_gQ YouTube video 6qETWBmvrNA

Basert på artiklene MultiDoom og MultiQuake.

Kildekode for MultiDoom: multidoom_2014.zip (utforsk)

Kildekode for MultiQuake: multiquake_2014.zip (utforsk)

2014-versjonene er i prinsippet samme som 2010-versjonene, men de bruker TMC istedenfor iLib.

Kryptiske tider igjen

Basert på artikkelen AES Optimization on Tilera TILE-Gx.

Kildekode: aes_tilegx_2011.c

Forskning er vanskelig

Basert på artikkelen A look at Halide's SSE2 3x3 Box Filter.

Kildekode: box_sse2_2012.c

Rom og farger og layout

Basert på artiklene YUV420 to RGB Conversion using SSE2 og RGB to YUV conversion on Tilera TILE-Gx.

Kildekode for SSE2 YUV til RGB: yuv2rgb_sse2_2012.cpp

Kildekode for TILE-Gx RGB til YUV: rgb2yuv_tilegx_2013.cpp

Kildekode for fix.awk: fix_2013.awk

Separate veier og separable filtere

Basert på artikkelen Exploiting the Cache: Faster Separable Filters.

Kildekode: imagetrans_2018.zip (utforsk)

Koden ble skrevet i 2013, men jeg fikk ikke somlet meg til å skrive en artikkel om det før i 2018. ARM-versjonen ble skrevet i 2013 også, men først publisert i 2019.

Parallelle linjer og biblioteker

Basert på artikkelen Bilinear Picture Scaling on Tilera TILE-Gx.

Kildekode: tilegx_bilinear_par_2014.zip (utforsk)

Et godt navn er viktig

Kildekode for TILE-Gx Scharr filter: scharr_tilegx_2014.c

Kildekode for ARM NEON gjennomsnittsverdi av et område: average_neon_2014.c

Kryptiske tider igjen! Siste runde

Basert på artikkelen OpenSSL aes_core.c Replacement for Tilera TILE-Gx.

Kildekode: tilegx_aes_openssl_2015.zip (utforsk)

En GPU og noen fraktaler

YouTube video foJShe8jq1I YouTube video ShvUIA5C0GU YouTube video VYn1VnKMDak YouTube video X08FlIlhk20

Basert på artikkelen GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets.

Diverse forbedringer fra Nyhetsseksjonen har blitt integrert i boken.

Kildekode: gpu_hacks_2016.zip (utforsk)

Julia-kvaternioner. Hæ?

YouTube video hNaHf-Y7iqI

Basert på artikkelen GPU Hacks: Fractals, a Raytracer and Raytraced Quaternion Julia Sets.

Det anbefales å referere til implementasjonen i artikkelen Nvidia Jetson TX2 Xmas Demo 2017.

En GPU-raytracer

YouTube video lG2p2X-Dgr8 YouTube video KoaMyL2kVkQ

Basert på artikkelen GPURay - GPU+CPU Raytracer for NVidia Tegra X1.

Det anbefales å referere til implementasjonen i artikkelen Nvidia Jetson TX2 Xmas Demo 2017.

Kildekode: gpuray_2017.zip (utforsk)

En binær fixed point-raytracer

YouTube video Fn8R4toFun0 YouTube video 0vGjR_ptCj8

Basert på artikkelen Integer Raytracing on Tilera TILE-Gx.

Kildekode: tilegx_int_raytracer_2017.zip (utforsk)

En kopi og litt trigonometri

YouTube video BJzyPtwfMtE

Basert på artikkelen Nvidia Jetson TX2 Xmas Demo 2017.

Kildekode: xmasdemo_2017.zip (utforsk)

Kildekode for ARM Neon 2x4 atan2(): satan2_2017.cpp

Etter at boken ble publisert har vi laget en ny og bedre versjon, som kompilerer på både Linux og Windows. Shaderne skal også fungere på alle typer grafikkort. Og vi byttet ut all grafikken, musikken og fontene og fikset en busslast med bugs: The Xmas Demo 2020

Den hemmelige beskjeden i videoen ble ikke nevnt i boken. Den burde den ha vært, men det ble ikke gjort. En sjelden miss. Meldingen er "SrDt 3454", som er en referanse til The Great Ventilation and Telephone Riots of SRDT 3454.

Bayer, Bayer & Bayer

Kildekode for AVX2 Bayer til I420 konvertering: bayer_2018.c

Julia-kvaternionene angriper!

YouTube video iCDseNgfPsw

Stillbilder og kildekode: quat_2019.zip (utforsk)

Tekstopptegningsrutinene måtte dessverre fjernes grunnet opphavsrettsproblemer. Hvis kallene bare termineres så bør den funke fint.

Lisensbelagte bilder som ble benyttet finnes under, sammen med de modifiserte versjonene.

Bilder fra commons.wikimedia.org.
Lisens: Creative Commons Attribution-Share Alike 3.0 Unported

Tittel Artist Original Modifisert
Atlass Ano8675309 Atlass.jpg Atlass4.png
Ankerbrot / OBEY Harald Schilly Ankerbrot_-_OBEY_-_panoramio.jpg obey4.png

Atlass4 Obey4

Bilder fra pixabay.com.
Lisens: Pixabay License

Tittel Artist Original Modifisert
Men Individual Group Clker-Free-Vector-Images men-individual-group-community-311308/ unique_red.png
Paper Wall Structure Gerd Altmann paper-wall-structure-ban-font-109277 unacceptable.png

Unique Red Unacceptable

Restaurering

YouTube video 3ORZe2FwHyQ YouTube video rtrriyFqFDw

Stillbilder og kildekode for VHS video resampler: cliffy_2019.zip (utforsk)

Bør bygge med Visual Studio Community i x64-modus, men videofilen mangler. Den er ganske stor (30 GB+). Ta kontakt hvis du vil ha en kopi.

A Jilted Generation

YouTube video QSK9z78lRlE YouTube video pgRTLwWNOSY

Stillbilder, videofiler og kildekode for Dreamscape and Eclipse: The Final Cut: remix2_2019.zip (utforsk)

Stillbilder, videofiler og kildekode for Dreamscape: The Missing Scene: recycler_2020.zip (utforsk)

Bør også bygge med Visual Studio Community i x64-modus, men MPEG-1-filene må konverteres til rå YUV444 med FFmpeg.

Kildekode for Invention, med bugfix: Invention_TG94_2020.zip (utforsk)

Det store bildet

Lisensinformasjon

American flag Also available in English: Real Programming American flag

Bestill boken her: Lulu, Akademika, Amazon, Barnes & Noble
Boken er tilgjengelig på Nasjonalbiblioteket

Ekte Programmering Norwegian flag
American flag Real Programming
Ignorantus AS