Объявление словарного смещения на основе glm.sizeof () - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь упростить логику, используемую для вычисления смещения моих свойств вершин.

Существует следующий дикт, который объявляет свойства вершин и pyglm типы:

__vertex_props__ = {
    'position': glm.vec3,
    'normal': glm.vec3,
    'tex_coord': glm.vec2
}

, и в результате я хочу создать dict, связывающий смещения c каждого из реквизитов:

{'position': 0, 'normal': 12, 'tex_coord': 12}

Мне удалось создать эту формулу, чтобы добиться этого:

OFFSETOF = dict([(next(iter(__vertex_props__.keys())), 0)] + [(prop[0], int(glm.sizeof(__vertex_props__[list(__vertex_props__)[i-1]]))) for i, prop in enumerate(__vertex_props__.items()) if i > 0])

И мне интересно, есть ли более простой способ добиться того же результата.

...