michaellarouche.bsky.social
Senior Programmer (Contractor) for Digital Eclipse on behalf of @coldbytes.bsky.social. Zig programming language fan. Profile picture by @johanvinet.com. FR/EN/日本語(勉強しています).
44 posts
248 followers
278 following
Regular Contributor
Active Commenter
comment in response to
post
Mais y penser, mais la réponse risque de être dans le négatif lol
comment in response to
post
Yup je fais le platinum dès que ça sort sur Plesthéshieune
comment in response to
post
Il y a 10 ans j’avais fait une série de vidéos pour célébrer sa musique: youtube.com/playlist?lis...
comment in response to
post
Je les ai vu en 2014 et ça reste un des meilleurs shows à vie
comment in response to
post
As a millennial
comment in response to
post
That photo is epic!
comment in response to
post
And that stealthy Changeable Guardian Esquire in the Analogue NT
comment in response to
post
Even here it’s colder than usual
comment in response to
post
Being a user of a CPAP since 2021 and I have way more energy during the day and I wasn’t falling alseep during the day before. Looks like in your case it will be super transformative! Don’t expect results immediately and keep up using the machine once you get it.
comment in response to
post
Similar here
comment in response to
post
Link to the past font!
comment in response to
post
One of my favorites early 80’s arcade games
comment in response to
post
No way!
comment in response to
post
It really was
comment in response to
post
comment in response to
post
I was going to post that exact factoid lol
comment in response to
post
What the hell lol, those people needed a life
comment in response to
post
Pics or it didn’t happen
comment in response to
post
And the result. We did this project at Tribute from 2016 as a spare project until I left in 2018. Before leaving I had stop working on that NES project to work on a new graphics backend during that spare project for the C++ engine they have at the time.
comment in response to
post
And last the CHR bank editor. Allow to specify banks of CHR data of 1K, 2K and 4K size and specify the source of graphics data to put into that bank.
You could specify an offset so it added tile padding for you.
comment in response to
post
The palette editor with a popup to select the color from the color available on the NES
comment in response to
post
For individual images, you can specify in the metadata if you want to optimize the tiles. For fonts for instance you don't want optimization.
It supported metatile importation as well
comment in response to
post
The animation tool. For whole animation, you can set in which CHR ROM slot in RAM it will be set.
You can also group smaller animation together so they go into the same CHR 1K Bank, reducing CHR bank change.
You can change the algorithm to chop up the sprites into tiles with color separation.
comment in response to
post
I wish we could have done more on that NES game project.
comment in response to
post
Oh, I am using a depth buffer to manager Z layers so that's why I need to discard empty pixels early.
comment in response to
post
So to summarize, the idea is:
* Store the indices as pixel value of a single channel texture
* Store the palette into a buffer instead of a texture for easier reading and less memory usage.
* Sample the indice and fetch the color from the palette in the pixel shader.
comment in response to
post
The palette data is stored in a GPU-optimized buffer that is sub-allocated from 65536 bytes, the minimum buffer size allowed. It allows to store up 16384 colors, more than enough for storing lots of palette, like 1024 palette of 16 colors.
comment in response to
post
The other input is a structured buffer contained the palette as uint array.
We then sample the texture to get the palette index and read the packed color from the palette. It is then unpacked into a float4.
Before I used R8_UINT texture and Load() but using UNORM permit more filtering options.
comment in response to
post
The shader is taking a grayscale texture and interpret it as a single channel R8_UNORM texture. The grayscale texture is generated from an offline tool (for now) that read indexed images and write the the indices as grayscale values and write it to a PNG (which supports grayscale pixel format).
comment in response to
post
Beside the blue pants fighter, all the other fighters are using the palette shader + tint color (color mutiplication) + overlay color.
comment in response to
post
Thank you for doing that :)