Comments (6)
Often the premultiply process is applied in a pre-build step to make loading at runtime faster. If images automatically performed this step on-load it would break any images that have already had this process applied (and also be much slower if you don't care about premultiplying the image).
So yes, it's currently all intentional. I'm not against making this process more clear, though, and perhaps adding more ways to simplify the process. It might also be nice to make a normal non-premultiplied blend option that can be used if you don't want to use the premultiply blending.
from foster.
Batcher uses 'premultiplied alpha' blending mode, but I'm not sure if Aseprite premultiplies images by default.
Try to premultiply images:
Aseprite sp = new Aseprite("Content/Sprites/test.ase");
var image = sp.RenderFrame(0);
image.Premultiply();
_tex = new Texture(image);
from foster.
Calling Premultiply()
seemed to work! I am actually just using png's though, not .ase
files for rendering these.
Image = new Image(path);
Image.Premultiply();
Is that the intended workflow, to call Premultiply()
if needed?
from foster.
I think Foster should automatically call it, since Batcher uses premultiplied blending by default.
from foster.
I see, that makes sense! Is there any information on the process of premultiplying images outside of at runtime?
from foster.
Generally
Is there any information on the process of premultiplying images outside of at runtime?
Generally you can just apply the premultiply and then save it as a .png/.qoi again. Or alternatively save it in some custom format for faster loading.
With the addition of NonPremultiplied blendmode I think I'll close this but later on when there's more docs making this clearer would be good.
from foster.
Related Issues (20)
- libFosterPlatform.dylib not built for Arm on macOS HOT 7
- A transparency bug that occurs when using an Aseprite file with multiple layers. HOT 3
- Move samples to their own repo
- Finalize/Dispose patterns HOT 4
- Room for more render performance HOT 4
- Graphics.Clear depth should be double, not int HOT 1
- Content / UserStorage APIs HOT 3
- Upgrade to .NET 8.0
- Don't run "UpdateLibs" step in build-libs.yml on pull requests
- Dynamic Sprite Font HOT 2
- Packer.CombineDuplicate incorrectly combines images when trimming HOT 1
- Get Display Size to determine if Window can fit
- App keeps running after the platform throws an error. HOT 2
- Module shutdown order HOT 3
- SDL gamepads and joysticks are not closed on shutdown HOT 2
- Add some repository tags HOT 1
- Nintendo and Sony Detection wrong (uses vendor and product instead of just vendor) HOT 10
- Add `Batcher.ImageStretch` HOT 1
- Text word wrapping HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from foster.