-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
VideoCommon: add graphics mod feature to change texture properties #11235
base: master
Are you sure you want to change the base?
VideoCommon: add graphics mod feature to change texture properties #11235
Conversation
ce9dabf
to
985af2d
Compare
I still think we should have a global option for this as well, but allowing this to be overridden per-texture is a great idea and probably quite useful. |
… on individual cache entries
… modes on an individual target
985af2d
to
3df1489
Compare
Is it possible to apply a texture filter to all textures when a specific game ID is loaded under this PR? That seems like a useful way to do this on a per-game basis without having to list potentially thousands of textures. |
No, wildcarding is not currently possible but it's something I'll consider in the future. It was avoided initially due to performance concerns. Also considering providing a tool for graphics mod creation. A wildcard feature doesn't necessarily fit there either but I will give it more thought. |
Oh this is gonna be nice for games that mix in pixel art, 2D sprites, etc. Expanding on the wildcard idea: Some games have "in-game arcades" (retro 2D console emulators like the Atari/NES/SNES/etc) that render each emulated frame as a texture. Being able to mark those specific generated textures as nearest-neighbour upscaled would be valuable. Edit with an example (ignore the surrounding textures also changing, I just set the Texture Filtering option in Dolphin):
|
I can't test atm since I can't find a build due to conflicts. I'll update the demo below to not affect the text "Loading" once I can. For now I'm just forcing Nearest globally. This mod should improve Pitfall's ( {
"meta": {
"title": "Sharp load animation",
"description": "Renders the load animation pixel art using Force Nearest",
"author": "Avasam"
},
"groups": [
{
"name": "Textures",
"targets": [
{
"type": "load_texture",
"prettyname": "harry_run_01",
"texture_filename": "tex1_32x32_9c34e129c32715d3_ed33768f2818534e_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_02",
"texture_filename": "tex1_32x32_6d066cd3588eb33c_52636a5d5e5975f6_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_03",
"texture_filename": "tex1_32x32_62ef270bc4a9afc1_2e23e74471c73050_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_04",
"texture_filename": "tex1_32x32_cb59516e19d109f8_52636a5d5e5975f6_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_05",
"texture_filename": "tex1_32x32_4130408174cebbef_2e23e74471c73050_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_06",
"texture_filename": "tex1_32x32_6a7ec037e869872b_5dbb709af0585d96_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_07",
"texture_filename": "tex1_32x32_309f3e07cfda7b75_7076d4a00c05131b_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_08",
"texture_filename": "tex1_32x32_a0a28397e56a66e6_ed33768f2818534e_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_09",
"texture_filename": "tex1_32x32_744700800b16808b_2e23e74471c73050_9"
},
{
"type": "load_texture",
"prettyname": "harry_run_10",
"texture_filename": "tex1_32x32_7241b51e0ae58f08_2e23e74471c73050_9"
}
]
}
],
"features": [
{
"group": "Textures",
"action": "set_texture_properties",
"action_data": {
"min_filter": "near",
"mag_filter": "near"
}
}
]
} Notice the blurry art and white outline.
|
Leverages #11225 . An alternative or replacement for #8645 .
This allows users to set different texture filtering or wrap modes on individual texture targets (or groups). This may be preferable with some textures (or some custom textures).
Before (game's default filtering)
After (custom filtering using nearest-neighbor for some textures in the scene)
Example for Sengoku Basara 3: Utage