Skip to content

Bitmap and Checkerboard - max() Method Not Implemented #707

@Microno95

Description

@Microno95

Summary

I am using a 2d texture to represent a rotationally symmetric 3d volume (really useful in the case of certain types of volume emitters, refer to #678) but I'm finding that it is not possible to obtain the maximum of a bitmap or checkerboard texture.

System configuration

System information:

  OS: Windows-10
  CPU: AMD64 Family 25 Model 33 Stepping 0, AuthenticAMD
  GPU: NVIDIA GeForce RTX 3090
  Python: 3.9.13 | packaged by conda-forge | (main, May 27 2022, 16:51:29) [MSC v.1929 64 bit (AMD64)]
  NVidia driver: 531.68
  CUDA: 11.7.99
  LLVM: 15.-1.-1

  Dr.Jit: 0.4.2
  Mitsuba: 3.3.0
     Is custom build? False
     Compiled with: MSVC 19.34.31937.0
Variants:
        scalar_rgb
        scalar_mono
        scalar_mono_double
        scalar_mono_polarized
        scalar_mono_polarized_double
        scalar_rgb_double
        scalar_rgb_polarized
        scalar_rgb_polarized_double
        scalar_spectral
        scalar_spectral_double
        scalar_spectral_polarized
        scalar_spectral_polarized_double
        llvm_mono
        llvm_mono_double
        llvm_mono_polarized
        llvm_mono_polarized_double
        llvm_rgb
        llvm_rgb_double
        llvm_rgb_polarized
        llvm_rgb_polarized_double
        llvm_spectral
        llvm_spectral_double
        llvm_spectral_polarized
        llvm_spectral_polarized_double
        llvm_ad_mono
        llvm_ad_mono_double
        llvm_ad_mono_polarized
        llvm_ad_mono_polarized_double
        llvm_ad_rgb
        llvm_ad_rgb_double
        llvm_ad_rgb_polarized
        llvm_ad_rgb_polarized_double
        llvm_ad_spectral
        llvm_ad_spectral_double
        llvm_ad_spectral_polarized
        llvm_ad_spectral_polarized_double
        cuda_mono
        cuda_mono_double
        cuda_mono_polarized
        cuda_mono_polarized_double
        cuda_rgb
        cuda_rgb_double
        cuda_rgb_polarized
        cuda_rgb_polarized_double
        cuda_spectral
        cuda_spectral_double
        cuda_spectral_polarized
        cuda_spectral_polarized_double
        cuda_ad_mono
        cuda_ad_mono_double
        cuda_ad_mono_polarized
        cuda_ad_mono_polarized_double
        cuda_ad_rgb
        cuda_ad_rgb_double
        cuda_ad_rgb_polarized
        cuda_ad_rgb_polarized_double
        cuda_ad_spectral
        cuda_ad_spectral_double
        cuda_ad_spectral_polarized
        cuda_ad_spectral_polarized_double

Description

Bitmap and Checkerboard should have very simple implementations of the max method given that bitmap computes the mean (which can compute the max alongside it) and checkerboard has known components.

Happy to implement this and create a PR if there's no plans to do it. Will also see if it's straightforward to do for the mesh_attribute texture as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions