Compressing with BC1 with custom RGB ({R,G,B,white point} xy-coordinate, "gamma") seem to be profitable Bench: sRGB -> Compute custom RGB -> Compress BC1 -> Uncompress -> Inverse Custom RGB to sRGB -> Measure Error vs Original Result: +2% to -18% size of the BC1 compressed.
Soufiane KHIAT
@soufianekhiat.bsky.social
Lead Rendering Software Engineer At @EA - @CriterionGames, ex @Unity3d, ex @UbisoftMTL All expressed opinions are my own
#Alwan what if before compressing an image we specialize the RGB space: chromaticities coordinate, white point and gamma function (here 16 bits to 8 bits) before sending it to a regular compression algorithm (qoi, png, JPEG, ...) github.com/soufianek...
#Alwan the "Auto Exposure" from image formation seem stable enough for videos. 1/2
Alwan 2.0.0 is out. Colour science in pure C11, first public release. Almost a year! No dependencies. f32 and f64 in one binary. A core that compiles unchanged as C, HLSL, GLSL and Halide. MIT. github.com/soufianek... 1/28
This thread have a title: "I discussed with @troy_s and everything became more complex" So: How to treat "out of gamut" pixels in "picture formation". 1/21
Illustration of "ideas are free" Discussing with @troy_s, now I'm convience that all algorithms to "process" "out of gamut" are wrong, working on it, but not trivial, here an illustration of all iterations without explaination!
Do you want an 340000x, 2500x, 96x in your code? I was playing with @blosc.org in fact that is simple: Data -> Filter -> Codec (compressed) -> Codec_inv -> Filter_inv -> Data. What if we can do operations in Filter-Space without decoding it? Let's do a simple box-blur 1/11
Experiences on "Physically Based" Colour Pickers on DearWidgets: Water/Ocean: 1/10
13,6°C au dessus des températures de référence pour un 25 mai à Brest ! En moyenne, en France, les températures sont 9,9°C au-dessus des références. Le bon moment pour reparler de l'accélération de la sortie des énergies fossiles et du changement de modèle agricole. www.franceinfo.fr/environnemen...
A chaque vague de chaleur, ils disent "c'est normal, c'est l'été". Au mois de mai, ce n'est pas l'été : totalement impossibles (en mai) avant, désormais possibles dans un monde à 2°C, et probablement courantes dans une France à +4°C, elles sont plus précoces, plus intenses, plus longues.
I have a niche and technical question for Graphics community. Context: 0. For integration, when you have an HDRI latlong. 1/5
Still working on DearWidgets (github.com/soufianek... DearWidgets ) here some features not yet published: * Up Vector * Spline Slider 1/5
Let's say I want gradient or an image in Glyph/Font (ImGui only so UV and VertexColor only!). That's mean I need to have triangulated mesh with preserved UV from bunch of quadratic curves. 1/5
Finally! All of that for just showing a dynamic illustration in app! Bunch of algorithms was implemented for this dynamic illustration. WIP version available (github.com/soufianek... no LaTeX yet!) Depends on ImPlatform for custom shaders github.com/soufianek... 1/4
Finally having Gradient, Ligature, kerning, Right to Left working. 1/4
I think I found a new Rabbit Hole. Adding support for colored font (SVG and COLR v0):
It cost me 3 ALU ops, but all fixed now all exotic fonts works.
My attempt of rendering font with Slug Algo from the reference implementation of shaders (thanks Eric Lengyel). Still having issue with thin stroke of some font, suspect my adaptative sampling. 1/3
forgot to share the link to the github for: bsky.app/profile/souf... github.com/soufianekhiat/
soufianekhiat - Overview
Graphics Open Source Code & R&D & Free. soufianekhiat has 46 repositories available. Follow their code on GitHub.
github.com
Graphics Programming weekly - Issue 432 - March 15th, 2026 www.jendrikillner.com/post/graphic...
My attempt of rendering font with Slug Algo from the reference implementation of shaders (thanks Eric Lengyel). Still having issue with thin stroke of some font, suspect my adaptative sampling. 1/3
Qaws (قوس) Arabic for *arc*, *bow*, *curve*. A dependency-free C11 library for creating, evaluating, sampling, traversing, and inspecting parametric curves and surfaces in 2D and 3D. A dependency-free C11 library for parametric curves and surfaces in 2D/3D. 1/13
Introducing Alwan (ألوان): A pure C colour science library 100+ RGB spaces, 30+ colour spaces, ACES 1.x & 2.0, spectral processing, CAMs, ... Zero dependencies. Unit tested against colour-science f32 or f64 floats. Looking for reviewers before public release (DM for repo). 1/15
I will release the first official #ImAnim 1.0.0 github.com/soufianek... github.com/soufianek... 1/10
I'll add debug timeline and in app documentation for the next version of #ImAnim.
I've been reading about color science for my book and I wanted to verify the claim that Oklab gives better linear gradients than the otherwise excellent "CAM16-UCS" color space. And yes, its gradient obviously too desaturated in this test. Oklab's ancestor "IPT" also works fine.
Want to talk about ImAnim: Animation Engine for Dear ImGui (@ocornut.bsky.social)? (: news.ycombinator.com/item?id=4610... github.com/soufianekhia... 1/8
Much more examples available in the demo project. Next step perf! * Lazy eval: cost only after the first execution of an animation * Culling!
New project: ImAnim "Animation Engine for Dear ImGui" by @soufianekhiat.bsky.social - Repo github.com/soufianekhia... - Post github.com/ocornut/imgu...
My team is hiring. Let's join Battlefield 6 Rendering Team (Montréal). jobs.ea.com/en_US/ca...
The work continue to deliver the best experience!
Battlefield 6 Official PC Trailer
Battlefield 6 brings the most advanced PC experience in franchise history with 4K visuals, uncapped frame rates, ultrawide support, and over 600 customization options. Protected by Javelin Anti-Cheat and powered by NVIDIA DLSS, Intel XeSS, and AMD FSR, this is Battlefield built for the ultimate PC e
youtube.com
After years of work, I am proud to show what we achieved with our rendering team between @CriterionGames and @EA_DICE and the rest of the world. youtu.be/pgNCgJG0vnY
Battlefield 6 Official Reveal Trailer
Lock in for the Battlefield 6 multiplayer gameplay world reveal on July 31: https://youtube.com/live/c_BRbvYxgOY Witness the vicious path of destruction carved by Pax Armata, the world’s leading private military company. PAX pursues the destruction of NATO and its allies, stopping at nothing to uph
youtu.be