Josh Fry
Assignment 6: Independent study-ish thing

Rust Shader Animations:
First Iteration Here

Second Iteration Here

Still image and reference


If and when I go back to work on this, I'd really want the rust layer to be more bumpy and rough like the refrence. Additionally, I want there to be more layers to the paint, right now there's just the one, while in the reference you can see it wears through to a lighter area, and there's areas where it's more orange. Also, I really want to get the horizontal wearing and scratches in the paint. There's also some problems where I'd like the threshold between the rust and the paint to be based upon a smoothstep instead of a direct on/off switch as it is right now. It's not too bad, but it'd help smooth the edges of the paint. Finally, the dirt layer that comes in first on the paint really needs to be fixed, it's a bit too uniform and should be based more upon where the rust is first going to come through. It also gets too dark, and the paint is getting too dark in some of my final images because the rust is showing through accidentaly when it should not (something I recently figured out).

The Slim network

Test Box is essentially just creating a layer with banded color based upon a threshold of its noise input, it was going to be a lot more than that, but I wasn't getting bombing to look right for this situation.
From there I broke apart the colors into thier seperate channels with ColorToGrey nodes, and made these into the separate colors for the rust.


Below is the code in test box, a lot of it is unnecessary now that I changed methods. I want to clean this up and add in a variable to make the colors grow outward with the change in v2, also need to take out the noise input for color output value which is what's making rust show through in the paint areas.

----------------------------------------------
color surface_color = 0;
color layer_color = 0;
color layer_opac = 0;
float fuzz = 0.025;
point center;
float radius = .35;
float d;
float freq = 4;
float col, row, tmps, tmpt;
col = (floor((s) * (freq)));
row = (floor((t) * (freq)));

float ss = (mod((s) * (freq), 1.0)) + noi -.5;
float tt = (mod((t) * (freq), 1.0)) + noi -.5;

if(noi > v2){
center = (0.5, 0.5, 0);
radius = 1;
layer_color = color "hsv" (noi, noi, noi);
d = distance(center, point(ss, tt, 0));
//vestigial circle generation :) layer_opac = 1 - smoothstep(radius - fuzz, radius, d);
surface_color = ((surface_color) * (1 - (layer_opac)) + (layer_color) * (layer_opac));

}
result = surface_color;

----------------------------------------------
On the path to something rusty: 1 2 3 4 5 6 7 8 9