Author Topic: Corona does not load on Max startup  (Read 2942 times)

2021-04-20, 20:21:48

loocas

  • Active Users
  • **
  • Posts: 93
    • View Profile
I have a technical question about the new Corona not loading up in Max on startup. It doesn't throw errors during startup, but the renderer does not show in the available renderers in Max's render dialog.

Note: I recently upgraded from an ancient 1.7 version to the latest. I do still use 3ds Max 2014, but I also tried Max 2018 (the latest version I own), same result.

What I do is a custom deployment of Corona (or any plugin that is):

- include all the Corona DLLs in the system path on Max startup
- link my custom Corona .DLR and .DLT  plugins in the startup.ini which I call on startup
- load the Corona init script on startup

When Max starts, I see it loading the .DLR and .DLT plugins, it doesn't throw any errors, but I simply cannot pick Corona from the available renderers.

I haven't troubleshoot much further as I don't work in the VFX anymore and only sparingly use Max and Corona for simple viz work for my primary business (hence the old Max version and a very overdue upgrade to the latest Corona), I just hope there is a TD here that knows what's up and would point me into right direction.

Thanks a lot in advance!

2021-04-21, 10:24:42
Reply #1

Frood

  • Active Users
  • **
  • Posts: 1921
    • View Profile
    • Rakete GmbH
- link my custom Corona .DLR and .DLT  plugins in the startup.ini which I call on startup

"ini"? You mean a startup script? Anyway, you can even load the plugin(s) after having max running but use the appropriate DLLs here, not the Corona DLR/DLT (they are "stubs" now to allow using multiple Corona versions at the same time).

In your case you'd have to load CoronaMax_Release-2014.dll and CoronaMaxUtils_Release-2014.dll


Good Luck




Never underestimate the power of a well placed level one spell.

2021-04-21, 11:42:35
Reply #2

loocas

  • Active Users
  • **
  • Posts: 93
    • View Profile
Hey, Frood, thanks for your reply.

The DLLs are included in the PATH variable on startup.

The DLT and DLR plugins are being referenced in the plugin.ini files Max looks through after initialization.

As far as I can tell, the DLLs are loaded, the DLTs and DLRs, too, but I still cannot pick Corona from the available list.

2021-04-21, 13:46:12
Reply #3

Frood

  • Active Users
  • **
  • Posts: 1921
    • View Profile
    • Rakete GmbH
The DLLs are included in the PATH variable on startup.

I'm not entirely sure but I think you don't need to do this.

The DLT and DLR plugins are being referenced in the plugin.ini files Max looks through after initialization.

Ah ok, so not any "startup.ini" but just the standard "plugin.ini".

As far as I can tell, the DLLs are loaded, the DLTs and DLRs, too, but I still cannot pick Corona from the available list.

I don't think the (dll)-plugins were loaded. As for dlt/dlr: have you been looking at the plugin manager? I'm almost sure it shows the plugins as loaded but with an error. As mentioned, the dlt/dlrs aren't the actual plugins but a kind of loader. And depending on registry (<-guessed, no proof/never used myself) and environment settings they init the actual plugin. So if you do not have the files from the "Corona Renderer for 3ds max\<maxversion>" directory in the default install directory (seems to be the case) but somewhere else, you would have to explicitly point the loader(s) to that location by setting an environment variable called "CORONA_3DSMAX_2014_LOAD_PATH" with the location of the plugin/dll directory as value. Example:

SET CORONA_3DSMAX_2014_LOAD_PATH="C:\Manual_MaxPlugins\Corona_6-1\Max2014"

In that "Max2014" directory there would be the dlls from "Corona Renderer for 3ds max\2014".

But If you do not need any flexibility but a quick'n dirty manual "installation", then throw all files from "Corona Renderer for 3ds max\<maxversion>" into the plugins directory and rename CoronaMax_Release-2014.dll and CoronaMaxUtils_Release-2014.dll to ".dlt" and you are done.


Good Luck



« Last Edit: 2021-04-21, 14:13:26 by Frood »
Never underestimate the power of a well placed level one spell.

2021-04-21, 15:16:44
Reply #4

loocas

  • Active Users
  • **
  • Posts: 93
    • View Profile
This is what doesn't work.

I run Corona in custom deployment environment. As I described in my first post.

I put all the DLLs into a folder which I add to the PATH env. var (that's what I have to do), then reference the DLR and DLT during Max startup in the custom plugin.ini that I call.

This all worked fine in older versions of Corona (1.7), but since I migrated to the latest version and updated all the dlls and dlr, dlt with the newest version, it stopped working for me and I have a hard time troubleshooting it as Max doesn't throw any errors on startup, but Corona is not loaded anyways. And I don't know why.

2021-04-21, 17:17:49
Reply #5

Frood

  • Active Users
  • **
  • Posts: 1921
    • View Profile
    • Rakete GmbH
Hi loocas,

loading Corona has completely changed with v6. You don't have to add something to the path environment variable and the DLT/DLRs are just loaders/stubs/dummies. They expect the plugins/dlls to be found either in the default installation directory or at a location defined by an environment variable. And if you do not tell them from where to load CoronaMax_Release-2014.dll and CoronaMaxUtils_Release-2014.dll then nothing will happen. You will not be able to revert this by wistfully looking back on Corona 1.7.

So as a final summary, these are the options you can choose from if you want to deploy/load manually at all costs:

A) Set CORONA_3DSMAX_2014_LOAD_PATH properly with dlt/dlr in the plugins directory and then start max in this context.

or

B1) Rename CoronaMax_Release-2014.dll and CoronaMaxUtils_Release-2014.dll to CoronaMax_Release-2014.dlt and CoronaMaxUtils_Release-2014.dlt and put them into the Max plugins directory - alongside with all other DLLs for Max2014. Do not put dlt/dlrs in the plugins directory.

or

B2) Copy or rename nothing but load Core and Utils dll directly via maxscript from the DLLs directory

or

C) Use the same location for the DLLs as the installer would do, put dlt/dlr in the plugins directory.


as Max doesn't throw any errors on startup, but Corona is not loaded anyways. And I don't know why.

I already explained to you where you most probably will find the error you are looking for (plugin manager) and why it will not load - and how to make it load.


Good Luck



Edit: typo
« Last Edit: 2021-04-21, 19:46:46 by Frood »
Never underestimate the power of a well placed level one spell.

2021-04-21, 17:24:09
Reply #6

loocas

  • Active Users
  • **
  • Posts: 93
    • View Profile
Thank you for the pointers, will try and report back.

Cheers!

2021-04-21, 18:51:08
Reply #7

loocas

  • Active Users
  • **
  • Posts: 93
    • View Profile
This:

CORONA_3DSMAX_2014_LOAD_PATH

absolutely helped!

Thank you!

So, the DLLs don't get loaded by just adding them to the "PATH" env var. Which is strange, but ok, at least there is a special env var for the dlls.

2021-04-21, 19:43:18
Reply #8

Frood

  • Active Users
  • **
  • Posts: 1921
    • View Profile
    • Rakete GmbH
at least there is a special env var for the dlls.

It enables you to easily use different Corona versions side by side, for example to play with daily builds. See this helpdesk article and the 'carefree alternative'. Minimum Corona version which can be loaded this way is 5.x. And you have to use the plugin(loaders) from v6 and above in your plugin directory.


Good Luck



Never underestimate the power of a well placed level one spell.