Skip to content
Discussion options

You must be logged in to vote

Hi @gerwang

There are some limitations to using wrap_ad inside of plugins. Please refer to Dr.Jit's documentation first, to roughly understand how it works.

DrJit is a just-in-time compiler and records the computation rather than executing it sequentially. Especially for virtual function calls there is an important recording mechanism. In your example, eval will be some target of a virtual function call in your integrator. In fact, there might be thousands of emitters in your scene and we need to record every possibility.

The recorded computation is only evaluated once it needs to be used by some function outside of Dr.Jit/Mitsuba as this function would not know what to do with DrJit's re…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@gerwang
Comment options

@njroussel
Comment options

Answer selected by gerwang
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants