Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion chunky
Submodule chunky deleted from 7b227a
30 changes: 3 additions & 27 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,20 @@
<jdk.version>1.8</jdk.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<chunky.version>2.3.0-60-g7b227a80</chunky.version>
</properties>

<repositories>
<repository>
<id>wertarbyte-repo</id>
<url>http://nexus.wertarbyte.com/content/groups/public/</url>
<id>lemaik-chunky</id>
<url>https://repo.lemaik.de/</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>se.llbit</groupId>
<artifactId>chunky-core</artifactId>
<version>${chunky.version}</version>
<version>2.4.1-20211022.232302-1</version>
</dependency>
<dependency>
<!-- dependency of chunky -->
Expand Down Expand Up @@ -133,29 +132,6 @@
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>install-chunky</id>
<phase>clean</phase>
<configuration>
<file>${basedir}/chunky/build/chunky-core-${chunky.version}.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>se.llbit</groupId>
<artifactId>chunky-core</artifactId>
<version>${chunky.version}</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@

public abstract class RendererApplication {

private static final int VERSION = 2;
private static final String TEXTURE_VERSION = "1.16.4";
private static final int VERSION = 3;
private static final String TEXTURE_VERSION = "1.17.1";
private static final Logger LOGGER = LogManager.getLogger(RendererApplication.class);

private final RenderServerApiClient api;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
package de.lemaik.renderservice.renderer.chunky;

import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.concurrent.CompletableFuture;
import se.llbit.chunky.renderer.RenderManager;
import se.llbit.chunky.renderer.RenderStatus;
import se.llbit.chunky.renderer.SnapshotControl;
import java.util.zip.GZIPOutputStream;

import se.llbit.chunky.renderer.*;
import se.llbit.chunky.renderer.postprocessing.PostProcessingFilters;
import se.llbit.chunky.renderer.scene.Scene;
import se.llbit.chunky.renderer.scene.SynchronousSceneManager;
import se.llbit.chunky.resources.TexturePackLoader;
import se.llbit.log.Log;
import se.llbit.util.ProgressListener;
import se.llbit.util.TaskTracker;

Expand Down Expand Up @@ -46,7 +47,7 @@ public CompletableFuture<byte[]> render(File texturepack, File scene, int target

context.setRenderThreadCount(threads);
context.setSppPerPass(targetSpp); // render in a single pass for minimal overhead
RenderManager renderer = new RenderManager(context, true);
RenderManager renderer = new DefaultRenderManager(context, true);
renderer.setCPULoad(cpuLoad);

SynchronousSceneManager sceneManager = new SynchronousSceneManager(context, renderer);
Expand All @@ -69,28 +70,49 @@ public boolean saveRenderDump(Scene scene, int nextSpp) {
}
});

renderer.setOnRenderCompleted((time, sps) -> {
RenderStatus status = renderer.getRenderStatus();
Scene renderedScene = sceneManager.getScene();
renderedScene.renderTime = status.getRenderTime();
renderedScene.spp = status.getSpp();
renderedScene.saveDump(context, new TaskTracker(ProgressListener.NONE));
result.complete(context.getDump());
});

try {
sceneManager.getScene().setPostprocess(PostProcessingFilters.NONE);
sceneManager.getScene().setTargetSpp(targetSpp);
sceneManager.getScene().startHeadlessRender();
renderer.start();
renderer.join();
renderer.shutdown();

RenderStatus status = renderer.getRenderStatus();
Scene renderedScene = sceneManager.getScene();
renderedScene.renderTime = status.getRenderTime();
renderedScene.spp = status.getSpp();
saveDumpClassic(context, renderedScene);
result.complete(context.getDump());
} catch (InterruptedException e) {
result.completeExceptionally(new RenderException("Rendering failed", e));
}

return result;
}

private static void saveDumpClassic(RenderContext context, Scene scene) {
String fileName = scene.name + ".dump";
double[] samples = scene.getSampleBuffer();
try (DataOutputStream out =
new DataOutputStream(new GZIPOutputStream(context.getSceneFileOutputStream(fileName)))) {
out.writeInt(scene.width);
out.writeInt(scene.height);
out.writeInt(scene.spp);
out.writeLong(scene.renderTime);
for (int x = 0 ; x < scene.width; x++) {
for (int y = 0; y < scene.height; y++) {
int offset = (y * scene.width + x) * 3;
for (int i = 0; i < 3; i++) {
out.writeDouble(samples[offset + i]);
}
}
}
} catch (IOException e) {
Log.warn("IO Exception while saving render dump!", e);
}
}

@Override
public void stop() {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ public void run() {

QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicQos(1, false); // only fetch <poolSize> tasks at once
channel.basicConsume("rs_tasks", false, consumer);
channel.basicConsume("rs_tasks_241", false, consumer);

while (!interrupted() && channel.isOpen()) {
try {
Expand Down