TexturesΒΆ

In [1]:
from pythreejs import *
from IPython.display import display
from math import pi
In [2]:
# Reduce repo churn for examples with embedded state:
from pythreejs._example_helper import use_example_model_ids
use_example_model_ids()
In [3]:
checker_tex = ImageTexture(imageUri='img/checkerboard.png')
earth_tex = ImageTexture(imageUri='img/earth.jpg')
In [4]:
checker_tex
In [5]:
earth_tex
In [6]:
#
# Create checkerboard pattern
#

# tex dims need to be power of two.
arr_w = 256
arr_h = 256

import numpy as np

def gen_checkers(width, height, n_checkers_x, n_checkers_y):
    array = np.ones((width, height, 3), dtype='float32')

    # width in texels of each checker
    checker_w = width / n_checkers_x
    checker_h = height / n_checkers_y


    for y in range(arr_h):
        for x in range(arr_w):
            color_key = int(x / checker_w) + int(y / checker_h)
            if color_key % 2 == 0:
                array[x, y, :] = [ 0, 0, 0 ]
            else:
                array[x, y, :] = [ 1, 1, 1 ]
    return array


data_tex = DataTexture(
    data=gen_checkers(arr_w, arr_h, 4, 4),
    format="RGBFormat",
    type="FloatType",
)
In [7]:
data_tex
In [8]:
data_tex.data = gen_checkers(arr_w, arr_h, 12, 20)
In [ ]: