network rendering central control program (C#)
-
- Posts: 52
- Joined: Fri Mar 09, 2007 4:44 am
Hi guys as usual work and life are slowing my progress, but I will try to get the basics together, and upload everything.
-niko
Russdigo, I don't know if this will fix your problem either, since you appear to have some more serious issues with network rendering and I don't know what it causing that...
-niko
Russdigo, I don't know if this will fix your problem either, since you appear to have some more serious issues with network rendering and I don't know what it causing that...
-
- Posts: 52
- Joined: Fri Mar 09, 2007 4:44 am
Ok guys here is what I have together so far. Here is the contents of the README file.
Hi all,
I was going to make a system tray icon and UI for the tracker and for the
render clients, but I don't have the time just yet, so I added the INI settings
and cleaned up a couple of things, and decided to upload this. I hope these
instructions are clear enough to understand how to use it.
In this archive you will find:
1. A folder "SourceCode_C#" containing the source code for all the programs.
this was written in C# using Visual Studio 2005.
2. A folder "MasterControl" containing the master controller program which
you run on the master rendering machine.
3. A folder "Tracker" which contains a EXE which acts as a "tracker" server
which the clients will connect to. This tracker keeps track of available
clients
4. A folder "RenderClient" which contains an EXE which acts as a remote client,
which the master controller connects to and gives commands to. The client
can also accept file uploads from the master (render files and textures, etc)
TO USE THIS PROGRAM:
1. Run the EXE tracker on any system you see fit. Note the computer name or its network
IP address. Please note also that using "localhost" will not work, you must use
the computer's real name.
2. Run the client EXE on all computers you want to act as render clients.
To use a client you must:
a. Edit the INI file to be sure the client knows where the tracker is. You can use
the IP address or the computer BIOS name.
b. Edit the INI file to tell it where Indigo.exe is on the remote client machine.
3. Now run the Master Control program on the machine you wish to be the master renderer. This
would usually be the machine that you are working on your 3d model, etc.
a. Tell the master control program which tracker to use, and also the path to Indigo.exe
b. Press "Load Clients" and the master control program will connect to the tracker and get
a list of clients
c. Use the "Upload render data" button to select an indigo scene file to upload to the clients
Once you select a file, the master control program will go thru each client and
upload the scene file (renaming it to "remoterender.xml" on the remote machine) and
also upload any textures, etc as well, to the remote machine.
Please note that files uploaded to the remote machine will keep their same path as
they came from on the master control machine. This keeps relative paths, etc, functioning
in the indigo scene. Even if Indigo is installed on D:\ drive on the remote system,
if you upload a scene from C:\indigo\testscene.xml, that is where it will be put on
the remote machine (although it will get renamed to "remoterender.xml").
d. Once all uploads are complete, simply use the Start render button to start rendering.
REMEMBER to re-upload the scene anytime you make changes to it!
-niko
P.S. FOR THOSE WITH FIREWALLS INSTALLED: PLEASE NOTE THAT THE TRACKER RUNS ON PORT 8090, AND THE CLIENTS ARE ACCESSED THRU PORT 5200.
Hi all,
I was going to make a system tray icon and UI for the tracker and for the
render clients, but I don't have the time just yet, so I added the INI settings
and cleaned up a couple of things, and decided to upload this. I hope these
instructions are clear enough to understand how to use it.
In this archive you will find:
1. A folder "SourceCode_C#" containing the source code for all the programs.
this was written in C# using Visual Studio 2005.
2. A folder "MasterControl" containing the master controller program which
you run on the master rendering machine.
3. A folder "Tracker" which contains a EXE which acts as a "tracker" server
which the clients will connect to. This tracker keeps track of available
clients
4. A folder "RenderClient" which contains an EXE which acts as a remote client,
which the master controller connects to and gives commands to. The client
can also accept file uploads from the master (render files and textures, etc)
TO USE THIS PROGRAM:
1. Run the EXE tracker on any system you see fit. Note the computer name or its network
IP address. Please note also that using "localhost" will not work, you must use
the computer's real name.
2. Run the client EXE on all computers you want to act as render clients.
To use a client you must:
a. Edit the INI file to be sure the client knows where the tracker is. You can use
the IP address or the computer BIOS name.
b. Edit the INI file to tell it where Indigo.exe is on the remote client machine.
3. Now run the Master Control program on the machine you wish to be the master renderer. This
would usually be the machine that you are working on your 3d model, etc.
a. Tell the master control program which tracker to use, and also the path to Indigo.exe
b. Press "Load Clients" and the master control program will connect to the tracker and get
a list of clients
c. Use the "Upload render data" button to select an indigo scene file to upload to the clients
Once you select a file, the master control program will go thru each client and
upload the scene file (renaming it to "remoterender.xml" on the remote machine) and
also upload any textures, etc as well, to the remote machine.
Please note that files uploaded to the remote machine will keep their same path as
they came from on the master control machine. This keeps relative paths, etc, functioning
in the indigo scene. Even if Indigo is installed on D:\ drive on the remote system,
if you upload a scene from C:\indigo\testscene.xml, that is where it will be put on
the remote machine (although it will get renamed to "remoterender.xml").
d. Once all uploads are complete, simply use the Start render button to start rendering.
REMEMBER to re-upload the scene anytime you make changes to it!
-niko
P.S. FOR THOSE WITH FIREWALLS INSTALLED: PLEASE NOTE THAT THE TRACKER RUNS ON PORT 8090, AND THE CLIENTS ARE ACCESSED THRU PORT 5200.
- Attachments
-
- Indigo_Network_Renderer.zip
- (135.59 KiB) Downloaded 197 times
- PureSpider
- Posts: 1459
- Joined: Tue Apr 08, 2008 9:37 am
- Location: Karlsruhe, BW, Germany
- Contact:
-
- Posts: 52
- Joined: Fri Mar 09, 2007 4:44 am
Hi,
It should be possible, since this program is entirely C# .net, to use the mono project to compile it for Linux. But I have never done so before..more info at http://www.mono-project.com...
-niko
It should be possible, since this program is entirely C# .net, to use the mono project to compile it for Linux. But I have never done so before..more info at http://www.mono-project.com...
-niko
I think with the appropriate Mono libs installed, you can run the .NET compiled .exe programs directly in linux.
It looks like this will work, but I've got a problem installing the Mono 2.0 libs
It looks like this will work, but I've got a problem installing the Mono 2.0 libs
Code: Select all
doug@server1:~/dev/Indigo_Network_Renderer/SourceCode_C#/ServerTest1/bin/Debug$ ./ServerTest1.exe
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/usr/lib/mono/2.0/mscorlib.dll' directory.
doug@server1:~/dev/Indigo_Network_Renderer/SourceCode_C#/ServerTest1/bin/Debug$
Code: Select all
The following packages have unmet dependencies.
mono-2.0-devel: Depends: libmono-corlib2.0-cil (>= 1.2.6) but 1.2.2.1-1etch1 is to be installed
Depends: libmono-system2.0-cil (>= 1.2.6) but 1.2.2.1-1etch1 is to be installed
Depends: libmono2.0-cil (>= 1.2.6) but 1.2.2.1-1etch1 is to be installed
E: Broken packages
- PureSpider
- Posts: 1459
- Joined: Tue Apr 08, 2008 9:37 am
- Location: Karlsruhe, BW, Germany
- Contact:
hum trying to compile it gets me this:
Program.cs(199,32): error CS0117: `System.Net.Sockets.Socket' does not contain a definition for `LingerState'
€dit:
Run your precompiled exe, now this is what i get:
Program.cs(199,32): error CS0117: `System.Net.Sockets.Socket' does not contain a definition for `LingerState'
€dit:
Run your precompiled exe, now this is what i get:
Code: Select all
purespider:/home/spider/indigo# mono indigo_tracker.exe
** (indigo_tracker.exe:14263): WARNING **: The following assembly referenced from /home/spider/indigo/indigo_tracker.exe could not be loaded:
Assembly: System (assemblyref_index=1)
Version: 2.0.0.0
Public Key: b77a5c561934e089
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/home/spider/indigo/).
** (indigo_tracker.exe:14263): WARNING **: Could not load file or assembly 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
Stacktrace:
Native stacktrace:
mono [0x8183cf1]
mono [0x816682e]
/lib/tls/libpthread.so.0 [0x400cd660]
mono(mono_object_new+0x18) [0x80b0534]
mono(mono_exception_from_name_two_strings+0x44) [0x80e5995]
mono(mono_get_exception_file_not_found2+0x4f) [0x80e5aec]
mono [0x8103ad9]
mono [0x810e1e0]
mono(mono_class_vtable+0x181) [0x80ad419]
mono(mono_object_new+0x18) [0x80b0534]
mono(mono_exception_from_name_two_strings+0x44) [0x80e5995]
mono(mono_get_exception_file_not_found2+0x4f) [0x80e5aec]
mono [0x8103ad9]
mono [0x810e1e0]
mono(mono_class_vtable+0x181) [0x80ad419]
mono(mono_object_new+0x18) [0x80b0534]
mono(mono_exception_from_name_two_strings+0x44) [0x80e5995]
mono(mono_get_exception_type_load+0x62) [0x80e5c4a]
mono [0x810e1be]
mono(mono_class_vtable+0x181) [0x80ad419]
mono [0x81666c3]
mono(mono_runtime_invoke+0x27) [0x80ab5ff]
mono(mono_runtime_exec_main+0x142) [0x80aff59]
mono(mono_runtime_run_main+0x276) [0x80b01ff]
mono(mono_jit_exec+0xbd) [0x80588cd]
mono [0x80589aa]
mono(mono_main+0x165b) [0x805a194]
mono [0x8057ab6]
/lib/tls/libc.so.6(__libc_start_main+0xc8) [0x4010eea8]
mono [0x8057a11]
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Aborted
Last edited by PureSpider on Wed Apr 23, 2008 4:09 am, edited 1 time in total.
And vice versa, a .cs file i compiled in linux with mono worked in windows!
Code: Select all
D:\>hw.exe
Hello World
-
- Posts: 52
- Joined: Fri Mar 09, 2007 4:44 am
Sorry bout that guys I never worked with Mono before, I checked some of the platform independence tips and one thing they said was to be careful with file path characters, looks like I do use the bad character search (looking for "\" character), in linux it's ("/") instead, so they recommend using Path.GetFileName, etc instead.
Just don't have time currently to do too much more work on it my apologies, but maybe somebody with mono experience can easily modify the code at least.
-niko
Just don't have time currently to do too much more work on it my apologies, but maybe somebody with mono experience can easily modify the code at least.
-niko
-
- Posts: 52
- Joined: Fri Mar 09, 2007 4:44 am
- PureSpider
- Posts: 1459
- Joined: Tue Apr 08, 2008 9:37 am
- Location: Karlsruhe, BW, Germany
- Contact:
- PureSpider
- Posts: 1459
- Joined: Tue Apr 08, 2008 9:37 am
- Location: Karlsruhe, BW, Germany
- Contact:
Okay, apt-get install libmono-system-data2.0-cil solved at least this problem, now i get
Code: Select all
purespider:/home/spider/indigo# mono indigo_tracker.exe
** (indigo_tracker.exe:15863): WARNING **: Missing method System.Net.Sockets.Socket::set_LingerState(LingerOption) in assembly /usr/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll, referenced in assembly /home/spider/indigo/indigo_tracker.exe
Unhandled Exception: System.MissingMethodException: Method not found: 'System.Net.Sockets.Socket.set_LingerState'.
Who is online
Users browsing this forum: No registered users and 28 guests