タグ

ブックマーク / qiita.com/Ushio@github (3)

  • OpenGLやDirectXなGUIにimguiが最強すぎる - Qiita

    imguiとは imguiは、OpenGLやDirectXなどの描画環境の中で動くGUIフレームワークです(vulkanも?)。 "Immediate Mode GUI"と呼ばれるパラダイムにより、大変短く直感的なコードでGUIを構築できます。 どういうGUIコンポーネントが使えるかは、リポジトリのスクショを見ていただいたほうが良いかと思います。 デバッグや調整、テスト用のGUIを構築することが目的のフレームワークです。 環境 今回この記事ではwindows10, vs2015, Cinder(0.9.0)上でサンプルを作成しました。 Cinder用には専用のimgui拡張があるため、そちらを使用します。 https://libcinder.org/ https://github.com/simongeilfus/Cinder-ImGui的な考え方や、imguiAPIは同じですが、

    OpenGLやDirectXなGUIにimguiが最強すぎる - Qiita
  • 3次元空間、複数三角形内に均一に、点をばらまく - Qiita

    目的 乱数を散らすとき、複数の三角形にまたがり均一に分布させたい時があります。 例えばパーティクルをメッシュの形状に合わせて発生させたり、 レイトレーシングにおける光源の直接サンプリングといったものが、今回想定する用途です。 乱数 何はともあれ、ソースになる連続した乱数が必要です。 ただ、当然ながら、一般に実数の表現もビットで構成されている以上、離散的な数値になってしまいますが。 あまり踏み込むと脱線しすぎるので、ここについては、コードを張るだけにします。 以下のような乱数モジュールを使います。 エンジンをテンプレートで挿げ替えることだけは想定しています。 まあ、状況によっては必要ないかもしれませんが。 struct Xor { Xor() { } Xor(uint32_t seed) { _y = std::max(seed, 1u); } uint32_t generate() { _

    3次元空間、複数三角形内に均一に、点をばらまく - Qiita
  • 軽量ハッシュアルゴリズム - Qiita

    今回はハッシュアルゴリズムについて少し触れてみたいと思います。 既存のハッシュアルゴリズムはどういうものがあるでしょうか? SHA-1, MD5等が浮かんだ方も多いと思います。 「じゃあそれでいいじゃん」 ・・・ちょっと待ってください。 SHA-1, MD5というものは、暗号化のためのハッシュアルゴリズムです。 もし用途が単純なファイル比較等であれば、ここまで大げさなハッシュは冗長で高負荷低速であると言えます。 適切なアルゴリズムは状況によって適切に選びたいところです。 そこで今回は単純なファイル比較等に使用できる、簡単&軽量なハッシュアルゴリズムの FNV-1 というアルゴリズムを紹介します。 詳細はこちらへどうぞ http://wowdev.jp/?p=873 ソースはこちらです。 #include <stdio.h> #include <stdint.h> /** * FNV Con

    軽量ハッシュアルゴリズム - Qiita
  • 1