agehama's diary

年一更新

Siv3D

RGBとRYB、色相環の話

色空間ごとの色相環(左:RGB(HSV)、中:RYB(文献1)、右:RYB(文献2)) 色彩理論では色相環上での反対位置(補色)や正三角形の位置にある色同士は相性がいいらしい。→配色の調和ただし、ここでいう色相環とはマンセル表色系など人間の知覚に基づいた色空間…

ピクセルシェーダで空を描く

Siv3Dが(2D限定で)ピクセルシェーダをサポートしたらしいので、GPU Gems 2に載っていた大気散乱シミュレーションのコードを移植してみました。頂点シェーダからそのままピクセルシェーダに移しただけなので少し遅いです。大気散乱シミュレーションについては…

平行

#include <Siv3D.hpp> const double eps = 1e-8; bool isZero(const Vec2& v) { return v.length() < eps; } bool operator||(const Vec2& v1, const Vec2& v2) { return !isZero(v1) && !isZero(v2) && (1.0 - eps) < Abs(v1.normalized().dot(v2.normalized())); } vo</siv3d.hpp>…

加算ブレンドでメタボールっぽい表現

円形の光の画像を用意して、加算ブレンドでたくさん描画した後、比較ブレンド?で閾値以下の明度の部分を単色で塗りつぶせばそれっぽくなりそうと思った。光の画像はここの濃度分布関数を参考にして作った。 http://www.syuhitu.org/other/meta/meta.html ソ…

音ゲー制作の準備

今度サークルで音ゲーを作るので、その練習でStepManiaを参考にしたゲームをSiv3Dを使って作ってみた。音ゲーは当たり判定処理が少し不安だったけど、案外簡単にできた。どちらかというとプログラミングよりも、曲数の確保とか、単純なゲームシステムの中で…