
SDotPaint
作成日: 2025年6月23日
更新日: 2024年7月14日
使用技術
C++
CMake
背景
C++の学習と、自身のイラスト制作における課題解決という2つの目的から本ソフトウェアの開発を始めた。
機能
レイヤープレビュー機能
Altキーを押しながらレイヤータブにカーソルを合わせると、対象以外のレイヤーが透明になる。簡単な操作でレイヤーを一時的に分離表示できるようになると、どのレイヤーに何が描かれているかを、ユーザーが瞬時に判別できるようになる。
カラープレビュー機能
レイヤーの平均色がレイヤータブの背景色に適用される機能。多数のレイヤーに分ける制作方式では、レイヤーの要素が特定の色(またはその周辺色)に偏るという特性を生かし、その色をレイヤーウインドウで常に可視化することでレイヤー探索時間を短縮できる。
苦労
- 描画処理が重い問題に直面した。矩形領域のみの描画やダブルバッファリングを用いて解決した。その際に、パフォーマンスプロファイラを初めて使用した。
- 移動・回転・拡大縮小操作が重い問題に直面した。これらの操作中にK近傍法をもちいることで解決できた。
今後の課題
- まだ処理が重い時があるので、DirectXやOpenGLを用いてGPUを利用する方式をとることを検討している。
- 描画時に音を鳴らすときの描画体験が気になるので、実装を検討中
- せっかく綺麗にファイルを分けたのに、Geminiが仕事しすぎたせいで全容が理解できていない。