Exchange your fabric render experience


I would like to open a thread about the fabric rendering with cycles. As I recently tried to render the kevlar fabric used in the speaker membrane. Any inputs about promising technologies and techniques are welcomed.

To name a few:

  1. Micropolygons
  2. Parallax mapping
  3. Displacement and tessellation
  4. Hair
  5. OSL

You name it

For this project I actually modeled and unwrapped the mesh and it is still quite light for my PC. I hope that there are smarter techniques than this :slight_smile:

As for the design part.
I’ve been recently modelling this speaker for home audio systems as a portfolio job. I call it Persepolis for the classical front bass reflex that resembles the hat of Persian warriors. Pretty standard in all the other aspects. It is thought as a Hi-Fi speaker for inexperienced users that want to experiment with high quality audio. For example it has monowire posts on the back to prevent users from warping their head around biwiring or biamping. The front bass reflex ensures they don’t encounter problems positioning the speaker near the walls. It is designed by discreet components separating the structural components and the aesthetic part (front) so that they could be manufactured with separated processes lowering the costs.

By the way, I’m going to realize a video of this speaker. If someone is interested to submit his or his friend’s arrangement for the leading melody I would appreciate. I was thinking of something elegant and maybe ironic like or but under 30 seconds :slight_smile: . Mainly cello, contrabass and maybe drums. Thank you, obviously all the credits will be provided

can you show the mesh because i was modelling once a speaker to and i just create shader with noise…

Sure, where you referring to the whole object or the membrane structure, in doubt here are the two screenshots

The structure is actually quite simple, every front facing piece of the mesh is comprised of 24 polygons, maybe I could get away with less but there are still plenty of room before my not so splendid hardware would be burdened by such a membrane. The starting point in the modelling process was to model a single short hill shaped strand. Than I cut it two times in half and recreated it with symmetry. Than I made a short array of it paying attention to the junctions. At that point I instanced my short strand with Alt+D creating the first four base strands in the XX pattern. Than I applied a second perpendicular array to the strands just to make some mesh area to look onto. Than I remodelled the base mesh to make good looking intersections, I used projection and simple move to figure out the best shape. Than I locked the arrays to a driver to drive them all together with one click, in this way I could easily create a patch that was suitable for my needs. I UV unwrapped the base mesh and than I joined everything into a single mesh. I noticed that I really did’t use the bottom part of it so I deleted it paying attention not to compromise the visual results. I experimented with baking Normal maps and AO from modeled random filaments to use afterwards in this model but I was lazy dealing with all of that again, so I just painted the the texture in blender because I gave me the possibility to even out every pattern in the texture(which is present however) an I saw also that anisotropic shader worked beautifully, so that was my setup. I felt al lot like a craftsman doing it as I was dealing with virtual matter in a pretty similar fashion, I put the patch inside the speaker, deformed it and savagely trimmed it to get a more or less rounded shape. A round selection is something that blender still lacks, C (circele paint selection) never managed to select all the vertices underneath it, hope this gets fixed with the selection stack refactored.

Here’s the node setup and the texture:



I was thinking about a thing. When I first modelled the membrane I used baked normals, AO, depth etc. And I did really get a great result except for the parts that where nearly parallel to the camera which revealed the flatness of the texture.

So I thought since blender already has(or had) all the algorithms to make it look realistic for example displacement, tessellation, parallax and last but not least Fresnel. It would be great to have a shader that creates 3d detail only where there are zones of interest like edges and surfaces nearly coplanar to the camera. Because bump or normal map do a great job on the front facing polygons.

What do you think

I don’t have a lot of experience with Blender’s displacement/normal mapping, so I can’t comment on that; but I did want to say this looks quite good so far! I like the highlights on the white case of the speakers, especially on the edges.
It’s interesting to read how you actually created the speaker’s membrane, and the wiring posts on the back are nicely detailed. Great work thus far! Hope someone is able to comment better than I on displacement.

Your speaker looks great. I think you could get away using displacement maps to make the “Kevlar” fabric. I can’t say I would know how but there is a good chance it is possible to do. Even then you could create the displace maps and such from the modeled version to make it even lighter on your computer but that might defeat the purpose. Also about the song, why not just try and get permission to use their version?

Hello, as for the song, it’s been some time now that youtube tracks your audio content and devolves the ad’s revenue to the legitimate owner of the piece. So I could use it straight away as I’m not really concerned about the ads. I just wanted to offer a mutual pomotional material for a an aspiring or renowned sound artist, as the audio in a video bares half of the importance of the whole piece.

As for the displacement… I thought about it but it would mean to retopologize the whole cone with a rectangular grid and still have all the artifacts connected to the fact of having an uninterrupted fold of mesh, having the texture be precisely aligned with the topology. The only advantage could come from the fact of creating subdivisions during rendertime and have the displacement topology stored in an image(yet another texture).

As I said, we should probably wait before tessellation is reimplemented. As the the piece worked beautifully with anisotropic shader and baked textures, I just modeled a cross cell of the fabric and generated all the maps I needed (normal and AO) after theat I painted with 0.25% grey the fibers that where supposed to be oriented at 90 degrees and it looked good on a simple unsubdivided cone. The only parts that betrayed the eye where the surfaces nearly perpendicular to the viewer that obviously where flat. It would be nice to have a subdivision algorithm that would take that into account, so it would apply the subdivision only to the normals of a certain angle. Otherwise parallax mapping which is offsetting actual pixels without intervening on the mesh itself would do an awesome job here I think, but it is generally regarded as a game engine tick and not an actual technique for production.