LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Во-первых, формат obj умеет хранить текстурные координаты, а Blender умеет их генерировать и редактировать. Просто открой в Blender шар в редакторе UV и сгенерируй развертку. А потом экспортируй снова, а в свою программу добавь парсинг директивы vt из obj, а не только v, vn и f.

Во-вторых, если хочется гладкий шарик, то вруби интерполяцию нормалей между вершинами. Не помню, кажется, сделать varying параметр передаваемый из вершинного во фрагментный шейдер. Тогда шар будет казаться гладким с меньшей детализацией. В самом Blender есть параметр smooth shading, чтобы посмотреть как оно работает, но в своей проге придётся самому реализовать. Ну и лучше использовать icosphere, а не просто sphere, оно по вершинам эффективнее.

Исходная версия KivApple, :

Во-первых, формат obj умеет хранить текстурные координаты, а Blender умеет их генерировать и редактировать. Просто открой в Blender шар в редакторе UV и сгенерируй развертку. А потом экспортируй снова, а в свою программу добавь парсинг директивы vt из obj, а не только v, vn и f.

Во-вторых, если хочется гладкий шарик, то вруби интерполяцию нормалей между вершинами. Не помню, кажется, сделать varying параметр передаваемый из вершинного во фрагментный шейдер. Тогда шар будет казаться гладким с меньшей детализацией. Ну и лучше использовать icosphere, а не просто sphere, оно по вершинам эффективнее.