Commit | Line | Data |
---|---|---|
4894bb48 FC |
1 | from itertools import product |
2 | from panda3d.core import NodePath | |
53ddf3c3 | 3 | from ya2.lib.p3d.gfx import set_srgb |
4894bb48 FC |
4 | |
5 | ||
6 | class Background: | |
7 | ||
8 | def __init__(self): | |
5964572b FC |
9 | self._root = NodePath('background_root') |
10 | self._root.reparent_to(render) | |
a5dc83f4 | 11 | ncols, nrows = 16, 8 |
4894bb48 FC |
12 | start_size, end_size = 5, 2.5 |
13 | offset = 5 | |
14 | for col, row in product(range(ncols), range(nrows)): | |
420ce99a | 15 | model = loader.load_model('assets/models/bam/background/background.bam') |
4894bb48 | 16 | model.set_scale(end_size / start_size) |
5964572b | 17 | model.reparent_to(self._root) |
4894bb48 FC |
18 | total_width, total_height = end_size * ncols, end_size * nrows |
19 | left, bottom = -total_width/2, -total_height/2 | |
1be87278 | 20 | model.set_pos(left + end_size * col, offset, bottom + end_size * row) |
5964572b FC |
21 | self._root.clear_model_nodes() |
22 | self._root.flatten_strong() | |
64eae9c7 | 23 | set_srgb(self._root) |
5964572b FC |
24 | |
25 | def destroy(self): | |
26 | self._root.remove_node() |