» Texture Transformation
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Texture Transformation

Russian

Primitives

Note that all of the primitives like Quad (DX9), Segment (DX9),... have a Texture Transform next to the Transform. If you want to position/scale/rotate the texture on a primitive (instead of the primitive itself) you best connect a Transform (Transform 2d) node to the Texture Transform. Like this you can achieve all desired transformations.

Also note the Sampler State which accepts Filter (EX9.SamplerState) and Address (EX9.SamplerState) the latter of which is also interesting in connection with texture transformations. It allows you to specify how a texture is drawn outside of its own borders, ie. when a texture is scaled smaller. The address mode can be specified for U and V (ie. horizontal and vertical direction) separately and take one of 5 options:

  • Wrap - simple repeat
  • Mirror - repeating with every second version being flipped
  • Clamp - repeating only the last pixel
  • Border - allows to specify a border color via Border Color
  • MirrorOnce - mirrors once, then clamps

Effects

Most effects have a Texture Transform as well but they don't have a Sampler State. If you want to use a special sampler state on an effect you can only do that in its code, which is easy. First rightclick an effect and save a local copy via Ctrl+S. Now locate the sampler state block, which typically looks something like this:

sampler Samp = sampler_state
{
    Texture   = (Tex); 
    MipFilter = LINEAR;
    MinFilter = LINEAR;
    MagFilter = LINEAR;
};

Here you can now add addressmodes and a bordercolor, like

sampler Samp = sampler_state 
{
    Texture   = (Tex);          
    MipFilter = LINEAR;         
    MinFilter = LINEAR;
    MagFilter = LINEAR;
    AddressU = BORDER;
    AddressV = MIRROR;
    BorderColor = float4(1, 0, 0, 1); //red border
};

anonymous user login

Shoutbox

~11h ago

Urbankind: circuitb:Wrongcop is epic! :)

~11h ago

joreg: @tobi: use GetSlice() as the patch i referred you to is demonstrating. or start a forum thread with your patch.

~12h ago

TobiTobsen123: hmm yes i can see the values...but how to handle them as seperate values? I need to forward them via TCP/IP...

~13h ago

joreg: @tobi: OSCDecoder helppatch has a section: OSC_Advanced (bottomright) that demoes decoding of multiple messages

~14h ago

TobiTobsen123: I'm using an OSCDecoder, it receives two arguments...works but how can I seperate the arguments into two seperate values

~16h ago

u7angel: @mediadog, make it a forum question.

~16h ago

u7angel: @mediadog, tty renderer ?

~19h ago

microdee: however non-conductive objects are invisible for this so the pencil and the sticks in the video are still a mysteries