アプリのようす

SDotPaint

作成日: 2025年6月23日

更新日: 2024年7月14日

使用技術

C++
CMake

背景

C++の学習と、自身のイラスト制作における課題解決という2つの目的から本ソフトウェアの開発を始めた。

機能

レイヤープレビュー機能

Altキーを押しながらレイヤータブにカーソルを合わせると、対象以外のレイヤーが透明になる。簡単な操作でレイヤーを一時的に分離表示できるようになると、どのレイヤーに何が描かれているかを、ユーザーが瞬時に判別できるようになる。

カラープレビュー機能

レイヤーの平均色がレイヤータブの背景色に適用される機能。多数のレイヤーに分ける制作方式では、レイヤーの要素が特定の色(またはその周辺色)に偏るという特性を生かし、その色をレイヤーウインドウで常に可視化することでレイヤー探索時間を短縮できる。

苦労

  • 描画処理が重い問題に直面した。矩形領域のみの描画やダブルバッファリングを用いて解決した。その際に、パフォーマンスプロファイラを初めて使用した。
  • 移動・回転・拡大縮小操作が重い問題に直面した。これらの操作中にK近傍法をもちいることで解決できた。

今後の課題

  • まだ処理が重い時があるので、DirectXやOpenGLを用いてGPUを利用する方式をとることを検討している。
  • 描画時に音を鳴らすときの描画体験が気になるので、実装を検討中
  • せっかく綺麗にファイルを分けたのに、Geminiが仕事しすぎたせいで全容が理解できていない。