From a5e77d8d36fbc94b2f4d751fe767571aa51c70b7 Mon Sep 17 00:00:00 2001 From: AlexandruPopovici Date: Fri, 5 Jul 2024 13:18:25 +0300 Subject: [PATCH] Added sRGB->linear vertex color conversion in the geometry converter. Not all connectors may send their vertex colors in sRGB but this is what we agreed we're going to treat vertex color space for now --- packages/viewer-sandbox/src/main.ts | 4 +++- .../src/modules/loaders/Speckle/SpeckleGeometryConverter.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/viewer-sandbox/src/main.ts b/packages/viewer-sandbox/src/main.ts index fff2800f6..d8ee1054f 100644 --- a/packages/viewer-sandbox/src/main.ts +++ b/packages/viewer-sandbox/src/main.ts @@ -105,7 +105,7 @@ const getStream = () => { // prettier-ignore // 'https://speckle.xyz/streams/da9e320dad/commits/5388ef24b8?c=%5B-7.66134,10.82932,6.41935,-0.07739,-13.88552,1.8697,0,1%5D' // Revit sample house (good for bim-like stuff with many display meshes) - 'https://speckle.xyz/streams/da9e320dad/commits/5388ef24b8' + // 'https://speckle.xyz/streams/da9e320dad/commits/5388ef24b8' // 'https://latest.speckle.dev/streams/c1faab5c62/commits/ab1a1ab2b6' // 'https://speckle.xyz/streams/da9e320dad/commits/5388ef24b8' // 'https://latest.speckle.dev/streams/58b5648c4d/commits/60371ecb2d' @@ -388,6 +388,8 @@ const getStream = () => { // 'https://app.speckle.systems/projects/122448a81e/models/f21aff1f4a' // Thin plane // 'https://app.speckle.systems/projects/20f72acc58/models/2cf8a736f8' + // Rhino sRGB vertex colors + 'https://app.speckle.systems/projects/47bbaf594f/models/ef78e94f72' ) } diff --git a/packages/viewer/src/modules/loaders/Speckle/SpeckleGeometryConverter.ts b/packages/viewer/src/modules/loaders/Speckle/SpeckleGeometryConverter.ts index 82efd25ba..20b233a2a 100644 --- a/packages/viewer/src/modules/loaders/Speckle/SpeckleGeometryConverter.ts +++ b/packages/viewer/src/modules/loaders/Speckle/SpeckleGeometryConverter.ts @@ -268,7 +268,7 @@ export class SpeckleGeometryConverter extends GeometryConverter { `Mesh (id ${node.raw.id}) colours are mismatched with vertice counts. The number of colours must equal the number of vertices.` ) } - colors = this.unpackColors(colorsRaw) + colors = this.unpackColors(colorsRaw, true) } return {