Skip to content
This repository was archived by the owner on Apr 25, 2026. It is now read-only.
This repository was archived by the owner on Apr 25, 2026. It is now read-only.

[Bug] setColorWeight behavior is inverse to the documentation #645

@SeungHunJeon

Description

@SeungHunJeon

I found a discrepancy between the documentation and the actual behavior of the setColorWeight function in the visualizer. According to the docstring, a weight of 0 should result in 100% of color1. However, in the current implementation, a weight of 0 renders color2 instead.

The comment in the header file states:

@param[in] id instance id

@param[in] weight the color weight

The actual color is linearly interpolated between color1 and color2 which are set by setColor method.

100% color1 when weight is 0.

When I set up instanced visuals like this in the rayDemo2.cpp example file:

auto scans = server.addInstancedVisuals("scan points",
raisim::Shape::Box,
{0.05, 0.05, 0.05},
{1,0,0,1}, // color1: Red
{0,1,0,1}); // color2: Green

// If I set weight to 0.0f
scans->setColorWeight(id, 0.0f);
Expected: The object should be Red (100% color1).

Actual: The object is rendered as Green (100% color2).

It seems the interpolation logic is either reversed or the documentation needs to be updated. Since most users expect weight 0 to be the starting color (color1), this appears to be a bug in the interpolation mapping.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions