Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003644opensim[REGION] Script Functionspublic2009-05-13 10:222011-07-26 05:23
ReporterGodfrey 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusconfirmedResolutionopen 
Platformx86 (intel processor, 32bit)OSLinuxOS VersionDebian Lenny
Product Version 
Target VersionFixed in Version 
Summary0003644: Negatively rotated textures rotate slightly further whenever any texture-modifying function is applied to the face
DescriptionWhen any texture-modifying function is applied to a face containing a negatively rotated texture, the texture rotates slightly further towards -180 degrees (-TWO_PI).

A texture rotated exactly 180 degrees (TWO_PI) will also shift, but a texture rotated exactly -180 degrees (-TWO_PI) will not.

The script provided in "Additional Information" rotates the various faces of a cube to certain positive or negative values; each time the prim is touched, it sets the PRIM_GLOW value of all faces to 0.0 (which should not modify the texture rotation!)

Since the movement is very slight, the function call to modify the glow value is called 100 times per touch, to amplify the effect. (The effect can also be much more pronounced if the texture's repeat and offset values are changed, but this suffices to demonstrate the issue.)

Once a texture hits -180 degrees (-TWO_PI), it stops rotating.
Steps To Reproduce1. Apply a regular, repeating texture (such as a grid) to all faces of a cube.
2. Drop the script provided in "Additional Information" into the cube.
3. Touch the cube.
4. Note that some of the faces will rotate slightly each time the cube is touched.
Additional Informationdefault
{
    state_entry()
    {
        llRotateTexture( -(PI_BY_TWO/2.0), 0 ); // -45 degrees - shifts
        llRotateTexture( (PI_BY_TWO/2.0), 1 ); // 45 degrees - doesn't shift
        llRotateTexture( -PI_BY_TWO, 2 ); // -90 degrees - shifts
        llRotateTexture( PI_BY_TWO, 3 ); // 90 degrees - doesn't shift
        llRotateTexture( PI, 4 ); // 180 degrees - shifts
        llRotateTexture( -PI, 5 ); // -180 degrees - doesn't shift
    }
    
    touch_start( integer foo )
    {
        integer i;
        for (i = 0; i < 100; ++i) llSetPrimitiveParams([ PRIM_GLOW, ALL_SIDES, 0.0 ]);
        // (called 100 times each touch to make the effect more immediately visible)
    }
}
TagsNo tags attached.
Git Revision or version number
Run Mode Grid (1 Region per Sim) , Grid (Multiple Regions per Sim)
Physics EngineODE
Script Engine
EnvironmentMono / Linux32
Mono VersionOther
Viewer
Attached Files

- Relationships
related to 0003535confirmed texture rotation changes when llSetTexture gets called. 
child of 0002357confirmed llOffsetTexture causes texture rotation to change 

-  Notes
(0019119)
makopoppo (manager)
2011-07-26 05:23

This issue still exists in OpenSim 0.7.2-dev

- Issue History
Date Modified Username Field Change
2009-05-13 10:22 Godfrey New Issue
2009-05-13 10:22 Godfrey SVN Revision => 9536
2009-05-13 10:22 Godfrey Run Mode => Grid (1 Region per Sim) , Grid (Multiple Regions per Sim)
2009-05-13 10:22 Godfrey Physics Engine => ODE
2009-05-13 10:22 Godfrey Environment => Mono / Linux32
2009-05-13 10:22 Godfrey Mono Version => Other
2009-05-14 10:24 Michelle Argus Relationship added child of 0002357
2009-07-20 10:15 thomax Relationship added related to 0003535
2011-07-26 05:23 makopoppo Note Added: 0019119
2011-07-26 05:23 makopoppo Status new => confirmed


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker