Я сейчас разрабатываю свой собственный графический двигатель с OpenGL в C ++. Чтобы упростить создание моих сцен, я решил создать свои собственные файлы. Scene, которые содержат информацию об объектах на сцене. Сцена может содержать несколько типов объектов (сферы, сетки, камеры, свет и т. Д.), И эти объекты имеют разные атрибуты, которые могут варьироваться.
Код: Выделить всё
camera {
position 2.5 4.0 12.0
}
light {
type point
position 0.0 5.0 0.0
color 1.0 1.0 1.0
strength 1.0
}
mesh {
file resources/teapot.obj
position 0.0 0.0 0.0
rotation 0.0 0.0 0.0
scale 1.0 1.0 1.0
color 1.0 1.0 1.0
shader lighted
}
Я думал об использовании карт для различных атрибутов и типов, но в итоге я получаю много операторов if/else/switch в моем коде, и будет трудно добавить новые типы позже.>
Подробнее здесь:
https://stackoverflow.com/questions/796 ... -file-in-c