Ocarina of Time UHD texture replacement, Shaders, & Romhack (by me)
Moderators: Marilink, Booyakasha
- Deepfake
- Supermod
- Posts: 41517
- Joined: Sun Aug 18, 2002 1:00 am
- Location: Enough. My tilde has tired and shall take its leave of you.
- Has thanked: 430 times
- Been thanked: 202 times
- Contact:
^^^ Also, in regards to texture detail the fact that the engine doesn't support normal mapping is in someways a blessing in disguise. Normally modern game engines have to load multiple textures for a single surface, which definitely eats into video RAM. Keeping that and the game's sparse use of textures in mind, I can replace a 256x256 texture in the community hires pack with a 1024x1024 or more image and not sweat it.
If I replace a hires pack texture which is 128x128 with one as high as 2048x2048, I am increasing the possible detail by about 256 times. In many instances, that may actually be well in excess of what the game environment demands.
If I replace a hires pack texture which is 128x128 with one as high as 2048x2048, I am increasing the possible detail by about 256 times. In many instances, that may actually be well in excess of what the game environment demands.
I muttered 'light as a board, stiff as a feather' for 2 days straight and now I've ascended, ;aughing at olympus and zeus is crying
- Apollo the Just
- Posts: 16079
- Joined: Mon Jun 19, 2006 3:37 pm
- Location: Piccolo is Gohan's Real Dad
- Has thanked: 589 times
- Been thanked: 809 times
- Contact:
- DarkZero
- Posts: 35511
- Joined: Tue Oct 02, 2007 2:15 pm
- Has thanked: 398 times
- Been thanked: 1074 times
- Contact:
- Deepfake
- Supermod
- Posts: 41517
- Joined: Sun Aug 18, 2002 1:00 am
- Location: Enough. My tilde has tired and shall take its leave of you.
- Has thanked: 430 times
- Been thanked: 202 times
- Contact:
Doing this kind of thing is a bit complicated but worth it. While it's being mapped to the inside of a cube, since the player is always in the same position in relation to it you can correct the distortion approaching the corners of the cube. I did this by modeling the clouds individually, I made a volumetric material shader which controls light dispersal and penetration. I rendered it with a fisheye lens facing upward, it grabs a hemi-sphere image and projects it to a 2D circular shape. Then I took that render, applied it to the inside of an actual hemisphere, and projected that onto a cube by generating an environmental reflection map. Environmental maps record the reflections around the object they are assigned to, so you can bake in reflections to a texture and not have to render it every time you want to re-render a scene with a reflective object. Older games like Super Mario 64 use environment maps to imitate reflection in realtime without having to do anything complex.
I muttered 'light as a board, stiff as a feather' for 2 days straight and now I've ascended, ;aughing at olympus and zeus is crying
- Deepfake
- Supermod
- Posts: 41517
- Joined: Sun Aug 18, 2002 1:00 am
- Location: Enough. My tilde has tired and shall take its leave of you.
- Has thanked: 430 times
- Been thanked: 202 times
- Contact:
I've mostly finished the sunset skybox, which was a bit more complex because I chose to actually process light shafts and light scattering/absoption in the atmosphere. I used about 5 different methods to render light shafts and scattering in the clouds, and then combined all of them. Unfortunately, I'll have to do the same as before and label each tile for the sunset/sunrise to figure out their relation to one another.
I muttered 'light as a board, stiff as a feather' for 2 days straight and now I've ascended, ;aughing at olympus and zeus is crying
- Wicked Witch of the Crest
- Posts: 3808
- Joined: Tue May 04, 2004 1:00 am
- Location: Mt. Moon
- Contact:
- Daos
- Posts: 8878
- Joined: Sat Apr 20, 2002 1:00 am
- Location: Earth
Dang, that is looking good.
I am terror, I am Daos."http://www.vgf.com/forums/zelda-forum/5 ... n-ups.html"
- Deepfake
- Supermod
- Posts: 41517
- Joined: Sun Aug 18, 2002 1:00 am
- Location: Enough. My tilde has tired and shall take its leave of you.
- Has thanked: 430 times
- Been thanked: 202 times
- Contact:
New grass textures for Hyrule Field. Here's a comparison.
Vanilla:
New textures, no shaders or model changes:
It may be a bit dark at the moment, we'll see about that. I will also try to add in some of those dry patches that we see in the original, although I don't think I want them to pop out quite so much.
I made the fine grass texture by utilising some perspective trickery, so some blades should look like they're actually upright, at least while it is still, from most angles the player will see it from. A shot like the one in the screen above is near ideal. Also used some color tricks to make the clumps really pop out and look like they have depth. Easiest way to do that without really conflicting with the shading engine is to use colors to indicate direction in 3D. Color one side of the clump more red, the opposite side more blue, and the eye will interpret it as separate light sources. This way you can shade in direction in a neutral fashion that doesn't use shade values as the normal lighting engine does.
Vanilla:

