Skip to content
Discussion options

You must be logged in to vote

Hi @ciy405x

This is possible! Take a look at this discussions: mitsuba-renderer/drjit#150
In particular, you'll want to have a look at dr.switch (documentation).

Here's an example with DiscreteDistribution2D. It's a bit nonsensical, but this should give you an idea on how to actually use dr.switch.

import mitsuba as mi
import drjit as dr
import numpy as np

mi.set_variant('cuda_ad_rgb')

def build_distr(i: float):
    return mi.DiscreteDistribution2D(np.array(
        [[1, 2, 3],
         [i, 1, 3]])
    )

distributions = []
for i in range(10):
    distributions.append(build_distr(i))

def sampler_for_distr(i: int) :
    def sample_func(sample, active):
        return distributions[i].sa…

Replies: 1 comment 2 replies

Comment options

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

@njroussel
Comment options

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