diffrp.rendering.interpolator#

Implementation of different varying variable interpolators.

This is an implementation detail and has no guarantee on API stability.

See interpolator_impl in diffrp.rendering.surface_deferred.SurfaceDeferredRenderSessionOptions for explanation on selecting interpolators.

class diffrp.rendering.interpolator.FullScreenInterpolator(vi_data: Tensor, tris: IntTensor)#

Bases: Interpolator

__init__(vi_data: Tensor, tris: IntTensor)#
interpolate(vertex_buffer: Tensor)#
class diffrp.rendering.interpolator.Interpolator#

Bases: object

abstract interpolate(vertex_buffer: Tensor) Tensor#
vi_data: Tensor#
class diffrp.rendering.interpolator.MaskedSparseInterpolator(vi_data: Tensor, tris: IntTensor, mask: BoolTensor)#

Bases: Interpolator

__init__(vi_data: Tensor, tris: IntTensor, mask: BoolTensor)#
interpolate(vertex_buffer: Tensor)#
diffrp.rendering.interpolator.float_to_triidx(x: Tensor)#
diffrp.rendering.interpolator.polyfill_interpolate(vertex_buffer: Tensor, vi_data: Tensor, tri_idx: IntTensor, empty_region: float | None = None)#
diffrp.rendering.interpolator.triidx_to_float(x: Tensor)#