New textures, no shaders or model changes:

It may be a bit dark at the moment, we'll see about that. I will also try to add in some of those dry patches that we see in the original, although I don't think I want them to pop out quite so much.
I made the fine grass texture by utilising some perspective trickery, so some blades should look like they're actually upright, at least while it is still, from most angles the player will see it from. A shot like the one in the screen above is near ideal. Also used some color tricks to make the clumps really pop out and look like they have depth. Easiest way to do that without really conflicting with the shading engine is to use colors to indicate direction in 3D. Color one side of the clump more red, the opposite side more blue, and the eye will interpret it as separate light sources. This way you can shade in direction in a neutral fashion that doesn't use shade values as the normal lighting engine does.
I muttered 'light as a board, stiff as a feather' for 2 days straight and now I've ascended, ;aughing at olympus and zeus is crying
- CaptHayfever
- Supermod
- Posts: 38853
- Joined: Tue Jul 16, 2002 1:00 am
- Location: (n) - the place where I am
- Has thanked: 952 times
- Been thanked: 260 times
- Contact:
- Deepfake
- Supermod
- Posts: 41517
- Joined: Sun Aug 18, 2002 1:00 am
- Location: Enough. My tilde has tired and shall take its leave of you.
- Has thanked: 430 times
- Been thanked: 202 times
- Contact:
I've done more work on the grass. I added in the dry patches imitating roughly the same pattern in the vanilla texture, changed the color dynamics a bit to make the green more emerald and the dry patches a warmer, more neutral hue. I've also modified the color shaders again.
Here are some screens with current version of the shader:


For the time being I've disabled the depth-buffer access for Reshade as this allows me to enable the frame-buffer and depth-buffer emulation in GLideN64. The benefits of the Ambient Occlusion and other depth-based shaders were not truly apparent enough that they are worth the hit. I will leave the current configuration with the shader to be enabled with a hotkey, if the user prefers them on, but for now I think the benefits of having proper mip-mapping, hardware SSAA, proper anisotropic smoothing, as well as enabling the frame buffer, are much more apparent when the image is moving and the game is actually in use.
The listed procedures in the former sentence actually make the pixel noise from high-detail textures nearly indetectable while keeping distant textures recognisable. The frame-buffer is necessary for models in the inventory to display properly, as the engine is actually converting them to texture via the frame-buffer to combine them with the menu. It may also be used for things like corona lens flares, etc, if they're present in the game.
Here are some screens with current version of the shader:


For the time being I've disabled the depth-buffer access for Reshade as this allows me to enable the frame-buffer and depth-buffer emulation in GLideN64. The benefits of the Ambient Occlusion and other depth-based shaders were not truly apparent enough that they are worth the hit. I will leave the current configuration with the shader to be enabled with a hotkey, if the user prefers them on, but for now I think the benefits of having proper mip-mapping, hardware SSAA, proper anisotropic smoothing, as well as enabling the frame buffer, are much more apparent when the image is moving and the game is actually in use.
The listed procedures in the former sentence actually make the pixel noise from high-detail textures nearly indetectable while keeping distant textures recognisable. The frame-buffer is necessary for models in the inventory to display properly, as the engine is actually converting them to texture via the frame-buffer to combine them with the menu. It may also be used for things like corona lens flares, etc, if they're present in the game.
I muttered 'light as a board, stiff as a feather' for 2 days straight and now I've ascended, ;aughing at olympus and zeus is crying
- DarkZero
- Posts: 35511
- Joined: Tue Oct 02, 2007 2:15 pm
- Has thanked: 398 times
- Been thanked: 1074 times
- Contact:
- Deepfake
- Supermod
- Posts: 41517
- Joined: Sun Aug 18, 2002 1:00 am
- Location: Enough. My tilde has tired and shall take its leave of you.
- Has thanked: 430 times
- Been thanked: 202 times
- Contact:
[QUOTE="HarkZero, post: 1617909, member: 34654"]I know it's still a WIP and all but there's something funny to me about seeing Hyrule Field with a beautiful new sky, lush grass, and ambient shading, and there's low-poly Link plopped in the middle of it[/QUOTE]
Yeah, I'm hoping I won't have the worst time in the world importing models, but no telling how well the game will work the rigging for animations and all. I think the model for Link holds up surprisingly well compared to many from the era, but an upgrade would be nice.
Yeah, I'm hoping I won't have the worst time in the world importing models, but no telling how well the game will work the rigging for animations and all. I think the model for Link holds up surprisingly well compared to many from the era, but an upgrade would be nice.
I muttered 'light as a board, stiff as a feather' for 2 days straight and now I've ascended, ;aughing at olympus and zeus is crying
- Deepfake
- Supermod
- Posts: 41517
- Joined: Sun Aug 18, 2002 1:00 am
- Location: Enough. My tilde has tired and shall take its leave of you.
- Has thanked: 430 times
- Been thanked: 202 times
- Contact:
More work on the field grass. I did what I could to work with the shapes and rebalance the colors of the original field textures, and balanced the shaders with the color being as vibrant as possible, got the details the right proportions, and now it's time to take that and build what I want with it. Time being I've disabled the color lookup table because it was configured to adjust for the vanilla hues somewhat.

