Final Render
Reference & Inspiration
Render without Displacement
Wireframe
Shading Networks
Expression Node
SEM Artificial Directional Light OSL code
shader
SEM_Edge(
color front_color = color(0.1,0.1,0.1),
color edge_color = color(1,1,1),
float strength = 3,
output color resultRGB = 0)
{
vector i = normalize(I);
vector n = normalize(N);
float d = 1 - fabs(dot(n,-i)); //returns the angle expresseed as a cosine value
resultRGB = mix(edge_color, front_color, pow(d, strength));
}
SEM Micro Edge OSL code
// A fake directional light source using parallel "light"
shader SEM_Direction(
vector direction = vector(0,1,0),
color facecolor = 1,
color rearcolor = 0.2,
float strength = 4,
string coordname = "world",
output color resultRGB = 0)
{
normal n = normalize(N);
vector vec = transform(coordname, direction);
float dp = clamp(dot(n, vec), 0, 1);
resultRGB = mix(rearcolor, facecolor, pow(dp, strength));
}
Final Thoughts
I'm not completely happy with how this project turned out because I feel like the texture needs significantly more experimentation to achieve the tiny pinhole like texture with more smoothness and shininess. I worked incredibly hard on this project and am really proud of the hard work that I put into attempting to refine the texture and being as precise as possible with the placement and shape of the emerging spheres. With more time I would have also found a way to add the small curve filaments at a higher quality. When I added too many of them, a weird artifact would show up in my render. With this increased time I would have troubleshooted this.