Ticket #951 (closed task: fixed)

Opened 5 years ago

Last modified 2 years ago

replace _getRGBA with direct Color._rgba value

Reported by: ArcRiley Owned by:
Priority: Medium Milestone: beta3
Component: soy.atoms Version: Trunk
Keywords: Cc:

Description

Rewrite Color to use a float array for _rgba vs separate _r _g _b and _a floats.

Replace _getRGBA throughout the codebase to use this value directly or copy it as needed.

This may be related to #901, but will speed up color access regardless.

Change History

comment:1 Changed 5 years ago by ArcRiley

  • Owner set to ArcRiley
  • Status changed from new to assigned

comment:2 Changed 5 years ago by ArcRiley

  • Status changed from assigned to closed
  • Resolution set to fixed

I believe this is complete.

Only a minor speedup, and no additional stability, but the code is a bit cleaner in any event.

comment:3 Changed 5 years ago by ArcRiley

  • Status changed from closed to reopened
  • Resolution fixed deleted

I'm re-opening this ticket as TestColor? is segfaulting

comment:4 Changed 5 years ago by ArcRiley

  • Owner ArcRiley deleted
  • Status changed from reopened to new

opening this up for someone else to debug - this shouldn't be very difficult. just use printf's and track down where the segfault is occurring.

comment:5 Changed 2 years ago by ArcRiley

  • Status changed from new to closed
  • Component changed from soy.colors to soy.atoms
  • Resolution set to fixed

In the libsoy model, color is stored by objects which use it as a float array and new Color objects generated to return the property such that editing the returned Color will update the parent. In this way Color models other soy.atoms classes in that its a "hook" to a piece of internal storage of another class, not a storage unit itself.

This is slightly more complex than it should really need to be, but seems to speed up rendering.

Note: See TracTickets for help on using tickets.