FreshRSS

Zobrazení pro čtení

Jsou dostupné nové články, klikněte pro obnovení stránky.

DirectX/SlimDX Alpha Blending

Hoping someone might be able to offer some advice for an issue i am having.

I am working on abit of a project, mainly for learning, which is loading and rendering graphics from an old mmorpg i used to play a long time ago called Helbreath.

The loading and rendering of the data/graphics is fine and i have managed that without issue… until it came to the spell/effects which need to be blended. The original games source code was leaked hence how i know how to read the files. Originally it used DirectDraw and i think they implemented their own blending system by reading the pixel data from the render surface and performing abit of math on it, but i might be wrong im not super familiar with C++ or DirectDraw.

The original image files are 24bit bitmaps with no alpha channel and a pure black background, this is a sample sprite sheet pulled from the games original libraries.

enter image description here

This is a sample of how i am getting the effects/spells to currently blend but i think they are too weak and i was wondering if there is a way to make them more vibrant and less washed out.

enter image description here

I am currently using these settings to perform the blending, i have spent a while messing around with mixing settings around to try and get the result i want but with no luck.

enter image description here

This is my first attempt at using SlimDX/DirectX so any advice would be appreciated.

For comparison here are those same effects over a black background, which is kinda the vibrancy i was hoping for.

enter image description here

I guess im kinda after the effect where the pure black pixels are fully transparent, but the colored parts of the sprite i was hoping to like apply a weighting to say take more from the source and less from the destination making it in my mind darker/more vibrant/more saturated.

I might just be completely not understanding how this works of course!

Thanks in advance for any advice or tips!

❌