Не эксперт, но мало лидов
Вышесказанное можно назвать сложным и раздутым по сравнению с низкоуровневым API, таким как OpenGL , но вы должны определить, какую простоту вы ищете.
Например, «самый простой способ анимировать 3D-лодку и немного текстурированной воды» может означать, что вы пишете чистый низкоуровневый интерфейс непосредственно поверх API OpenGL; но, как и в случае с любой графикой, особенно с 3D, я думаю, что вскоре вы начнете думать об освещении, перемещении камеры, интерфейсе и т. д., и тогда вы, вероятно, захотите создать более богатую среду.
Итак, вопрос также в том, хотите ли вы что-то действительно тонкое, а затем обрабатывать все виды задач низкого уровня или что-то, что может включать в себя гораздо больше, чем вам когда-либо понадобится, но иметь много доступных ресурсов и ярлыков.
Теперь, когда мой разгул закончен - я уверен, что вы сможете найти точный пример анимации, которая будет брать два объекта сетки (море и корабль) в OpenGL и отображать их на экране в любом приличном учебнике OpenGL .