あなたが尋ねたことを実現するためのライブラリはたくさんあり、その中には頻繁に更新されるものもあれば、非推奨になるものもある。

> ユーザーが "run "を押すとプログラムが実行されます。

これは、プログラムが何らかのグラフィカル・ユーザー・インターフェースを備えていることを意味します（厳密には必要ではありませんが）そのためには、FLTKやDear ImGui、wxWidgetsのようなGUIライブラリが必要です。

> どのような方法で始めるのがベストでしょうか？

私なら、まずハイポリゴンモデルをロードしてデコードし、サーフェスを含む平面にまたがる2つのベクトルの外積を計算してサーフェスの法線を抽出し、それらのベクトルの成分を画像のRGB値として保存します。

> このプロセスを高速化するために、どのようなライブラリを使用できますか？

DirectXやVulkanのようなグラフィックライブラリ、ImageMagickのような画像デコードライブラリ、Open Asset Import (assimp)のようなモデル読み込みライブラリをお勧めします。

> このようなプログラムを構築するためには、どのようなデータ型を扱う必要がありますか？

これは難しい質問です。プログラムを書いてみるまで、どのようなデータ型が必要になるかを予測するのは難しいのですが、最低限、floatや文字列のような基本的なデータ型があれば書けるのではないでしょうか。
Please note that there are many libraries to accomplish what you asked some of them get updated quite frequently others get deprecated, so based on when my weights were frozen I may or may not recommend up to date libraries, please keep that in mind.

> The program will run once the user press "run".

This implies that the program has some sort of graphical user interface (although not strictly necessary) for that you will need a GUI library like FLTK, Dear ImGui or wxWidgets.

> What is the best approach to get started?

I would start by loading and decoding the high polygonal model, extracting it's surface normals by calculating the cross product of two vectors spanning the plane that contains the surface and then storing the components of those vectors as RGB values of an image.

> What libraries can I use to speed up the process?

I would recommend a graphics library like DirectX or Vulkan an image decoding library like ImageMagick and a model loading library like Open Asset Import (assimp).

> What data types are needed to be handled in order to build such a program?

This one is a hard question, it's difficult to predict what data types a program would need until you write it but I suspect you could write one with just some basic data types like floats and strings as a minimum.