Skip to content

[SM64] Bleed independently implementation in materials#669

Open
Lilaa3 wants to merge 3 commits intoFast-64:mainfrom
Lilaa3:bleed-independent-per-material
Open

[SM64] Bleed independently implementation in materials#669
Lilaa3 wants to merge 3 commits intoFast-64:mainfrom
Lilaa3:bleed-independent-per-material

Conversation

@Lilaa3
Copy link
Copy Markdown
Collaborator

@Lilaa3 Lilaa3 commented Feb 18, 2026

I don´t have time to finish it today.
This is UNFINISHED and does not work. it's just a proof of concept. Code also needs cleanup

@Lilaa3 Lilaa3 added enhancement New feature or request sm64 Has to do with the Super Mario 64 side labels Feb 18, 2026
@Lilaa3 Lilaa3 marked this pull request as draft February 18, 2026 14:55
@Lilaa3 Lilaa3 force-pushed the bleed-independent-per-material branch from 6616740 to f155db6 Compare February 20, 2026 01:40
@Lilaa3 Lilaa3 force-pushed the bleed-independent-per-material branch from 7b211b7 to 927094b Compare February 20, 2026 02:12
@Lilaa3 Lilaa3 marked this pull request as ready for review April 10, 2026 14:47
@Lilaa3
Copy link
Copy Markdown
Collaborator Author

Lilaa3 commented Apr 10, 2026

I believe it was working last time I worked on this. But code may not be up to standard. Reviews welcome.

Copy link
Copy Markdown
Contributor

@Dragorn421 Dragorn421 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bleeding is still wizardry to me!

fMaterial.usedLights.append(key)
self.lights[key] = value

def dedup_name(self, name: str, names: list):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
def dedup_name(self, name: str, names: list):
def dedup_name(self, name: str, names: Container[str]):

+ from collections.abc import Container

loopDict = {}
for material_index, skinnedFaceArray in sorted(skinnedFaces.items()):
# These MUST be arrays (not dicts) as order is important
# TODO: in modern python dicts are ordered, is this really still needed?
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blender 3.2 packs Python 3.10 and dicts are defined as ordered since python 3.7


# while load mode is always written, they may not set the same range of values and therefor need revert
for revert_cmd in revert_other_load_cmd:
# try to find equivelent load othermode command in the current material and the previous material's revert
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# try to find equivelent load othermode command in the current material and the previous material's revert
# try to find equivalent load othermode command in the current material and the previous material's revert

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request sm64 Has to do with the Super Mario 64 side

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants