Compare commits
No commits in common. "12e35fd2a02284c18fb6ff96c8a49d8f53401d44" and "9b07ba183cbfc047ae14cca908bff66687c2b494" have entirely different histories.
12e35fd2a0
...
9b07ba183c
@ -1,15 +0,0 @@
|
|||||||
from PIL import Image
|
|
||||||
import sys
|
|
||||||
from twiddle import npot
|
|
||||||
|
|
||||||
total = 0
|
|
||||||
|
|
||||||
in_files = sys.argv[1:]
|
|
||||||
for in_file in in_files:
|
|
||||||
with Image.open(in_file) as im:
|
|
||||||
width, height = im.size
|
|
||||||
assert npot(width) == npot(width), width
|
|
||||||
assert npot(height) == npot(height), height
|
|
||||||
if width != height:
|
|
||||||
print(width, height, in_file)
|
|
||||||
total += width * height
|
|
@ -42,9 +42,9 @@ def unit_vector(vec):
|
|||||||
z = vec.z.to_float()
|
z = vec.z.to_float()
|
||||||
norm = math.sqrt(x ** 2 + y ** 2 + z ** 2)
|
norm = math.sqrt(x ** 2 + y ** 2 + z ** 2)
|
||||||
return type(vec)(
|
return type(vec)(
|
||||||
fixed_point.parse(f"{x / norm:f}"),
|
fixed_point.parse(str(x / norm)),
|
||||||
fixed_point.parse(f"{y / norm:f}"),
|
fixed_point.parse(str(y / norm)),
|
||||||
fixed_point.parse(f"{z / norm:f}")
|
fixed_point.parse(str(z / norm))
|
||||||
)
|
)
|
||||||
|
|
||||||
def xyz(vec):
|
def xyz(vec):
|
||||||
@ -70,7 +70,7 @@ def render_vertex(profile_item, vertex_tuple):
|
|||||||
|
|
||||||
def render_vertices(profile_item, prefix, name, vertices):
|
def render_vertices(profile_item, prefix, name, vertices):
|
||||||
yield f"// {profile_item.to_str()}"
|
yield f"// {profile_item.to_str()}"
|
||||||
yield f"const vertex_{name} {prefix}_{name}[] = {{"
|
yield f"vertex_{name} {prefix}_{name}[] = {{"
|
||||||
for i, vertex in enumerate(vertices):
|
for i, vertex in enumerate(vertices):
|
||||||
yield from render_vertex(profile_item, vertex)
|
yield from render_vertex(profile_item, vertex)
|
||||||
yield "};"
|
yield "};"
|
||||||
@ -94,7 +94,7 @@ def render_vertex_texture(profile, prefix, vertex_textures):
|
|||||||
map(uv, vertex_textures))
|
map(uv, vertex_textures))
|
||||||
|
|
||||||
def render_object(prefix, object_name, d, material):
|
def render_object(prefix, object_name, d, material):
|
||||||
yield f"const struct object {prefix}_{object_name} = {{"
|
yield f"struct object {prefix}_{object_name} = {{"
|
||||||
|
|
||||||
triangle_count = len(d[Triangle]) if Triangle in d else 0
|
triangle_count = len(d[Triangle]) if Triangle in d else 0
|
||||||
quadrilateral_count = len(d[Quadrilateral]) if Quadrilateral in d else 0
|
quadrilateral_count = len(d[Quadrilateral]) if Quadrilateral in d else 0
|
||||||
@ -115,18 +115,18 @@ def render_object(prefix, object_name, d, material):
|
|||||||
if material is None:
|
if material is None:
|
||||||
yield f".material = -1,",
|
yield f".material = -1,",
|
||||||
else:
|
else:
|
||||||
yield f".material = {prefix}_{material.name},"
|
yield f".material = {material.name},"
|
||||||
|
|
||||||
yield "};"
|
yield "};"
|
||||||
|
|
||||||
def render_object_list(prefix, object_names):
|
def render_object_list(prefix, object_names):
|
||||||
yield f"const struct object * {prefix}_object_list[] = {{"
|
yield f"struct object * {prefix}_object_list[] = {{"
|
||||||
for object_name in object_names:
|
for object_name in object_names:
|
||||||
yield f"&{prefix}_{object_name},"
|
yield f"&{prefix}_{object_name},"
|
||||||
yield "};"
|
yield "};"
|
||||||
|
|
||||||
def render_model(prefix, object_count):
|
def render_model(prefix, object_count):
|
||||||
yield f"const struct model {prefix}_model = {{"
|
yield f"struct model {prefix}_model = {{"
|
||||||
yield f".position = &{prefix}_position[0],"
|
yield f".position = &{prefix}_position[0],"
|
||||||
yield f".texture = &{prefix}_texture[0],"
|
yield f".texture = &{prefix}_texture[0],"
|
||||||
yield f".normal = &{prefix}_normal[0],"
|
yield f".normal = &{prefix}_normal[0],"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user