Open source 3D rendering solution adhering to the RenderMan standard

Running AQSIS in the background



I've been developing a 3ds max plugin for AQSIS and im at the stage where I can export everything, so Im linking in the render to render on demand. For this i'm using a C# dll to run the aqsis.exe with the file location to render, but it doesnt seem to like the fact the RIB folder search to find all the elements. works fine normaly, but doesnt when run with the dll.

is there a better way of doing this and is there a way of calling the render "sceterly" in the background withouth the dos box poping up??


Cheers for reading :)



c42f's picture

Hi Geoff, I just had a look

Hi Geoff,

I just had a look in our source, and it looks like aqsis detects the config path incorrectly when it's loaded as a DLL.  I think this should be pretty easy to fix, I'm guessing we just need to put the correct DLL module handle into GetModuleFileName() instead of NULL for the current executable (seems like here has some ways to do it...).

In the meantime here's a workaround:  Just copy the aqsis config file (called aqsisrc) into %HOME%\.aqsisrc or %HOME%\_aqsisrc. You need to set the environment variable HOME to some appropriate directory if it's not set already.



hiding the dos box

Ultimately what you want is the CREATE_NO_WINDOW flag to be present in the dwCreationFlags parameter of the CreateProcess win32 API call. You might have a hard time getting that if you're using a higher level API however :( Search the documentation of whatever you're using to run aqsis.exe for something similar.

c42f's picture

link to bug report

I submitted a bug report about this so that it doesn't get forgotten.  It's not hard to fix, but I don't have a working windows compile of aqsis to test with right at the moment.

ok, well in that case I'll

ok, well in that case I'll wait for a patch or an update to the renderer, just dont want to make it application specific.


thanks tho :)

c42f's picture

need clarification

Hi again, we're just gearing up for a new release and fixing a few bugs (hopefully including this one).

Unfortunately it seems I might have misunderstood your problem.  Just to clarify, you are executing the aqsis.exe *executable* via the C# dll, *not* linking directly to the underlying aqsis dll?  In that case, I'm not sure I understand what could be going wrong...