What I intended to accomplish: The original patterning is very uniformly lit, overbright and visually implies a very dry environment. This is about as far as I can take it in the opposite direction. I also worked very hard to break up and shrink the dry grass/dirt patches and make them make a lot more natural. I want to give the impression of a very alive, damp, northerly/mountainous environment where one might find many cliffs and more plantlife.
Contrast-wise, I think this is the right direction. Link stands out better against a darker backdrop. I may be able to bright the scene up a bit, but right now the shaders are darkening the low levels a bit more so without them on the colors will look more neutral as is. These shots have all been with the time of day set to morning, and I will be trying to balance the lighting schema with the colors more through the engine mods and such.
As always, this is a WIP and for my preferences so I'll ask you to please keep that in mind. I don't mind discussing the logic behind my choices overall and if you personally would make different decisions, I would prefer that you state as much in a "If I were making a mod/this mod, I would do X" as that will express your preference as a preference. Thank you for respecting that.
Please do let me know if you like it, and/or what you like about it. If you can express something you see here that you like, I may take that into consideration and emphasize/enhance that feature in a way that makes sense for the project. Cheers, thanks for following!
EDIT: FWIW I've just noticed that my browser and/or the host, Postimage, has apparently loaded the screenshot with a different color profile, making the darks look darker than they should. I'll try and see what the cause is.
EDIT2: The gamma changes are happening in Firefox. Chrome loads the gamma settings properly. For accurate color, view in Chrome.
EDIT3: Fixed the link, should appear correctly now. Postimage was giving me a link to a resized version which did not have a color profile.

What I intended to accomplish: The original patterning is very uniformly lit, overbright and visually implies a very dry environment. This is about as far as I can take it in the opposite direction. I also worked very hard to break up and shrink the dry grass/dirt patches and make them make a lot more natural. I want to give the impression of a very alive, damp, northerly/mountainous environment where one might find many cliffs and more plantlife.
Contrast-wise, I think this is the right direction. Link stands out better against a darker backdrop. I may be able to bright the scene up a bit, but right now the shaders are darkening the low levels a bit more so without them on the colors will look more neutral as is. These shots have all been with the time of day set to morning, and I will be trying to balance the lighting schema with the colors more through the engine mods and such.
As always, this is a WIP and for my preferences so I'll ask you to please keep that in mind. I don't mind discussing the logic behind my choices overall and if you personally would make different decisions, I would prefer that you state as much in a "If I were making a mod/this mod, I would do X" as that will express your preference as a preference. Thank you for respecting that.
Please do let me know if you like it, and/or what you like about it. If you can express something you see here that you like, I may take that into consideration and emphasize/enhance that feature in a way that makes sense for the project. Cheers, thanks for following!
EDIT: FWIW I've just noticed that my browser and/or the host, Postimage, has apparently loaded the screenshot with a different color profile, making the darks look darker than they should. I'll try and see what the cause is.
EDIT2: The gamma changes are happening in Firefox. Chrome loads the gamma settings properly. For accurate color, view in Chrome.
EDIT3: Fixed the link, should appear correctly now. Postimage was giving me a link to a resized version which did not have a color profile.
I muttered 'light as a board, stiff as a feather' for 2 days straight and now I've ascended, ;aughing at olympus and zeus is crying
- Apollo the Just
- Posts: 16079
- Joined: Mon Jun 19, 2006 3:37 pm
- Location: Piccolo is Gohan's Real Dad
- Has thanked: 589 times
- Been thanked: 809 times
- Contact: