Fix: Support other color configs than the bundled one
This commit is contained in:
committed by
Laurent Clouet
parent
617e1c1a90
commit
d0d2c99ba9
12
build.gradle
12
build.gradle
@@ -47,6 +47,8 @@ dependencies {
|
|||||||
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.12.+'
|
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.12.+'
|
||||||
implementation 'org.slf4j:slf4j-nop:1.7.36'
|
implementation 'org.slf4j:slf4j-nop:1.7.36'
|
||||||
implementation 'commons-io:commons-io:2.11.0'
|
implementation 'commons-io:commons-io:2.11.0'
|
||||||
|
testImplementation 'org.junit.jupiter:junit-jupiter:5.7.+'
|
||||||
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
||||||
}
|
}
|
||||||
|
|
||||||
application {
|
application {
|
||||||
@@ -70,3 +72,13 @@ pmd {
|
|||||||
ruleSetFiles = files("rulesets/java-sheepit.xml")
|
ruleSetFiles = files("rulesets/java-sheepit.xml")
|
||||||
ruleSets = []
|
ruleSets = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.named('test', Test) {
|
||||||
|
useJUnitPlatform()
|
||||||
|
|
||||||
|
maxHeapSize = '1G'
|
||||||
|
|
||||||
|
testLogging {
|
||||||
|
events "passed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ import lombok.Data;
|
|||||||
private long fullImageSize = 0;
|
private long fullImageSize = 0;
|
||||||
private float speedSamplesRendered = 0; // only used for powerdetection project
|
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 blenderShortVersion;
|
||||||
private String blenderLongVersion;
|
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)
|
// 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;
|
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 = {
|
String[] errors = {
|
||||||
" not found",
|
" not found",
|
||||||
" is not compatible ",
|
" is not compatible ",
|
||||||
|
|||||||
46
src/test/java/RenderOutputTest.java
Normal file
46
src/test/java/RenderOutputTest.java
Normal 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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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)
|
||||||
@@ -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)
|
||||||
Reference in New Issue
Block a user