Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fully implement the 'Merge Layers' operator. #158

Open
LoganFairbairn opened this issue Mar 5, 2024 · 4 comments
Open

Fully implement the 'Merge Layers' operator. #158

LoganFairbairn opened this issue Mar 5, 2024 · 4 comments
Assignees

Comments

@LoganFairbairn
Copy link
Owner

No description provided.

@LoganFairbairn LoganFairbairn converted this from a draft issue Mar 5, 2024
@LoganFairbairn
Copy link
Owner Author

In some cases, such as when two layers both use images to display data in their channels (as opposed to using procedural maps or data from values) it should be possible to merge the layers which can be extremely useful in some cases, and can help users optimize their materials as they work.

Layers might need to be marked as 'Paint Layers' for them to be able to be properly identify-able as being able to be merged.

@LoganFairbairn LoganFairbairn self-assigned this Mar 5, 2024
@LoganFairbairn LoganFairbairn moved this from Next to Backlogged in @LoganFairbairn's RyMat Mar 17, 2024
@LoganFairbairn
Copy link
Owner Author

This could be really good for helping users reduce the number of layers they use, however the implementation of it will likely be pretty difficult. Making an optimized, fast operator for merging full material layers would likely take a lot of time, so I'm back-logging this ticket for the time being.

@LoganFairbairn LoganFairbairn moved this from Backlogged to Done in @LoganFairbairn's RyMat Mar 17, 2024
@LoganFairbairn LoganFairbairn moved this from Done to Backlogged in @LoganFairbairn's RyMat Mar 17, 2024
@LoganFairbairn LoganFairbairn moved this from Backlogged to In Progress in @LoganFairbairn's RyMat Aug 4, 2024
@LoganFairbairn LoganFairbairn moved this from In Progress to Backlogged in @LoganFairbairn's RyMat Aug 4, 2024
@LoganFairbairn
Copy link
Owner Author

I've added an experimental merge layers operator as a new experimental feature, but making it efficient when the material uses many channels might not be possible.

Merging layers also requires masks to be converted to pixel data too, and when pixel data is calculated, it needs to take into account layer projection to properly merge.

@LoganFairbairn LoganFairbairn changed the title Add a 'Merge Layers' operator. Fully implement the 'Merge Layers' operator. Sep 21, 2024
@LoganFairbairn LoganFairbairn moved this from Likely Won't Fix to Backlogged in @LoganFairbairn's RyMat Dec 1, 2024
@LoganFairbairn LoganFairbairn moved this from Backlogged to In Progress in @LoganFairbairn's RyMat Dec 15, 2024
@LoganFairbairn
Copy link
Owner Author

After playing around with some numpy magic to attempt and merge layers faster than a baking operation would, I determined it's not feasible due to needing to account for 3D projection methods, and nodes that are difficult to translate to pixel data.

The merge layers operator however, can still be extremely useful in some cases if for nothing else than helping users manage their texture memory usage and layer count. I'm going to implement this feature using a modal baking operator, similar to how the mesh map and texture exporting operators in this add-on already work.

@LoganFairbairn LoganFairbairn moved this from In Progress to Next in @LoganFairbairn's RyMat Jan 2, 2025
@LoganFairbairn LoganFairbairn moved this from Next to Backlogged in @LoganFairbairn's RyMat Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlogged
Development

No branches or pull requests

1 participant