Fix: Support other color configs than the bundled one

This commit is contained in:
Raimund58
2025-03-28 09:29:04 +00:00
committed by Laurent Clouet
parent 617e1c1a90
commit d0d2c99ba9
5 changed files with 162 additions and 1 deletions

View File

@@ -47,6 +47,8 @@ dependencies {
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.12.+'
implementation 'org.slf4j:slf4j-nop:1.7.36'
implementation 'commons-io:commons-io:2.11.0'
testImplementation 'org.junit.jupiter:junit-jupiter:5.7.+'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
application {
@@ -70,3 +72,13 @@ pmd {
ruleSetFiles = files("rulesets/java-sheepit.xml")
ruleSets = []
}
tasks.named('test', Test) {
useJUnitPlatform()
maxHeapSize = '1G'
testLogging {
events "passed"
}
}

View File

@@ -32,6 +32,8 @@ import lombok.Data;
private long fullImageSize = 0;
private float speedSamplesRendered = 0; // only used for powerdetection project
private boolean isReadBlendLineLogged = false; // Only look for Color management: AFTER "Read blend: " line was detected
private String blenderShortVersion;
private String blenderLongVersion;
@@ -43,7 +45,10 @@ import lombok.Data;
// 07-04 07:43:12 (debug) /tmp///rend.exe: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp///lib/libboost_filesystem.so.1.80.0)
return Error.Type.OS_NOT_SUPPORTED;
}
else if (line.contains("Color management:")) {
else if (line.contains("Read blend:")) { // Only look for Color management: AFTER "Read blend: PATH" was detected
isReadBlendLineLogged = true;
}
else if (isReadBlendLineLogged && line.contains("Color management:")) {
String[] errors = {
" not found",
" is not compatible ",

View File

@@ -0,0 +1,46 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
import com.sheepit.client.datamodel.client.Error;
import com.sheepit.client.rendering.RenderOutput;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class RenderOutputTest {
@Test public void testColorManagementDetectionRightPathOCIO() throws IOException, URISyntaxException {
RenderOutput renderOutput = new RenderOutput();
URL file = getClass().getResource("/color_management_detection_right_path_ocio.log");
if (file == null) {
fail("no data");
}
Stream<String> lines = Files.lines(Paths.get(file.toURI()));
lines.forEach(line -> assertEquals(Error.Type.OK, renderOutput.detectError(line)));
}
@Test public void testColorManagementDetectionWrongPathOCIO() throws IOException, URISyntaxException {
RenderOutput renderOutput = new RenderOutput();
URL file = getClass().getResource("/color_management_detection_wrong_path_ocio.log");
if (file == null) {
fail("no data");
}
Stream<String> lines = Files.lines(Paths.get(file.toURI()));
lines.forEach(line -> {
Error.Type ret = renderOutput.detectError(line);
if (ret != Error.Type.OK) {
assertEquals(Error.Type.COLOR_MANAGEMENT_ERROR, ret);
}
});
}
}

View File

@@ -0,0 +1,49 @@
Blender 4.3.0 (hash 2b18cad88b13 built 2024-11-19 10:50:58)
Color management: Using /tmp/OCIO/config.ocio as a configuration file
Color management: display "sRGB" used by scene not found, setting to default ("ACES").
Color management: scene view "AgX" not found, setting default "sRGB".
Color management: sequencer colorspace "sRGB" not found, will use default instead.
Read blend: "/tmp/aces.blend"
Fra:300 Mem:10.55M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Synchronizing object | Cube
Fra:300 Mem:10.55M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Initializing
Fra:300 Mem:10.37M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Waiting for render to start
Fra:300 Mem:10.37M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Loading render kernels (may take a few minutes the first time)
Fra:300 Mem:10.37M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene
Fra:300 Mem:10.37M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Shaders
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Procedurals
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Background
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Camera
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Meshes Flags
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Objects
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Objects | Copying Transformations to device
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Objects | Applying Static Transformations
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Particle Systems
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Particle Systems | Copying Particles to device
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Meshes
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Mesh | Computing attributes
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Mesh | Copying Attributes to device
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene BVH | Building
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene BVH | Building BVH
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene BVH | Building BVH 0%
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene BVH | Copying BVH to device
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Mesh | Computing normals
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Mesh | Copying Mesh to device
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Objects Flags
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Primitive Offsets
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Images
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Camera Volume
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Lookup Tables
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.08M, Peak:0.08M | Scene, ViewLayer | Updating Lights
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.08M, Peak:0.08M | Scene, ViewLayer | Updating Lights | Computing tree
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.08M, Peak:0.08M | Scene, ViewLayer | Updating Integrator
Fra:300 Mem:10.45M (Peak 11.13M) | Time:00:00.00 | Mem:0.08M, Peak:0.08M | Scene, ViewLayer | Updating Film
Fra:300 Mem:10.46M (Peak 11.13M) | Time:00:00.00 | Mem:0.00M, Peak:0.08M | Scene, ViewLayer | Updating Lookup Tables
Fra:300 Mem:10.46M (Peak 11.13M) | Time:00:00.00 | Mem:0.09M, Peak:0.09M | Scene, ViewLayer | Updating Baking
Fra:300 Mem:10.46M (Peak 11.13M) | Time:00:00.00 | Mem:0.09M, Peak:0.09M | Scene, ViewLayer | Updating Device | Writing constant memory
Fra:300 Mem:10.46M (Peak 11.13M) | Time:00:00.00 | Mem:0.09M, Peak:0.09M | Scene, ViewLayer | Loading denoising kernels (may take a few minutes the first time)
Fra:300 Mem:10.46M (Peak 11.13M) | Time:00:00.00 | Mem:0.09M, Peak:0.09M | Scene, ViewLayer | Sample 0/10
Fra:300 Mem:121.23M (Peak 121.23M) | Time:00:00.19 | Remaining:00:01.69 | Mem:110.83M, Peak:110.83M | Scene, ViewLayer | Sample 1/10
Fra:300 Mem:184.51M (Peak 279.44M) | Time:00:08.61 | Mem:110.83M, Peak:110.83M | Scene, ViewLayer | Sample 10/10
Fra:300 Mem:184.51M (Peak 279.44M) | Time:00:08.61 | Mem:110.83M, Peak:110.83M | Scene, ViewLayer | Finished
Saved: '/tmp/0300.png'
Time: 00:08.95 (Saving: 00:00.34)

View File

@@ -0,0 +1,49 @@
Blender 4.3.0 (hash 2b18cad88b13 built 2024-11-19 10:50:58)
OpenColorIO Error: Error could not read '/tmp/OCIO/config2.ocio' OCIO profile.
Read blend: "/tmp/aces.blend"
Color management: display "ACES" used by scene not found, setting to default ("sRGB").
Color management: scene view "P3-D65 ST2084 1000 nits" not found, setting default "Standard".
Color management: sequencer colorspace "vlog_vgamut" not found, will use default instead.
Fra:300 Mem:10.35M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Synchronizing object | Cube
Fra:300 Mem:10.35M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Initializing
Fra:300 Mem:10.18M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Waiting for render to start
Fra:300 Mem:10.18M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Loading render kernels (may take a few minutes the first time)
Fra:300 Mem:10.18M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene
Fra:300 Mem:10.18M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Shaders
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Procedurals
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Background
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Camera
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Meshes Flags
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Objects
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Objects | Copying Transformations to device
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Objects | Applying Static Transformations
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Particle Systems
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Particle Systems | Copying Particles to device
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Meshes
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Mesh | Computing attributes
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Mesh | Copying Attributes to device
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene BVH | Building
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene BVH | Building BVH
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene BVH | Building BVH 0%
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Scene BVH | Copying BVH to device
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Mesh | Computing normals
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Mesh | Copying Mesh to device
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Objects Flags
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Primitive Offsets
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Images
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Camera Volume
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.00M | Scene, ViewLayer | Updating Lookup Tables
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.08M, Peak:0.08M | Scene, ViewLayer | Updating Lights
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.08M, Peak:0.08M | Scene, ViewLayer | Updating Lights | Computing tree
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.08M, Peak:0.08M | Scene, ViewLayer | Updating Integrator
Fra:300 Mem:10.26M (Peak 11.27M) | Time:00:00.00 | Mem:0.08M, Peak:0.08M | Scene, ViewLayer | Updating Film
Fra:300 Mem:10.27M (Peak 11.27M) | Time:00:00.00 | Mem:0.00M, Peak:0.08M | Scene, ViewLayer | Updating Lookup Tables
Fra:300 Mem:10.27M (Peak 11.27M) | Time:00:00.00 | Mem:0.09M, Peak:0.09M | Scene, ViewLayer | Updating Baking
Fra:300 Mem:10.27M (Peak 11.27M) | Time:00:00.00 | Mem:0.09M, Peak:0.09M | Scene, ViewLayer | Updating Device | Writing constant memory
Fra:300 Mem:10.27M (Peak 11.27M) | Time:00:00.00 | Mem:0.09M, Peak:0.09M | Scene, ViewLayer | Loading denoising kernels (may take a few minutes the first time)
Fra:300 Mem:10.27M (Peak 11.27M) | Time:00:00.00 | Mem:0.09M, Peak:0.09M | Scene, ViewLayer | Sample 0/10
Fra:300 Mem:121.04M (Peak 121.04M) | Time:00:00.14 | Remaining:00:01.28 | Mem:110.83M, Peak:110.83M | Scene, ViewLayer | Sample 1/10
Fra:300 Mem:184.32M (Peak 279.24M) | Time:00:08.53 | Mem:110.83M, Peak:110.83M | Scene, ViewLayer | Sample 10/10
Fra:300 Mem:184.32M (Peak 279.24M) | Time:00:08.53 | Mem:110.83M, Peak:110.83M | Scene, ViewLayer | Finished
Saved: '/tmp/0300.png'
Time: 00:08.69 (Saving: 00:00.16)