diff --git a/.github/baselines/install_example_plugin_output.png b/.github/baselines/install_example_plugin_output.png index e75a39a723..07ac829e8a 100644 --- a/.github/baselines/install_example_plugin_output.png +++ b/.github/baselines/install_example_plugin_output.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a5d354fd4781df1ba28afb8aebd179d6bffa99dc1c4c343f810310d130c0858 -size 33543 +oid sha256:1d716d978191c79f71100c904fb380091781bae2c3b37c607afff64df323849b +size 42001 diff --git a/.github/baselines/install_output.png b/.github/baselines/install_output.png index 84be24e3b5..b109cf0259 100644 --- a/.github/baselines/install_output.png +++ b/.github/baselines/install_output.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5db4d1d5cfa097e3b8ffbe41438d53df9369de13d9366fb218ccee81117a8886 -size 61913 +oid sha256:cb12a61d8667d40b701d79a7778de21656edb76a3c3742b54de51e655789f79b +size 67441 diff --git a/testing/baselines/Test3DGaussiansSplatting.png b/testing/baselines/Test3DGaussiansSplatting.png index c26801ab8b..5d7f9058ea 100644 --- a/testing/baselines/Test3DGaussiansSplatting.png +++ b/testing/baselines/Test3DGaussiansSplatting.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7179ffb838595c548bb6adba9f858457af2126d410f1dad006c863619e7bfa3 -size 131588 +oid sha256:50769a83833b6cad2a5e3711bb8938b1e2eb850be5d92916d28fb31b6e2232d9 +size 134206 diff --git a/testing/baselines/TestConfigFileBuild.png b/testing/baselines/TestConfigFileBuild.png index 2184484336..bf9f9decfb 100644 --- a/testing/baselines/TestConfigFileBuild.png +++ b/testing/baselines/TestConfigFileBuild.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a136927e5af3f54bee9dc02727877508904a920a758d482b0ea5b3885bfb5606 -size 36865 +oid sha256:64fe65124fae71f4bb2d6a4de807b4fb638e62dd45a3ccc79889f8262213f166 +size 38805 diff --git a/testing/baselines/TestConfigFileUpperCase.png b/testing/baselines/TestConfigFileUpperCase.png index 0ff8bf9816..914a83e32c 100644 --- a/testing/baselines/TestConfigFileUpperCase.png +++ b/testing/baselines/TestConfigFileUpperCase.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3cb4994c0f41b724968a758e44b1ea3054c0956b3f710d30a41626fb7dee0a65 -size 27373 +oid sha256:17bf15bce32f4e6d8c8f2ea65e9bb862d3301320785da7d19137d23b67065d4a +size 30155 diff --git a/testing/baselines/TestConfigStemBuild.png b/testing/baselines/TestConfigStemBuild.png index 2184484336..bf9f9decfb 100644 --- a/testing/baselines/TestConfigStemBuild.png +++ b/testing/baselines/TestConfigStemBuild.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a136927e5af3f54bee9dc02727877508904a920a758d482b0ea5b3885bfb5606 -size 36865 +oid sha256:64fe65124fae71f4bb2d6a4de807b4fb638e62dd45a3ccc79889f8262213f166 +size 38805 diff --git a/testing/baselines/TestDXF.png b/testing/baselines/TestDXF.png index 71e9c63ba9..776787108d 100644 --- a/testing/baselines/TestDXF.png +++ b/testing/baselines/TestDXF.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:881870d6db97805cef9828ce13e4af948f8afbd8ab73bd354eb7bf9628482fd5 -size 9266 +oid sha256:53c3f3e0694f0e8b9ab84e6dcd6cc6e0359553f5be80038f3f4f15201e928f83 +size 9257 diff --git a/testing/baselines/TestDefaultConfigFileAlembic.png b/testing/baselines/TestDefaultConfigFileAlembic.png index d942eb324a..61a977d1d6 100644 --- a/testing/baselines/TestDefaultConfigFileAlembic.png +++ b/testing/baselines/TestDefaultConfigFileAlembic.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad53aee92e9438c3aac2a19853568a595c121266a3606a096dfb33f145ab7ea6 -size 48705 +oid sha256:9b602324ac072f5471a3ec3ffc6829f598a5c13e32e64c58e625c7085b54e38a +size 54949 diff --git a/testing/baselines/TestDefaultConfigFileAndCommand.png b/testing/baselines/TestDefaultConfigFileAndCommand.png index 40a9ee7bc4..627cebd8b1 100644 --- a/testing/baselines/TestDefaultConfigFileAndCommand.png +++ b/testing/baselines/TestDefaultConfigFileAndCommand.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8967fdb77ee368fb8ad870e9f3c4bae2d5c0b6d137ebae898cd987ec10f56b29 -size 47203 +oid sha256:52a01cfd9c2589f7b10268ec80e039b7e053e8804b2e1c5493cc3b032169d6c1 +size 53599 diff --git a/testing/baselines/TestDefaultConfigFileAssimpDAE.png b/testing/baselines/TestDefaultConfigFileAssimpDAE.png index d62b92c27e..9d9de992d5 100644 --- a/testing/baselines/TestDefaultConfigFileAssimpDAE.png +++ b/testing/baselines/TestDefaultConfigFileAssimpDAE.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f0d4173fca0890b77be38e9532ec85b763fab28d94ef2cf8f46f6f2456b2973 -size 46513 +oid sha256:af1c9e8c06526ff2be626f647cec399a28919b091daa2988b9ccf06c7ca07cf6 +size 49899 diff --git a/testing/baselines/TestDefaultConfigFileAssimpDXF.png b/testing/baselines/TestDefaultConfigFileAssimpDXF.png index 30e97b1e02..4dde984a40 100644 --- a/testing/baselines/TestDefaultConfigFileAssimpDXF.png +++ b/testing/baselines/TestDefaultConfigFileAssimpDXF.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:505291abde29668ed62f05baf620edc1dcc3ec6697f4dd0de5fd9a64f79fee45 -size 36013 +oid sha256:b5f29339cf7b6fd2430e324774d345ed84f9d8d8bc2e15408d3af16cd2ff3410 +size 42121 diff --git a/testing/baselines/TestDefaultConfigFileAssimpFBX.png b/testing/baselines/TestDefaultConfigFileAssimpFBX.png index cfe4abed61..4876f6f861 100644 --- a/testing/baselines/TestDefaultConfigFileAssimpFBX.png +++ b/testing/baselines/TestDefaultConfigFileAssimpFBX.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:48569f03d182bcee3d4346db2a0bef5bddcefe548c37069bdf7e6648dcaeda42 -size 42857 +oid sha256:fb3abe12040aa834aa15a146e2048c896545c6a9330f9f23357349ba601efeaf +size 45211 diff --git a/testing/baselines/TestDefaultConfigFileAssimpOFF.png b/testing/baselines/TestDefaultConfigFileAssimpOFF.png index 77554feca4..d20a9d2fef 100644 --- a/testing/baselines/TestDefaultConfigFileAssimpOFF.png +++ b/testing/baselines/TestDefaultConfigFileAssimpOFF.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43b9bbae829c51fd1ff181b120f8070ce941fc1537dad08eb8a01c367aadaf0f -size 42085 +oid sha256:58ef00a7f7eb03446ab338ff564ce89a80ffc3f11bf8682389a520a447ddb973 +size 47109 diff --git a/testing/baselines/TestDefaultConfigFileDraco.png b/testing/baselines/TestDefaultConfigFileDraco.png index 5e8a48f7d0..255944bb75 100644 --- a/testing/baselines/TestDefaultConfigFileDraco.png +++ b/testing/baselines/TestDefaultConfigFileDraco.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99c0d27c751afcf3dfb2538c121af2e4f80d8f10ef4b267fea00caa52eaa8ec0 -size 65948 +oid sha256:422edc4d08003d8accf69c7219ee4bf689d4f30536a132f871ea5cf77bda3a0a +size 72450 diff --git a/testing/baselines/TestDefaultConfigFileExodus.png b/testing/baselines/TestDefaultConfigFileExodus.png index 57159a4597..d0cf092242 100644 --- a/testing/baselines/TestDefaultConfigFileExodus.png +++ b/testing/baselines/TestDefaultConfigFileExodus.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef4941975c42a9d175156dca30f520b82124d59b5d6494b77e0b7eaa3f8915de -size 51564 +oid sha256:134a351f413d2092d655f603863084b48a411cf69b7fd230c66889b3d2700a3b +size 55040 diff --git a/testing/baselines/TestDefaultConfigFileOCCT.png b/testing/baselines/TestDefaultConfigFileOCCT.png index 98be23fdbc..b469709713 100644 --- a/testing/baselines/TestDefaultConfigFileOCCT.png +++ b/testing/baselines/TestDefaultConfigFileOCCT.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ccfc1bce67d85760c87450388904cfc08e470a0c5343f49b8b32628d0b57524 -size 39748 +oid sha256:b5fdfaa4d9ddab28e2019e99f6b53730884440060696266b3c6b61f6d7b165f1 +size 45086 diff --git a/testing/baselines/TestDefaultConfigFilePLY.png b/testing/baselines/TestDefaultConfigFilePLY.png index f8117a2e01..5f9777c6e6 100644 --- a/testing/baselines/TestDefaultConfigFilePLY.png +++ b/testing/baselines/TestDefaultConfigFilePLY.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30d6e507108302e661a77cb7e60e76d829e47400de35d8c0e371d543423419b3 -size 60635 +oid sha256:afc9dd6dd6bd4aff0f7599f4d6f81eef1e818af95a95e57e7328d7d869ae8ade +size 67533 diff --git a/testing/baselines/TestDefaultConfigFileSTL.png b/testing/baselines/TestDefaultConfigFileSTL.png index 040e75322f..d6261f4315 100644 --- a/testing/baselines/TestDefaultConfigFileSTL.png +++ b/testing/baselines/TestDefaultConfigFileSTL.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:46efb50d342e1226909dbf0e4a9579ce99d5ad89ca693a61221fe11ca8034954 -size 46796 +oid sha256:5725d1b5a35f05c8539518425a14a471e6b05422c738cf2f0564105a2d87c43f +size 53982 diff --git a/testing/baselines/TestDefaultConfigFileTIFF.png b/testing/baselines/TestDefaultConfigFileTIFF.png index 305a02fd10..98dcc89a34 100644 --- a/testing/baselines/TestDefaultConfigFileTIFF.png +++ b/testing/baselines/TestDefaultConfigFileTIFF.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:266618d57b13c956b701f18999060639a57c2777f869f21b18f60ed0c2d58694 -size 31764 +oid sha256:6fd0ecc16d10acb3ad96627a9aaf86cbd990ad3250e8d1a89b6ad6d52a8d8455 +size 34607 diff --git a/testing/baselines/TestDefaultConfigFileUSD.png b/testing/baselines/TestDefaultConfigFileUSD.png index 4144c3986f..60f39c7e72 100644 --- a/testing/baselines/TestDefaultConfigFileUSD.png +++ b/testing/baselines/TestDefaultConfigFileUSD.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e53f0e5f89149b4c5c59f5afa1835ab13300d9c7faf7283284443bb4791f9ac -size 42263 +oid sha256:fb91b2668489e4f73d0839a445e6a445d80ec445f46a1efde83a0c320709ba8a +size 48541 diff --git a/testing/baselines/TestDefaultConfigFileVDB.png b/testing/baselines/TestDefaultConfigFileVDB.png index ea84396e2b..68854cd6a3 100644 --- a/testing/baselines/TestDefaultConfigFileVDB.png +++ b/testing/baselines/TestDefaultConfigFileVDB.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ddcad2d83b5d3639f39f3e0df52674e5adb1c325dd8042590b6a163354e6416 -size 49056 +oid sha256:2595c28fbdefe20b5b39b0f820b5fd224f56be7d17dbb854af4d5a7b9931294d +size 56691 diff --git a/testing/baselines/TestDefaultConfigFileVTI.png b/testing/baselines/TestDefaultConfigFileVTI.png index b30f1600be..4d74479f2d 100644 --- a/testing/baselines/TestDefaultConfigFileVTI.png +++ b/testing/baselines/TestDefaultConfigFileVTI.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3483aaf1bf6c0358fa51a194e54106bb7f60b0063169233768bfd15d7f220fdc -size 51665 +oid sha256:a89140add830e4df21248cd5d1eda723f7d84ce29031fee6f9d19007a4b443c3 +size 56312 diff --git a/testing/baselines/TestDefaultConfigFileVTU.png b/testing/baselines/TestDefaultConfigFileVTU.png index ff086b10dc..335cb82149 100644 --- a/testing/baselines/TestDefaultConfigFileVTU.png +++ b/testing/baselines/TestDefaultConfigFileVTU.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:060772ce64b981309d856b56372e7a958bec6b977e01b990b64bb9bb8d53894e -size 62221 +oid sha256:dd44b63f6b4e34d875167ed9e3e07422ca42cd94ccae5e24c66bd31ff6deec43 +size 67123 diff --git a/testing/baselines/TestDefaultConfigTranslucent.png b/testing/baselines/TestDefaultConfigTranslucent.png index 34f660088d..fef45774c2 100644 --- a/testing/baselines/TestDefaultConfigTranslucent.png +++ b/testing/baselines/TestDefaultConfigTranslucent.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81ecdd10b12d826c7cec3799827944f33bc23cb986f8cba1e92fefa363f3903e -size 40125 +oid sha256:ea697e767adb0c37c9a4620e3b1bd92c04b06f44f966e9771a9ab26d650da94f +size 46759 diff --git a/testing/baselines/TestFBX.png b/testing/baselines/TestFBX.png index 401f45a013..b4f9a04a36 100644 --- a/testing/baselines/TestFBX.png +++ b/testing/baselines/TestFBX.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b81dbd951306d8fcb4b3c3b4189291fc00c9a7a30c57a19c94e8b7e74333f7a -size 1417 +oid sha256:b002e30dd2e358e60d267a3eabcdaec38fee9eb9cc767cfcca8c8b10b25500c3 +size 1416 diff --git a/testing/baselines/TestGridAbsolute.png b/testing/baselines/TestGridAbsolute.png index 77f4e34fdd..bbeddf88b4 100644 --- a/testing/baselines/TestGridAbsolute.png +++ b/testing/baselines/TestGridAbsolute.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b00dd4d9456d232b4b6d7238f4c08bbbe27251a29fb97d979a29f09b89cb653 -size 36347 +oid sha256:9822d6763caedffb53480d9d01ad89e3e5d1da9b0fe6aa6b5830cf9ef940450f +size 45221 diff --git a/testing/baselines/TestGridClipping.png b/testing/baselines/TestGridClipping.png index 627346edb7..54abf0cd7d 100644 --- a/testing/baselines/TestGridClipping.png +++ b/testing/baselines/TestGridClipping.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fe3fcd0fe8fe23f316773b81a6a15e43e60d22e99c46cbbbf347ba5aee4d42e3 -size 11899 +oid sha256:b3bf2a6858c37f57e015e74a6ff181e6733b72e4f936f6321bd73ed22d1c3ae1 +size 14504 diff --git a/testing/baselines/TestGridOptions.png b/testing/baselines/TestGridOptions.png index e47ebb3d51..b8c639fb4f 100644 --- a/testing/baselines/TestGridOptions.png +++ b/testing/baselines/TestGridOptions.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5583dfbb33311266f888c2006521665f8b87e2f62c1cdb1485be7847d264a170 -size 28741 +oid sha256:85e23a1972ef4a3fbb9f4d81b4864abc4c414bf0f886c27e00d0367729a23e0e +size 30017 diff --git a/testing/baselines/TestGridWithDepthPeeling.png b/testing/baselines/TestGridWithDepthPeeling.png index 0deb68a7bb..92eb1d833e 100644 --- a/testing/baselines/TestGridWithDepthPeeling.png +++ b/testing/baselines/TestGridWithDepthPeeling.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d5b710b57444d19a84b3355ffde983ff6d10e7c7f25f019b1defd78c07036b4 -size 17994 +oid sha256:5a7b709ba097de3aca25f562f8b312303c1c066bb3b8b7cde5ffea3cbc49f0ec +size 26931 diff --git a/testing/baselines/TestGridX.png b/testing/baselines/TestGridX.png index 973d876f96..3d133b013d 100644 --- a/testing/baselines/TestGridX.png +++ b/testing/baselines/TestGridX.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f09e4c505ea2f0acec12167d054074e05d722b17f07a930ef36c82f7e805faa6 -size 22267 +oid sha256:f77f362288ecec58cce5a81b8ede81f2b9ee4a39a13890944bf5d0143641e17a +size 23757 diff --git a/testing/baselines/TestGridY.png b/testing/baselines/TestGridY.png index 65bf4f1b21..2478e92502 100644 --- a/testing/baselines/TestGridY.png +++ b/testing/baselines/TestGridY.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:78cc601cf7e1ad56fec541a85a3feea292e6e6cfe12f154bb967713a496851be -size 28242 +oid sha256:317358f35dd1d55e215c16c8459ae486bc4aa2cd95a830ea7414039f84ff256b +size 31140 diff --git a/testing/baselines/TestGridZ.png b/testing/baselines/TestGridZ.png index 290cdd5d37..19076e9576 100644 --- a/testing/baselines/TestGridZ.png +++ b/testing/baselines/TestGridZ.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce7d04b5db1562e422f8cb9ac00c74a83b33a8af17db64dd63885678aff9e02b -size 18298 +oid sha256:9c4e2f220c7f2df45fa82ed0be83011d5cf5d5f7af7184a1068d226bc49a6bb7 +size 21182 diff --git a/testing/baselines/TestInteractionActors.png b/testing/baselines/TestInteractionActors.png index 3f07da1f1f..aa4ba6aa73 100644 --- a/testing/baselines/TestInteractionActors.png +++ b/testing/baselines/TestInteractionActors.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8fba95a22d66eaeebc725a8a68f7fb250d13af85f1d3784b84c3472b791a6391 -size 55465 +oid sha256:1d90d7d305176e65926a827bf958a938623d07644536714a5605dde88d60e2e5 +size 60066 diff --git a/testing/baselines/TestInteractionCheatsheet.png b/testing/baselines/TestInteractionCheatsheet.png index 397c0818dd..d242f2553b 100644 --- a/testing/baselines/TestInteractionCheatsheet.png +++ b/testing/baselines/TestInteractionCheatsheet.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad6eb6eff36e3194160fb9af4cb9b65cf11a7f7489edcc3e18069b9ea93cdea4 -size 37556 +oid sha256:83e8ce228be5a993b3550eee35734b31341e11bc3e77941567ed5d9bfbcb6d29 +size 40404 diff --git a/testing/baselines/TestInteractionCheatsheetBlackBG.png b/testing/baselines/TestInteractionCheatsheetBlackBG.png index 332f118623..2edadc2f9f 100644 --- a/testing/baselines/TestInteractionCheatsheetBlackBG.png +++ b/testing/baselines/TestInteractionCheatsheetBlackBG.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3060cdc37a9c35147c73d59b97f954bc3830f12faf58db5be9829ff29e617923 -size 37979 +oid sha256:9f2692ce2255443110a69a74476cfd4adb87a03e6e447f516fcd06d369666c5c +size 40841 diff --git a/testing/baselines/TestInteractionCheatsheetBlackBGRaytracing.png b/testing/baselines/TestInteractionCheatsheetBlackBGRaytracing.png index d62b9f0634..f1aa615ab4 100644 --- a/testing/baselines/TestInteractionCheatsheetBlackBGRaytracing.png +++ b/testing/baselines/TestInteractionCheatsheetBlackBGRaytracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:566379fb2e6d667fa4a33c64eb3f346235258535e1839fc229fe901fb85b3595 -size 37944 +oid sha256:273b23b5a118ce9d7e30fd4b976e6b22146bfb5847e514a6449d9c60abe660be +size 40990 diff --git a/testing/baselines/TestInteractionCheatsheetRaytracing.png b/testing/baselines/TestInteractionCheatsheetRaytracing.png index a51c477689..3cae6dcc31 100644 --- a/testing/baselines/TestInteractionCheatsheetRaytracing.png +++ b/testing/baselines/TestInteractionCheatsheetRaytracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7fa11f76ded6217cc6894dfc289fdab0dfc86321877b7f1b50d785fb6920fbb -size 37320 +oid sha256:00944039b3da34b09c5a3d7903b55c6c29614d096900f9359e8dd39e31df3e88 +size 40371 diff --git a/testing/baselines/TestInteractionCheatsheetScalars.png b/testing/baselines/TestInteractionCheatsheetScalars.png index 1071ff1c81..09ea12a231 100644 --- a/testing/baselines/TestInteractionCheatsheetScalars.png +++ b/testing/baselines/TestInteractionCheatsheetScalars.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59d406773a2cc2cbe96248d5f0bcab0112e360050ec22f9ce8ff3fad6191ae8b -size 42745 +oid sha256:6c0bcc31dafbe4acb657c0e536fbcbf47d6c29548dc357189f22dafeffd2bf69 +size 46290 diff --git a/testing/baselines/TestInteractionCheatsheetScalarsRaytracing.png b/testing/baselines/TestInteractionCheatsheetScalarsRaytracing.png index 658e125ade..f5c3c2c891 100644 --- a/testing/baselines/TestInteractionCheatsheetScalarsRaytracing.png +++ b/testing/baselines/TestInteractionCheatsheetScalarsRaytracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a74b69445aea6e219f60d79e33aa88c90aaeef6616a3852b06b76dca0a26673a -size 42519 +oid sha256:a38d6792fe0275ca5f318d285ce1b768057131648dcbf19d0cd6a4c8ccd52412 +size 46336 diff --git a/testing/baselines/TestInteractionCheatsheetWhiteBG.png b/testing/baselines/TestInteractionCheatsheetWhiteBG.png index a2ea86087b..0c654762d2 100644 --- a/testing/baselines/TestInteractionCheatsheetWhiteBG.png +++ b/testing/baselines/TestInteractionCheatsheetWhiteBG.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d5e3e4f30344211739517201c0bc745c6952e499bdac912ff291d16f346a01d -size 35989 +oid sha256:2fdd19fe943e07062f6685f1d7988dcc6db69de9043c5c1a8370d28f6c1d01f3 +size 39480 diff --git a/testing/baselines/TestInteractionCheatsheetWhiteBGRaytracing.png b/testing/baselines/TestInteractionCheatsheetWhiteBGRaytracing.png index 893cc5d8cb..a274ee1e1a 100644 --- a/testing/baselines/TestInteractionCheatsheetWhiteBGRaytracing.png +++ b/testing/baselines/TestInteractionCheatsheetWhiteBGRaytracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13306a6d87e8ac412d63297858604c369c89054e8efb4c6778dcf94d9e7d3a18 -size 35940 +oid sha256:b6341c8bbb0662a5696cbfac36185e920e9d0f0e4cf2f388f95a5ce9a9665883 +size 39561 diff --git a/testing/baselines/TestInteractionConfigFileAndCommand.png b/testing/baselines/TestInteractionConfigFileAndCommand.png index 0ff8bf9816..914a83e32c 100644 --- a/testing/baselines/TestInteractionConfigFileAndCommand.png +++ b/testing/baselines/TestInteractionConfigFileAndCommand.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3cb4994c0f41b724968a758e44b1ea3054c0956b3f710d30a41626fb7dee0a65 -size 27373 +oid sha256:17bf15bce32f4e6d8c8f2ea65e9bb862d3301320785da7d19137d23b67065d4a +size 30155 diff --git a/testing/baselines/TestInteractionConfigFileMulti.png b/testing/baselines/TestInteractionConfigFileMulti.png index 2520871c7a..914a83e32c 100644 --- a/testing/baselines/TestInteractionConfigFileMulti.png +++ b/testing/baselines/TestInteractionConfigFileMulti.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:049c3de9c5d78929a69a7446761f3f78c303f5721bb62f8f8ed39b5a61358181 -size 26693 +oid sha256:17bf15bce32f4e6d8c8f2ea65e9bb862d3301320785da7d19137d23b67065d4a +size 30155 diff --git a/testing/baselines/TestInteractionCycleCell.png b/testing/baselines/TestInteractionCycleCell.png index 04acab8692..c8b6cc3e54 100644 --- a/testing/baselines/TestInteractionCycleCell.png +++ b/testing/baselines/TestInteractionCycleCell.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1cedf01a7c04e77b7add5b682d8567399967e60a61097869e2b7b0a315ad6c1 -size 25451 +oid sha256:917d020d84fb71ccb3fe58efe65dff4379b090f0b8e911ceaa32fc3aafdfcee6 +size 25576 diff --git a/testing/baselines/TestInteractionDirectoryEmpty.png b/testing/baselines/TestInteractionDirectoryEmpty.png index c7aa52070b..78d387d3bb 100644 --- a/testing/baselines/TestInteractionDirectoryEmpty.png +++ b/testing/baselines/TestInteractionDirectoryEmpty.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6789c7fd477ee3e6ecb90900904afded1405e7c1d0c577d5ea29ce8831001d1 -size 6210 +oid sha256:5b4c59e96ff43ae6db6f19172f1b3a87ff263a2dca462c19c784745f7ac43414 +size 6352 diff --git a/testing/baselines/TestInteractionHDRIChange.png b/testing/baselines/TestInteractionHDRIChange.png index e8bfbf43c9..a1d9a3ea29 100644 --- a/testing/baselines/TestInteractionHDRIChange.png +++ b/testing/baselines/TestInteractionHDRIChange.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:982589a34f812b2eec4361f1025404270565e36ea9e6688e49f8295a14ac45b0 -size 90554 +oid sha256:26460a376ccaddc8752fd2fa8c70837a62a52aafaa4d07de582c9c295cd998cf +size 90972 diff --git a/testing/baselines/TestInteractionNoFileCheatsheet.png b/testing/baselines/TestInteractionNoFileCheatsheet.png index 6dab611326..89c60091cb 100644 --- a/testing/baselines/TestInteractionNoFileCheatsheet.png +++ b/testing/baselines/TestInteractionNoFileCheatsheet.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4251907c49e7595bac87314f2c2bb6ff87bb8047a4dd84eeb60c3ad781842bcd -size 30736 +oid sha256:d0d306368fbcb23633ec1c664a80b213e86268a51e3205c1e88dc57006457d21 +size 30989 diff --git a/testing/baselines/TestInteractionNoFileCheatsheetRaytracing.png b/testing/baselines/TestInteractionNoFileCheatsheetRaytracing.png index 71d1b768ad..edc4b5348b 100644 --- a/testing/baselines/TestInteractionNoFileCheatsheetRaytracing.png +++ b/testing/baselines/TestInteractionNoFileCheatsheetRaytracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d00ad1634a664fe10f43229e2cb8c67ee4284f1d1b1167ec55eb95c22b69f48 -size 30006 +oid sha256:9653fa31f8d3c8bc9838be6ab953e503d22d20207873ea66294064b8869fe8ed +size 30083 diff --git a/testing/baselines/TestMetaData.png b/testing/baselines/TestMetaData.png index a8f1724698..856057b7c4 100644 --- a/testing/baselines/TestMetaData.png +++ b/testing/baselines/TestMetaData.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6286e03c2371b50d7bb52a0031fc258c503a25cf77c5849c6f6abc8b2a7444cb -size 6569 +oid sha256:b2fdfa0cd5b73f851694ab9d91bb96be59575f5e8330bba755d2222c88c7496a +size 6443 diff --git a/testing/baselines/TestMetaDataImporter.png b/testing/baselines/TestMetaDataImporter.png index fc4ab6741d..dd4e1b7d49 100644 --- a/testing/baselines/TestMetaDataImporter.png +++ b/testing/baselines/TestMetaDataImporter.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:836eab68c163a0801b0f2edf32f26c81e23ba329ddf94ce18246421e05239104 -size 2831 +oid sha256:0fa5a91318ed6975f3a7fe7033eba264d166920e81c3c62a0664f28a686b1fd9 +size 2741 diff --git a/testing/baselines/TestMultiblockMetaData.png b/testing/baselines/TestMultiblockMetaData.png index aabbc72880..890436e284 100644 --- a/testing/baselines/TestMultiblockMetaData.png +++ b/testing/baselines/TestMultiblockMetaData.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0fca8625b2ac8cfd6f25a62fb363310224070d7aebb49bccb91e12dab80dd582 -size 12330 +oid sha256:1c1c24d6933d5e6a5e9ee99917c498959483c4ab432cc5b2d23df15013737572 +size 12772 diff --git a/testing/baselines/TestNoFile.png b/testing/baselines/TestNoFile.png index a1943048fc..8a0b7d6594 100644 --- a/testing/baselines/TestNoFile.png +++ b/testing/baselines/TestNoFile.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2bc6cd6ff8146e58780ab39c0420488a0acbfdff03a9ca385ca44b66a91891b -size 6218 +oid sha256:a92da29ce771c9c8c13f970d41954b651d89fe2a10ba8c94886463e546d52644 +size 6374 diff --git a/testing/baselines/TestSDKDynamicHDRIDefault.png b/testing/baselines/TestSDKDynamicHDRIDefault.png index d4bcc7a925..93348a8203 100644 --- a/testing/baselines/TestSDKDynamicHDRIDefault.png +++ b/testing/baselines/TestSDKDynamicHDRIDefault.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b59afd79620233c4e740172307eb23d849a5a9d67a7f042538f20590b65f8f3e -size 22484 +oid sha256:b248d57ca71e664688668377e8d37111089728dda038de955e84c4b9ef21b737 +size 22806 diff --git a/testing/baselines/TestSDKDynamicProperties.png b/testing/baselines/TestSDKDynamicProperties.png index 37f3681806..c7bd0484b5 100644 --- a/testing/baselines/TestSDKDynamicProperties.png +++ b/testing/baselines/TestSDKDynamicProperties.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c3c8829881213235eb66139745ce5ac15eb9fa576a4e90efc23ea53a9b8a6cd -size 23902 +oid sha256:edef6349fe15fdcbb2748684a1590d40b806c6c5c6a0eb578e97f6670163fc96 +size 25403 diff --git a/testing/baselines/TestSDKMultiOptions.png b/testing/baselines/TestSDKMultiOptions.png index 28f7158684..14ee3bcb96 100644 --- a/testing/baselines/TestSDKMultiOptions.png +++ b/testing/baselines/TestSDKMultiOptions.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79075586d572459ed039e4f78cc72c35ac192bed38a2489f39c70e5e989e3af2 -size 46782 +oid sha256:8cb421bc19b068da8b48821d2acaa9840ac59ee10815e6d4011b0b7b4a86b3ed +size 48999 diff --git a/testing/baselines/TestTextureColor.png b/testing/baselines/TestTextureColor.png index 8577a9bfe8..dacd0edc6c 100644 --- a/testing/baselines/TestTextureColor.png +++ b/testing/baselines/TestTextureColor.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:484b18a3c7394b974c81274e752a715eb70d11a0e9bf5075b6dc92c500de55dc -size 12609 +oid sha256:4e563e6a98ca1f4b9c0d7ef1f4074cbcd1165a6b9eb1255a6721f67acca8dcce +size 12736 diff --git a/testing/baselines/TestTextureColorWithOptions.png b/testing/baselines/TestTextureColorWithOptions.png index 649210e7f3..f554a2a245 100644 --- a/testing/baselines/TestTextureColorWithOptions.png +++ b/testing/baselines/TestTextureColorWithOptions.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1be019655c9995bf6063207ea879d64a914c777990cef997284f43d50123b7dd -size 11977 +oid sha256:58dbaf2048f57d2aa8e895286261da8f85ed16d4b49c172e9a94e9179f55e8e7 +size 13492 diff --git a/testing/baselines/TestThumbnailConfigFileAssimpDXF.png b/testing/baselines/TestThumbnailConfigFileAssimpDXF.png index 08acaa9c9f..f5b59e83c1 100644 --- a/testing/baselines/TestThumbnailConfigFileAssimpDXF.png +++ b/testing/baselines/TestThumbnailConfigFileAssimpDXF.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14a780153526d492f7a0822d710d6153bd9e316cb9d36feb37d12a7e5d85717e -size 9857 +oid sha256:3671ac6dd654a7fa7f5afdf256e1d6f5b9bb0d03127c01852391d999e20a05a3 +size 10738 diff --git a/testing/baselines/TestThumbnailConfigFileAssimpFBX.png b/testing/baselines/TestThumbnailConfigFileAssimpFBX.png index 67ae2cf92f..6b4f292da3 100644 --- a/testing/baselines/TestThumbnailConfigFileAssimpFBX.png +++ b/testing/baselines/TestThumbnailConfigFileAssimpFBX.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb54cd5d9d874380feabf7f704869aacb2239621a31db0ece74a3543f78d710b -size 2520 +oid sha256:323e4818b09a5137317114fb5a8d73ccfd275998be7b7421fc7a53e3197701b4 +size 3358 diff --git a/testing/baselines/TestThumbnailConfigFileVDB.png b/testing/baselines/TestThumbnailConfigFileVDB.png index e255c9297f..66937e7d9f 100644 --- a/testing/baselines/TestThumbnailConfigFileVDB.png +++ b/testing/baselines/TestThumbnailConfigFileVDB.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:600bd87a9fecb0122922905a23846853835b21433cd123f853d8e4c7f887dd7c -size 29950 +oid sha256:b5195dd964af996c15336811fff675ce36acc015758034351150cae37ec83875 +size 33678 diff --git a/testing/baselines/TestThumbnailConfigFileVTI.png b/testing/baselines/TestThumbnailConfigFileVTI.png index 76e1c2f7f5..dad8c3c358 100644 --- a/testing/baselines/TestThumbnailConfigFileVTI.png +++ b/testing/baselines/TestThumbnailConfigFileVTI.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8408ea0dadf3b0b97dad196a44ddd1c30feb69657c60b594b926e3020594fc24 -size 18205 +oid sha256:d5ce21f0de294400be6e23a0db11c72e4f0cf2fbe0484b7262b1ef3027cf6a73 +size 18325 diff --git a/testing/baselines/TestVDBVolume.png b/testing/baselines/TestVDBVolume.png index c0a294ffbc..396ccda4eb 100644 --- a/testing/baselines/TestVDBVolume.png +++ b/testing/baselines/TestVDBVolume.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfdf6b0bf2150458754e29c6a2569f423cb13174d449cb7220b0fcfcfac64dc2 -size 41106 +oid sha256:240274b7ac7b2a13838f7590b0bbe1633d55cef4d9886e662842fc14b36ecac6 +size 46221 diff --git a/testing/baselines/TestVolume.png b/testing/baselines/TestVolume.png index 3e32c26a6b..8dee0923a8 100644 --- a/testing/baselines/TestVolume.png +++ b/testing/baselines/TestVolume.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0cfd149c9da421d299993e8bb9e3245d53ecc615bb2bbc27a6ebd6a4c3e20a30 -size 35537 +oid sha256:89199fec2abfd6efba559b383c4ab405b058e3df0e63adb8982cff8cea90ff97 +size 37802 diff --git a/testing/baselines/TestVolumeCells.png b/testing/baselines/TestVolumeCells.png index 15cb633bd5..bfe66e5b76 100644 --- a/testing/baselines/TestVolumeCells.png +++ b/testing/baselines/TestVolumeCells.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5334132a73a19dc4f90c7259741f3ec9e5b346ae07e24c02fa33bb8a7452d218 -size 27021 +oid sha256:177eb37ab5a4e216971a6916c01fee9402d18c9f4b04c94e7c94285176000827 +size 27176 diff --git a/testing/baselines/TestVolumeComp.png b/testing/baselines/TestVolumeComp.png index 7b7bc307e2..27572c1fe3 100644 --- a/testing/baselines/TestVolumeComp.png +++ b/testing/baselines/TestVolumeComp.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:97b974251a7d682015da4978a9e4eae2254a6659dd272c22b700b248aca2d7c0 -size 19441 +oid sha256:c99d10e440ad974810dc298d0f832472d216f3b5eaf39b0b0d05962d576e028b +size 20502 diff --git a/testing/baselines/TestVolumeMag.png b/testing/baselines/TestVolumeMag.png index f432abc146..454b4c0813 100644 --- a/testing/baselines/TestVolumeMag.png +++ b/testing/baselines/TestVolumeMag.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64113f46a9c9a8e572c360928442865e60bba946c3ec9dcd4773c91b015405a1 -size 21840 +oid sha256:1219600843b7474da028ee2a817a1d20977cada1fb43bd8869cad50324ce36b7 +size 22634 diff --git a/testing/baselines/TestVolumeNonScalars.png b/testing/baselines/TestVolumeNonScalars.png index 1dff17d6ab..2c75bc3ec6 100644 --- a/testing/baselines/TestVolumeNonScalars.png +++ b/testing/baselines/TestVolumeNonScalars.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c850434b6db8c306862e403a72cad65ab069b2509fa2e7b127cce92a3abc252a -size 81901 +oid sha256:973771bb434dad7a720e3c7d77509684380f4e48f8c7ee4386082b1b7ed90e8c +size 82040 diff --git a/vtkext/private/module/vtkF3DRenderPass.cxx b/vtkext/private/module/vtkF3DRenderPass.cxx index feac3ee995..f0c0d2d544 100644 --- a/vtkext/private/module/vtkF3DRenderPass.cxx +++ b/vtkext/private/module/vtkF3DRenderPass.cxx @@ -216,6 +216,15 @@ void vtkF3DRenderPass::Render(const vtkRenderState* s) { this->Initialize(s); + double bgColor[3]; + + vtkRenderer* r = s->GetRenderer(); + r->GetBackground(bgColor); + + // force background to full black when generating offscreen layers to avoid blending + // problems when compositing layers in the Blend() function + r->SetBackground(0.0, 0.0, 0.0); + vtkRenderState backgroundState(s->GetRenderer()); backgroundState.SetPropArrayAndCount( this->BackgroundProps.data(), static_cast(this->BackgroundProps.size())); @@ -236,6 +245,9 @@ void vtkF3DRenderPass::Render(const vtkRenderState* s) this->MainPass->Render(&mainState); + // restore background color before compositing the layers + r->SetBackground(bgColor); + this->Blend(s); this->NumberOfRenderedProps = this->MainPass->GetNumberOfRenderedProps(); @@ -246,13 +258,13 @@ void vtkF3DRenderPass::Blend(const vtkRenderState* s) { vtkRenderer* r = s->GetRenderer(); vtkOpenGLRenderWindow* renWin = static_cast(r->GetRenderWindow()); - vtkOpenGLState* ostate = renWin->GetState(); r->Clear(); - vtkOpenGLState::ScopedglEnableDisable bsaver(ostate, GL_BLEND); - vtkOpenGLState::ScopedglEnableDisable dsaver(ostate, GL_DEPTH_TEST); - ostate->vtkglDisable(GL_DEPTH_TEST); - ostate->vtkglDisable(GL_BLEND); + + // Enable blending with default VTK blending function + // It is required since external window do not set it up + renWin->GetState()->vtkglEnable(GL_BLEND); + renWin->GetState()->vtkglBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA); if (this->BlendQuadHelper && this->BlendQuadHelper->ShaderChangeValue < this->GetMTime()) { @@ -267,6 +279,8 @@ void vtkF3DRenderPass::Blend(const vtkRenderState* s) ssDecl << "uniform sampler2D texBackground;\n" "uniform sampler2D texOverlay;\n" "uniform sampler2D texMain;\n" + "vec3 toLinear(vec3 color) { return pow(color.rgb, vec3(2.2)); }\n" + "vec3 toSRGB(vec3 color) { return pow(color.rgb, vec3(1.0 / 2.2)); }\n" "//VTK::FSQ::Decl"; vtkShaderProgram::Substitute(FSSource, "//VTK::FSQ::Decl", ssDecl.str()); @@ -275,43 +289,56 @@ void vtkF3DRenderPass::Blend(const vtkRenderState* s) ssImpl << " vec4 mainSample = texture(texMain, texCoord);\n"; -#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 3, 20230824) // vtkOSPRayPass output convention changed // It was sRGB before and it's now is linear color space - // We need to make the conversion to sRGB ourselves + // Thus, on newer versions, we can skip the conversion to linear space // See https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8577 - if (F3D_MODULE_RAYTRACING && this->UseRaytracing) +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 3, 20230824) || !F3D_MODULE_RAYTRACING + if (!this->UseRaytracing) +#endif { - ssImpl << " mainSample = vec4(pow(vec3(mainSample), vec3(1.0 / 2.2)), mainSample.a);\n"; + // the input color is alpha premultiplied, we need to divide it, then + // convert to linear space, and finally premultiply back by the alpha value + ssImpl << " if (mainSample.a > 0.0)\n"; + ssImpl << " mainSample.rgb = toLinear(mainSample.rgb / mainSample.a);\n"; + ssImpl << " mainSample.rgb *= mainSample.a;\n"; } -#endif - - ssImpl << " vec4 bgSample = texture(texBackground, texCoord);\n"; - ssImpl << " vec4 ovlSample = texture(texOverlay, texCoord);\n"; - - // TODO: the apha blending done here is incorrect. - // The colors should be premultiplied by the alpha value and all colors - // must be blended in linear color space - // see https://en.wikipedia.org/wiki/Alpha_compositing - // https://github.com/f3d-app/f3d/issues/968 - - // alpha blending (main) - ssImpl << " vec3 resultColor = mix(bgSample.rgb, mainSample.rgb, mainSample.a);\n"; - ssImpl << " float resultAlpha = mainSample.a;\n"; - - // alpha blending (overlay) - ssImpl << " resultColor = mix(resultColor, ovlSample.rgb, ovlSample.a);\n"; - ssImpl << " resultAlpha = mix(resultAlpha, ovlSample.a, ovlSample.a);\n"; + // blend main with background if (this->ForceOpaqueBackground) { - ssImpl << " gl_FragData[0] = vec4(resultColor, 1.0);\n"; + ssImpl << " vec3 bgSample = texture(texBackground, texCoord).rgb;\n"; + ssImpl << " bgSample = toLinear(bgSample);\n"; + + // alpha blending main to opaque background + ssImpl << " vec4 result = vec4((1.0 - mainSample.a) * bgSample + mainSample.rgb, 1.0);\n"; } else { - ssImpl << " gl_FragData[0] = vec4(resultColor, resultAlpha);\n"; + // the background is fully transparent, skip the blending + ssImpl << " vec4 result = mainSample;\n"; } + // the input color is alpha premultiplied, we need to divide it, then + // convert to linear space, and finally premultiply back by the alpha value + ssImpl << " vec4 ovlSample = texture(texOverlay, texCoord);\n"; + ssImpl << " if (ovlSample.a > 0.0)\n"; + ssImpl << " ovlSample.rgb = toLinear(ovlSample.rgb / ovlSample.a);\n"; + ssImpl << " ovlSample.rgb *= ovlSample.a;\n"; + + // premultiplied alpha blending (overlay) + ssImpl << " result.rgb = (1.0 - ovlSample.a) * result.rgb + ovlSample.rgb;\n"; + ssImpl << " result.a = (1.0 - ovlSample.a) * result.a + ovlSample.a;\n"; + + // divide by alpha and convert back to sRGB + // we shouldn't premultiply by alpha again here because the OpenGL blending + // function is expecting the source fragment not premultiplied + ssImpl << " if (result.a > 0.0)\n"; + ssImpl << " result.rgb = result.rgb / result.a;\n"; + ssImpl << " result.rgb = toSRGB(result.rgb);\n"; + + ssImpl << " gl_FragData[0] = result;\n"; + vtkShaderProgram::Substitute(FSSource, "//VTK::FSQ::Impl", ssImpl.str()); this->BlendQuadHelper = std::make_shared(renWin, diff --git a/webassembly/F3DEmscriptenBindings.cxx b/webassembly/F3DEmscriptenBindings.cxx index 1a71de9b70..dfc7493d35 100644 --- a/webassembly/F3DEmscriptenBindings.cxx +++ b/webassembly/F3DEmscriptenBindings.cxx @@ -48,6 +48,10 @@ f3d::options* set_integer(f3d::options& o, const std::string& name, int value) { return &o.set(name, value); } +f3d::options* set_color(f3d::options& o, const std::string& name, double r, double g, double b) +{ + return &o.set(name, std::vector{ r, g, b }); +} f3d::loader* getLoaderPtr(f3d::engine& e) { @@ -95,7 +99,8 @@ EMSCRIPTEN_BINDINGS(f3d) emscripten::class_("Options") .function("toggle", &toggle, emscripten::allow_raw_pointers()) .function("set_string", &set_string, emscripten::allow_raw_pointers()) - .function("set_integer", &set_integer, emscripten::allow_raw_pointers()); + .function("set_integer", &set_integer, emscripten::allow_raw_pointers()) + .function("set_color", &set_color, emscripten::allow_raw_pointers()); // f3d::loader emscripten::class_("Loader") diff --git a/webassembly/app.html b/webassembly/app.html index ef494f0f7d..7305838e7b 100644 --- a/webassembly/app.html +++ b/webassembly/app.html @@ -104,6 +104,9 @@

F3D Web

const settings = { canvas: document.getElementById("canvas"), setupOptions: (options) => { + // background must be set to black for proper blending with transparent canvas + options.set_color('render.background.color', 0, 0, 0); + // setup coloring options.set_string('model.scivis.array-name', 'Colors'); options.set_integer('model.scivis.component', -2);