• Welcome to World Machine Community. Please login or sign up.
October 16, 2019, 09:46:41 am


Read the Development Diary for an inside look at World Machine's progress!

General transform device with rotation and non-uniform scaling

Started by sfriedberg, September 16, 2014, 01:46:18 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Tonight I was trying to stretch out an Advanced Perlin generator, and could not find a way to scale one axis differently from the other.  The two closest approaches were to hook a Gradient generator to the AP phase distortion input, and alternatively to hook both the AP and the Grad into a Simple Displacement.  However, both approaches are seriously limited by the maximum useful width of the gradient.  I'm looking for something that will apply to (infinite) textures as seen in the explorer view.

Also, the next objective after stretching a generator is to rotate the result to align the "long" axis with some specified input angle.  Setting an arbitrary axis of stretch would also be acceptable for random generators, although stretch-along-arbitrary-axis and rotate-after-fixed-axis-stretching do not give the same results for general input.

Unless I've overlooked something (quite possible!), the old Rotator.dev never got recompiled and redistributed after the VS2010 changeover.

So, what I'm looking for is a general (horizontal) coordinate transform device that 1) accomodates effectively unbounded textures from generators in world or relative worldspace, 2) allows non-uniform scaling, and 3) allows arbitrary rotation (of either the principal scaling axis or of the result post-scaling), and 4) some reasonable attempt at proper interpolation/resampling.  It would be fine if the scaling factors were limited to <= 1, as that could be compensated in the source generator scaling.

If there's already a way to some or all of what I want, an education would be greatly appreciated.  WM 2.9 and 3.0(dev) on-hand.


I'm also think it would be useful to non-uniform scale and also to rotate.  Any plans for this?


maxkastle, I got a reply on another thread which points out some of the current limitations of WM in this area.


I really really would love to have this functionality as well.

Stretching, flatten, resizing etc.

The Voronoise macro is still one of my favorites, but it only 'fits' on ~8km sized terrains.
Having a transform node would allow me to use it on smaller terrains as well.
At the moment I'm manually adjusting the whole macro, but that simply isn't desired.
I tried to use some arithmetic nodes to add a scale multiplier within the Voronoise macro, but it didn't seem to work.


This is definitely hugely needed!

Support for essentially all coordinate-system transforms (non-uniform scaling, rotation, etc) on the domain-input side is coming, along the lines of the reply in the other thread, sfriedberg. It went on the backburner while river stuff was in the forefront, but it's one of the current items of work.

As mentioned in the other thread however, this will be domain side only -- once a generator has created output, it is problematic on many levels to go about changing coordinate-system-related things.
-- Stephen Schmitt
- Creator of World Machine


Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.

Please leave this box empty:
Type the letters shown in the picture
Listen to the letters / Request another image

Type the letters shown in the picture:

Shortcuts: ALT+S save/post or ALT+P preview