May 2, 2017 at 5:00 pm #2532
Challenge 03: Retroreflector. Time to start brushing up on your light related physics guys. This is not going to be an easy one. It was even incredibly hard to take a good reference picture of this special, yet common material. Not only does it reflect light almost only exactly in the direction of the light hitting the surface, but there are some very cool diffraction effects going on at steep angles too.
This challenge we’re going to do some things differently. SHADERSXYZ is actively evolving and we’re constantly trying to improve the concept. There’s some cool things on the horizon, and this month there will be a voting panel of industry experts in lookdevelopment – working at Pixar, ILM, Framestore, Double Negative and MPC.
This month, you will also need to submit multiple images (3 total), due to the uniqueness of the material. One where you have a small light source roughly in front of the lens, and two images with the light -20 and 20 degree angles from the camera. This will truly show the retroreflector capacities of your crafted material. If you can, a video of the light source moving around the material will of course show it off the best and get you some respect points, but we can’t make that a requirement due to limited computing resources of many participants.
We’re also asking to share your scene files from here on, to create more of an open-source spirit, much like what is going on in the Houdini community these days.
It was super interesting to see so many people having a go at our last challenge, exposing the shortfalls of the current light transport algorithms. It seems like especially in the coloured shadow area, there were quite a few issues. Thanks to all who participated. For what it’s worth, once again, we’ve heard some very positive things from top people in the industry. People are watching and it’s a fantastic opportunity to show your skillset to them.
In sunlight, just as reference for the microscopic detail.
To fully understand the behavior of the material, video footage is required.
The initial scene setup is very straightforward and only takes 5 minutes. It is important that we standardize scene conditions between contributors, so please make sure that you’re not setting up the scene differently.
- Download and extract the .zip package.
- Open or load in the alembic, containing the scene geometry and camera.
- Assign a lambertian material to the floor geometry, assign the checker texture map [tex/checker_floor.tif] to the color slot.
- Repeat step 3 for the macbeth chart [tex/macbeth_chart.tif].
- Create a 3 small light sources (iPhone flashlight in the reference) and place them at the locator positions in the scene file. For each render, only enable one at a time.
The default setup should look like the following. Please ignore the material of the cone.
Please make sure to post renders using this setup. It is allowed to post extra renders using your own light setup. Since the shared light setup is at the core of the challenge, this will be heavily moderated. You’ve been warned!
What is expected of you?
This month, 3 renders need to be submitted. One with the small light source directly in front of the camera and at -20 and 20 degrees. This is necessary to properly judge the shader.
The focus of these challenges is on sharing shading knowledge. Explain the shading setup in as much detail as you can be bothered to do. Think of shaders.xyz as a sort of open source project. Please, also share your scene file if possible. This is not a requirement, but would be very nice.
About creating extra geometry – just try to think if it would work in a shading pipeline. If you think it would be practical, go for it.
Feel free to post WIPs in this thread.
For now, please use “auto” for the width and height attributes when uploading images. This is needed to display them correctly.
To tag others in a post, use the “@” symbol.
To avoid image compression, upload .png instead of .jpg! This is something we’re working on to avoid.
That’s all! The winner gets picked by the admin team on the 1st of June, 2017 and will receive an exclusive SHADERS.XYZ t-shirt (hype!). Don’t forget to motivate others by voting for your favorite submission! Good luck everyone!May 2, 2017 at 6:06 pm #2614
dont you think those challenges are a bit hard for beginners? when i was in school and seen a site like this i would have loved doing it as well. just sayin. even now i wont bother doing it cause i so have no time but sure like the whole vibe in here 🙂May 2, 2017 at 6:38 pm #2615
I think the best way to learn is to try and fail, get back up and fail again. Especially with people around who know what they are doing, I think it should be especially interesting for beginners 🙂
Nobody should be scared of trying – and trying hard things is the best way to make leaps of improvement to your skill!May 2, 2017 at 6:41 pm #2616
Wow, this is a good one. I have a feeling normal/height maps will be really important to achieve this look, but maybe some light ray tricks are possible to do it more efficiently.May 3, 2017 at 4:59 am #2627
MOHAMED YEHIAParticipant9 pts@mido5560
i have a question about the reference those 3 references has a light source from the front , i know those have different light conditions but why the two on the right (flashlight next to lens) react differently than the left one (is it lighted with one flashlight also? ) which has less or almost none diffractions on steep angles nor the front…May 3, 2017 at 8:36 am #2633
@mido5560, Im pretty sure that is because the flashlight was not close enough to the lens.May 3, 2017 at 10:20 am #2640
- 3D generalist
Some references found on internet :
“Retroreflective sheeting is flexible retroreflective material primarily used to increase the nighttime conspicuity of traffic signs, high-visibility clothing, and other items so they are safely and effectively visible in the light of an approaching driver’s headlamps. The sheeting consists of retroreflective glass beads, microprisms, or encapsulated lenses sealed onto a fabric or plastic substrate. As with any retroreflector, sheeting glows brightly when there is a small angle between the observer’s eye and the light source directed toward the sheeting, but appears nonreflective when viewed from other directions.”
Hope this helps !This post has received 2 votes up.May 3, 2017 at 3:57 pm #2656
- 3D-Generalist at Headspin
Here’s a wip for my take on the surface, tried first to solve it with displacement but then i didn’t get the specular coating that i wanted so i went for bump.
VERY hard to get the results i want, and i’m not sure if i’ll manage to get there either.
What do you think so far?
And here’s the displacement/bumpThis post has received 1 vote up.May 3, 2017 at 9:09 pm #2666
@pannekaka Nice man, I made exactly the same displacement map so far. Watch out though, in the reference there is almost no reflection from that light angle!May 3, 2017 at 9:42 pm #2669
- 3D - Generalist
I’ve done some testing, and a cube pattern looks like it works nicely. I’ve modelled out a patch of the pattern and wrapped it around the cone for testing. I think it looks promising! I just have to convert it into a functional displacement.This post has received 3 votes up.May 4, 2017 at 9:13 am #2688
If only there was some kind of direct control we could have over the angle of incidence without te need to create these high density disp maps (moire).
No idea how that would work though 😛
Definitely going to try it out, also curious about that fringing effect in the reflections.
-MartinMay 4, 2017 at 9:26 am #2689
@olemarius, this is looking great man! Totally nailing the retroreflector effect already. I think with this physical approach you’ll get the best results, but I really want to try to do something related to the bsdf so we don’t have to deal with these high frequency map sampling problems. No idea how yet though, haha.May 4, 2017 at 5:23 pm #2712
I started by trying essentially the same strategy as @olemarius; my modeled shape is working perfectly, but I don’t know if I’ll be able to get it working without an insane amount of microdisplacement.
Left: Light 20 degrees from camera; Right: light 2 degrees from camera
Structure of the model
@admin I’ve also started trying to do it entirely with shader tricks, this is already working pretty well:
Still a long way to go in terms of massaging the reflections, and I want to add realistic wear and everything, but the basic principle is working just fine. Renders super fast too, less than 2 minutes on CPU for each frame. Here’s the nodes for the retroreflection effect:
The key is moving the normals towards the incoming angle, which on a glossy shader makes the object reflect whatever is in the area of the camera, no matter the true surface normal. Retroreflection, essentially. I’m blending a bit of regular glossy and diffuse back in afterwards, to keep it from going pitch black. If other renderers allow you to arbitrarily change the surface normal, you can probably use this same approach.
Here’s the displacement map I’m using, baked from the same geo as my physical version:This post has received 4 votes up.May 4, 2017 at 5:28 pm #2718
Experimenting with the reflective surface. This is super a frustrating, but pretty fun challenge. This technique has allready been mentioned, but anyway, it’s hard to get the effect by not using a displaced surface. Hopefully one of you will come up with a brilliant idea 🙂
I’ve added anisotrophy to the reflection. I know it’s physically wrong, but it makes the spec spread in a different way and gets more displaced on the bumpy surface than using only roughness. There’s not much of a difference between the left, middle and right lighting. Have to take a look at that to make it right.
There’s a coating layer on top to make it look more like plastic, with a polished surface. I’ve tried to add a rainbow fresnel to make the bands of colors (not in this images), but it turned out wrong compared to the video reference. because it was only depending on the camera angle and not on the light source. Have to find a way make those color bands around the specular. Thats the next step. Any suggestions?
KentMay 4, 2017 at 5:31 pm #2720
@admin I had to edit the post to get your username right, so I don’t think the mention workedMay 4, 2017 at 5:52 pm #2725
@shallowrenders This is how I separated the highlight colors in my test render:
Rotate the normals of the red and blue glossy shaders in opposite directions before adding all three together. I don’t know what engine you’re using, but you might be able to do something similar.This post has received 2 votes up.May 4, 2017 at 6:12 pm #2729
@anthonypilon dude, this is insanely interesting stuff. I’m learning a lot from this!May 4, 2017 at 7:02 pm #2735May 4, 2017 at 11:25 pm #2759
For the time being I have just tried to get the retroreflector effect right. I started by modeling simple retroreflector patterns, a cubic one and an hex. Then I looked for the proper way to bake it and get the same effect than with real geo.
Displacement works, but is obviously too heavy to get enough geometry at the correct pattern scale. So I went for normal map, and it works pretty great I think.
Interestingly the two type of retroreflector map deliver a bit different looks. See by yourselves but it seems to me that the hex one is closer from the reference, diffraction ( ? don’t know if it’s the correct term in this case ) is stronger.
Top is the cubic shape, bottom is the hex shape.
The material is very simple at the moment, no fresnel but anisotropy to get the same elongated reflections visible in the reference pictures. Enough to check the effect but there is still much work to be done.
But it’s only 3 days since the beginning of the challenge and there already are convincing results, do you guys even sleep ? 🙂May 5, 2017 at 8:41 am #2793
First animation test. This is a modelled pattern, not displaced. I think it behaves allmost correctly, but the reflection is quite weak when the camera have the same position as the lightsource (the light is centered).
If the GIF does not play let me know. You can find it on vimeo here
You must be logged in to reply to this topic.