Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-04-24 11:32:08 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-04-24 11:32:08 +0300
commit45374b38808561603a7070359b3938998b1256f6 (patch)
tree5b7e944aad278b230e9a6cd4ca6d5ee1484e1851 /release/datafiles/blender_icons_geom.py
parent3581b997d4793e8fd9ad7be7722b01edb2d75287 (diff)
Icon Generate: write icon size into the header
Diffstat (limited to 'release/datafiles/blender_icons_geom.py')
-rw-r--r--release/datafiles/blender_icons_geom.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/release/datafiles/blender_icons_geom.py b/release/datafiles/blender_icons_geom.py
index 3e2e5732074..9787d18b4f6 100644
--- a/release/datafiles/blender_icons_geom.py
+++ b/release/datafiles/blender_icons_geom.py
@@ -125,21 +125,29 @@ def write_mesh_data_lists(me):
def write_mesh_to_py(fh, ob):
- def float_as_byte(f):
+ def float_as_byte(f, axis_range):
+ assert(axis_range <= 255)
# -1..1 -> 0..255
f = (f + 1.0) * 0.5
- f = int(round(f * 255))
- return min(max(f, 0), 255)
+ f = int(round(f * axis_range))
+ return min(max(f, 0), axis_range)
+
+ def vert_as_byte_pair(v):
+ return (
+ float_as_byte(v[0], coords_range_align[0]),
+ float_as_byte(v[1], coords_range_align[1]),
+ )
with TriMesh(ob) as me:
tris_coords, tris_colors = write_mesh_data_lists(me)
- # pixel size needs to be increased since a pixel needs one extra geom coordinate
coords_range = (
ob.get("size_x") or 255,
ob.get("size_y") or 255,
)
-
+ # Pixel size needs to be increased since a pixel needs one extra geom coordinate,
+ # if we're writing 32 pixel, align verts to 33.
+ coords_range_align = tuple(min(c + 1, 255) for c in coords_range)
print("Writing:", fh.name, coords_range)
@@ -154,7 +162,7 @@ def write_mesh_to_py(fh, ob):
for tri_coords in tris_coords:
for vert in tri_coords:
- fw(bytes([float_as_byte(c) for c in vert]))
+ fw(bytes(vert_as_byte_pair(vert)))
for tri_color in tris_colors:
for color in tri_color:
fw(bytes(color))