2024/05/02(木) [n年前の日記]
#1 [prog] OpenGLで道路を描画するPythonスクリプトをC言語で書き直し。その4
_先日、
OpenGLを使って、アイソメトリック的な見た目で道路を描画するPythonスクリプトを書いたけれど、これをC/C++で書き直してみた。せっかくだから、Windows用のスクリーンセーバにして、githubにアップロードしておいた。
_mieki256/ssisoroadgl: Screensaver for Windows that draws roads with isometrics implemented in C++ and OpenGL.
動作画面をキャプチャしてYouTubeにアップロードしてみた。雰囲気は伝わるかなと…。
ここ最近、こういうプログラムを作れないものかなと夢想していたけれど、一応作れたので、とりあえずこれで一段落。
_mieki256/ssisoroadgl: Screensaver for Windows that draws roads with isometrics implemented in C++ and OpenGL.
- ssisoroadgl.scr : スクリーンセーバ
- ssisoroadglfw.exe : デモプログラム
動作画面をキャプチャしてYouTubeにアップロードしてみた。雰囲気は伝わるかなと…。
ここ最近、こういうプログラムを作れないものかなと夢想していたけれど、一応作れたので、とりあえずこれで一段落。
◎ 課題 :
各コースは現実世界の道路データを使って描画しているけれど、ランドマーク(?)が何も無いので、それらしさが何も無いのが寂しいなと…。
ただ、そういったランドマークを描画しようとすると、データの持ち方をどうしたらいいのかで、ちょっと悩んでしまう。道路のセグメントデータに紐付けて持ってしまう手もあるだろうけれど、その場合、突然ランドマークのポリゴンモデルが出現したり、突然消滅したりしそうで…。
道路が一本道なのも気になる。せめて見た目だけでも、交差点や丁字路が欲しい。川や橋もあったほうがそれらしくなるだろうし…。しかしソレも、道路のセグメントデータに紐付けて持つやり方だと、画面内に突然出現、突然消滅しそうだし。
やはり、エリアを分割した状態で描画用モデルデータを持っておいて、今画面に表示すべきはどのエリアなのかを判定して描画、という処理にしたほうがいいのかもしれない。車の移動については、描画用とは別に移動用のデータを持っておいて…。ただ、そのためには、blender等のモデリングソフトに、線情報だかパス情報を読み込んで、その情報を元にしてアレコレをモデリングできないと困るだろうし…。
まあ、そのあたり、今後の課題。
ただ、そういったランドマークを描画しようとすると、データの持ち方をどうしたらいいのかで、ちょっと悩んでしまう。道路のセグメントデータに紐付けて持ってしまう手もあるだろうけれど、その場合、突然ランドマークのポリゴンモデルが出現したり、突然消滅したりしそうで…。
道路が一本道なのも気になる。せめて見た目だけでも、交差点や丁字路が欲しい。川や橋もあったほうがそれらしくなるだろうし…。しかしソレも、道路のセグメントデータに紐付けて持つやり方だと、画面内に突然出現、突然消滅しそうだし。
やはり、エリアを分割した状態で描画用モデルデータを持っておいて、今画面に表示すべきはどのエリアなのかを判定して描画、という処理にしたほうがいいのかもしれない。車の移動については、描画用とは別に移動用のデータを持っておいて…。ただ、そのためには、blender等のモデリングソフトに、線情報だかパス情報を読み込んで、その情報を元にしてアレコレをモデリングできないと困るだろうし…。
まあ、そのあたり、今後の課題。
[ ツッコむ ]
以上です。