Interface PhotonStore

    • Method Detail

      • numEmit

        int numEmit()
        Number of photons to emit from this surface.
        Returns:
        number of photons
      • prepare

        void prepare​(Options options,
                     BoundingBox sceneBounds)
        Initialize this object for the specified scene size.
        Parameters:
        sceneBounds - scene bounding box
      • store

        void store​(ShadingState state,
                   Vector3 dir,
                   Color power,
                   Color diffuse)
        Store the specified photon.
        Parameters:
        state - shading state
        dir - photon direction
        power - photon power
        diffuse - diffuse color at the hit point
      • init

        void init()
        Initialize the map after all photons have been stored. This can be used to balance a kd-tree based photon map for example.
      • allowDiffuseBounced

        boolean allowDiffuseBounced()
        Allow photons reflected diffusely?
        Returns:
        true if diffuse bounces should be traced
      • allowReflectionBounced

        boolean allowReflectionBounced()
        Allow specularly reflected photons?
        Returns:
        true if specular reflection bounces should be traced
      • allowRefractionBounced

        boolean allowRefractionBounced()
        Allow refracted photons?
        Returns:
        true if refracted bounces should be traced