warp.Texture2D#

class warp.Texture2D(*args, **kwargs)[source]#

2D texture class.

This is a specialized version of Texture with dimensionality fixed to 2. Use this for explicit 2D texture creation and as a type hint in kernel parameters.

Example:

import warp as wp
import numpy as np

data = np.random.rand(256, 256, 4).astype(np.float32)
tex = wp.Texture2D(data, device="cuda:0")


@wp.kernel
def sample_kernel(tex: wp.Texture2D, output: wp.array(dtype=float)):
    tid = wp.tid()
    output[tid] = wp.texture_sample(tex, wp.vec2f(0.5, 0.5), dtype=float)
Parameters:
  • data (np.ndarray | array | None)

  • width (int)

  • height (int)

  • num_channels (int)

  • filter_mode (int)

  • address_mode (int | tuple[int, int] | None)

  • address_mode_u (int | None)

  • address_mode_v (int | None)

  • normalized_coords (bool)

__init__(
data=None,
width=0,
height=0,
num_channels=4,
dtype=np.float32,
filter_mode=1,
address_mode=None,
address_mode_u=None,
address_mode_v=None,
normalized_coords=True,
device=None,
)[source]#
Parameters:

Methods

__init__([data, width, height, ...])

Attributes

ADDRESS_BORDER

ADDRESS_CLAMP

ADDRESS_MIRROR

ADDRESS_WRAP

FILTER_LINEAR

FILTER_POINT

address_mode_u

Address mode for U axis.

address_mode_v

Address mode for V axis.

address_mode_w

Address mode for W axis (3D only).

depth

Texture depth in pixels (1 for 2D textures).

dims

Texture dimensionality (2 or 3).

dtype

Data type of the texture.

height

Texture height in pixels.

id

Texture handle ID (for advanced use).

normalized_coords

Whether texture uses normalized coordinates.

num_channels

Number of channels.

vars

width

Texture width in pixels.

vars: ClassVar[dict[str, Var]] = {'height': <warp._src.codegen.Var object>, 'width': <warp._src.codegen.Var object>}#