Skip to content

Commit

Permalink
v1.0.0
Browse files Browse the repository at this point in the history
bump version, add maven-compiler-plugin for java 7 support just in case, and update README
  • Loading branch information
Dylancyclone committed Jun 28, 2019
1 parent e951a8b commit e19f5da
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 9 deletions.
37 changes: 29 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,39 @@
# blender-render-farm

A work-in-progress Java CLI to manage rendering blender projects on multiple computers at once. This project is no where near a completed state, but updates are slowly being made.
blender-render-farm is a Java CLI built to manage rendering blender projects on multiple computers at once. One folder is selected as a working directory where blender files are stored as jobs and any number of computers can directly connect to it to render frames.

## Current best way to run
The jobs are stored in a simple json file, meaning any computer than has file access to the computer that hosts the project files can contribute to rendering.

This is my first Maven project, so I'm still trying to work out the best way to compile a standalone build in the best way. For now, this is what I'm using. This will probably change in the near future.
The application supports all Windows and Unix platforms, and supports the following output formats: TGA, RAWTGA, JPEG, IRIS, IRIZ, AVIRAW, AVIJPEG, PNG, BMP

From the root folder, run `mvn package;java -jar ./target/blender-render-farm-0.0.1-SNAPSHOT-jar-with-dependencies.jar [WORKING_DIRECTORY] [BLENDER_EXECUTABLE]`
## How to Run

Either grab the latest [release](https://github.com/Dylancyclone/blender-render-farm/releases), or compile it for yourself using `mvn package` from the root folder.

To instantly run it, use:

`mvn package;java -jar ./target/blender-render-farm-1.0.0-jar-with-dependencies.jar [WORKING_DIRECTORY] [BLENDER_EXECUTABLE]`

## Usage and Examples

```
usage: blender-render-farm [WORKING_DIRECTORY] [BLENDER_EXECUTABLE]
[args...]
-b,--basic Only show basic output (functionally identical)
usage: blender-render-farm [WORKING_DIRECTORY] [BLENDER_EXECUTABLE] [args...]
-b,--basic Only show basic output
-c,--client Instantly become a client
-e,--extra Show extra output
-h,--help Show this message
-m,--master Instantly become a master
```
```

For example running from a remote computer connecting to a windows computer over a UNC path:

`java -jar blender-render-farm.jar \\computer-name\BlenderFiles path/to/blender/executable`

Note on Linux systems (or if you've got blender in your windows PATH), it may be sufficient to just write 'blender' for the executable and it will be found.

After creating a job that points to a .blend file, all rendered frames will be placed in a subdirectory next to the blend file with the same name.

## Future Updates

While the current version works perfectly for a LAN network, there may come a time where I need rendering across networks. To do this, I would update this to be closer to a true master/client application, where the client connects to a master instance and asks directly for work to do. The master would choose a job and a frame that needs rendering and send the info to the client. The client would download and cache the job files to minimize network usage, render the frame locally, then send it back to the master and ask what to do next.
11 changes: 10 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>com.lathrum.blender-render-farm</groupId>
<artifactId>blender-render-farm</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>1.0.0</version>
<packaging>jar</packaging>

<name>blender-render-farm</name>
Expand Down Expand Up @@ -63,6 +63,15 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

0 comments on commit e19f5da

Please sign in to comment.