David Roberson |
Although it is possible to use lookups to composite spherically mapped noise, this method is discontinuous and produces artifacts that make it useless for anything I'd be using it for.
I thought this was an unsolvable problem until recently, when I stumbled upon a true Spherical Noise Map Generator. The source is libnoise, a portable, open-source, coherent noise-generating library for C++, which I can't help but wonder if FF can leverage, assuming it's built with C++, or the logic can be ported to whatever it is built on. Granted, there are other 3D noise generators I'd be interested in, too. This just happens to be the one that stumped me the most. Edit: If there's already a way to do this via Lua scripting, any help or advice doing it would be greatly appreciated. I'm already looking into exploring what I can do with libnoise as it is (old as it is, that may prove problematic), as soon as I can set aside time to set it up and study it. TTFN |
|||||
Posted: December 13, 2020 8:27 pm | ||||||
emme |
FilterForges built-in Noise-API can generate 3D Perlin, so it works great for this. Just transform the x/y image coordinates into x/y/z coordinates on a sphere and sample the 3D Perlin noise.
You can add up multiple noises at different scales to get more detail, or use another 3D noise to displace the sample coordinates for distortion. And so on... Here is a basic script to get you started. It generates the noise with an equirectangular projection that should map seamlessly on a sphere. Probably works best with 2:1 image aspect ratio. spherical_noise_v001.ffxml |
|||||
Posted: December 16, 2020 10:16 pm | ||||||
Sphinx.
![]() |
Nice, emme - I was just about to suggest that approach too
![]() Attached is a version with seamless tiling enabled by Override. spherical_noise_v001 - seamless.ffxml |
|||||
Posted: December 17, 2020 3:25 am | ||||||
emme |
I don't think enabling seamless has any effect on the image itself. It does allow you to check the tiling on one axis though - which could be useful
![]() |
|||||
Posted: December 17, 2020 11:52 am | ||||||
SpaceRay
![]() |
This seems interesting but I really have no idea on how to use this
The script does not have any input and do not know how to use the noise result Would be very good to have an example of what can be done with this, I mean how to use it and have a filter that shows it. thanks |
|||||
Posted: December 19, 2020 3:21 am | ||||||
emme | ||||||
Posted: December 19, 2020 10:48 am | ||||||
SpaceRay
![]() |
Thanks emme for showing what you have done with it and it looks very good and great Please, how have you applied the Spherical Noise Map to the source image? Is just blending it or is another different way? Sorry that I do not know about making this kind of things for 3D Sorry that I did not have tested it myself Can you please show how you use this filter above you uploaded ? thanks very much
When I have said that it was interesting is because in the link you can see this and is looks cool ![]() |
|||||
Posted: December 20, 2020 10:13 pm | ||||||
SpaceRay
![]() |
||||||
Posted: December 20, 2020 10:25 pm | ||||||
SpaceRay
![]() |
so in the tiles design above, what I really want is that the tiles or bricks keeps always the same width all along all the sphere without changing size
although maybe the above example is bad and not right and maybe a better example would be a golf ball where the holes are always the same size all around the ball ![]() |
|||||
Posted: December 20, 2020 10:28 pm | ||||||
SpaceRay
![]() |
And when looking for how to make a texture of a golf ball in 3D I have found this
Equirectangular Tile Generator that according to the screenshot makes a similar texture that is similar as the spherical noise v001 filter But I do not know how to use Substance software, so this is why after I have seen this I thought that I could use this inside FF ![]() |
|||||
Posted: December 20, 2020 10:51 pm | ||||||
SpaceRay
![]() |
||||||
Posted: December 20, 2020 11:07 pm | ||||||
emme |
SpaceRay,
For this method to work, you first need a way to define a continuous texture in three dimensions. A 2D source image won't work. The FF Noise API can generate 3D perlin, but for other textures, you would need to implement an algorithm that defines it in 3D. You can then use the math in the script to project it back to 2D. The resulting texture can be mapped seamlessly onto a sphere with minimal distortion. The script generates perlin noise - that's it. You can use it just like normal 2D perlin noise in your texture generation. 1. In FF, use the perlin noise as a base to create your texture maps (color, height, specular, ect.) 2. In Blender, create a UV Sphere, create a new material and apply the texture maps. |
|||||
Posted: December 21, 2020 3:50 am | ||||||
David Roberson |
Thank you for the responses, everyone. It's nice to see others interested in this kind of texturing. Emme and Sphinx, I really appreciate the sample scripts. Having seen animated z-perlin noise in a map script, I was hoping FF would be able to do this. I look forward to exploring ways to make use of 3D noise in world creation. One idea I got from the animated z-perlin noise was the ability to create "family" noise, or simply to use the continuity of noise in the z-axis to sample noise that is picked from key points on that axis. This makes some interesting distortion effects possible.
I plan to play with libnoise a bit, since it can work with other noise types than perlin. Time to blow the dust off long unused c++ skills! |
|||||
Posted: December 29, 2020 3:31 pm | ||||||
David Roberson |
emme,
I know that Blender can natively generate 3D textures, or solid noise textures, but I've yet to explore ways to project the results onto a UV map that can be exported. I don't know when I'll be ready to tackle it, but I wondered, with your expertise, if you knew if it was possible to bake them in Blender. Thanks! |
|||||
Posted: December 29, 2020 3:34 pm | ||||||
David Roberson |
Ah! Now I finally have a good reason to upgrade to FF10!
I took a break from what I was working on to look at emme's Spherical Noise Generator and couldn't open it in FF9. Thankfully, I still have time on the trial updated version I already installed. I'm giving it a look now, and it seems promising. I'll have to brush up on my scripting and work out how to do this as full perlin noise, but I've got an example script to help with that. I do wonder if whorley noises can be used, too. If anyone has a sample script for those, it'd be very helpful. Playing with this should keep me busy for a while. Fun! Edit: Yep. I'm going to be busy with this for a while. Before taking this off to a more appropriate forum, I thought I'd correct myself to say I want to make multi-octave perlin noise with this; that's what I meant by "full perlin" noise. Emme suggested it, too, so presumably it can be done. I'm just not far enough along with scripting to see how. I'll pose that question in another thread... |
|||||
Posted: December 29, 2020 4:32 pm | ||||||
David Roberson |
I just discovered that there has already been a Lua port of libnoise, which is available on SourceForge. The link was posted on the love2d.org forums. I don't remember the rules for referring links to outside forums, so I'll just say that you can find the post if you google: lua script perlin noise function. It should show up under More Results from love2d.org.
To FF, libnoise in Lua, LuaNoise, is available under a GNU Lesser General Public License v3.0, so maybe this can be incorporated with Filter Forge. I'm happy learning how to script everything from scratch, but this might appeal to a wider audience. The scripting side of FF could use the extra attention. Any way, that's my public service announcement for the day. I don't yet know anything about using external libraries or files with Lua, so it'll be a while before I follow up on this development, myself. Is there help in the API or here in the forum regarding the use of external Lua resources? I'll need it eventually... |
|||||
Posted: January 7, 2021 6:31 pm |
Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!
33,711 Registered Users
+18 new in 30 days!
153,531 Posts
+39 new in 30 days!
15,347 Topics
+72 new in year!
18 unregistered users.