LUA - Track render target changes events

Forum for OctaneRender Lua scripting examples, discussion and support.
Post Reply
User avatar
enricocerica
Licensed Customer
Posts: 1012
Joined: Wed Nov 25, 2009 7:32 pm
Contact:

Hi,
I would like to execute some LUA code whenever I start rendering from a render target and when I change for instance the camera position in this render target.
I would like to track those events in my LUA script but cannot find any way to achieve that.
Any suggestion welcome
Modeling system : I7 32GB Windows 10 & Fujitsu Celsius H720
GPU : 1x Gigabyte GTX580 3GB + 1x MSI GTX780 3GB + 1x PALIT GTX780 6GB +1x Asus Stix GTX1070 8GB
http://www.myline.be
User avatar
jobigoud
OctaneRender Team
Posts: 247
Joined: Sat Aug 15, 2015 1:28 pm

For the camera changes you'll need to use `_evaluateAllChanges` so the upstream changes on the camera position/target fields trickle down to the script.
Here is a very minimalist snippet showing it. If you expand your RT camera and plug it into the script, every time you change viewpoint the node name will be updated.

Code: Select all

local scriptgraph = {}
scriptgraph._evaluateAllChanges = true

function scriptgraph.onInit(self, graph)
    local pinInfoCamera = { label = "Camera", type = octane.pinType.PT_CAMERA }
    graph:setInputLinkers({pinInfoCamera})
end

function scriptgraph.onEvaluate(self, graph)
    graph.name = "time:" .. tostring(octane.util.getCurrentMillis())
end

return scriptgraph
For the "start rendering" I think you'll need to go through a render job.
User avatar
enricocerica
Licensed Customer
Posts: 1012
Joined: Wed Nov 25, 2009 7:32 pm
Contact:

Thanks Jobigoud,
My script already get the camera info and it works fine but I have to run it each time I select a new render target which is not useful.
To be more clear on my wishes, each time I select a render target I would like an object to be automatically placed at the camera position without any action (I mean not running the script manually).
As I'm using a sphere around the camera in combination with a sphere surrounding the scene to created fog, the sphere around the camera should be placed at it's position when I start render.
Indeed the batch render job may help as the start render could be triggered but I usually render interactively and if I often miss the sphere placement and I should restart everything ...
It's not a big issue but would be cool to enhance my script with this feature ;)
Modeling system : I7 32GB Windows 10 & Fujitsu Celsius H720
GPU : 1x Gigabyte GTX580 3GB + 1x MSI GTX780 3GB + 1x PALIT GTX780 6GB +1x Asus Stix GTX1070 8GB
http://www.myline.be
Post Reply

Return to “Lua Scripting”