タグ

2020年12月24日のブックマーク (4件)

  • レイマーチングで使われるSDFを解釈する~Part1~ - Qiita

    はじめに Part1(基礎編)(ここ) Part2(円柱編) Part3(角柱編) Part4(SDFの加工編) こんにちは、アドベントカレンダー9日目の避雷です。レイマーチングをするにあたって必要不可欠な関数に「距離関数」というものがあります。コピペや暗記してしまえば何も考えずに使えるこれらの関数ですが、ちゃんと考察してみると面白い気づきがあったりします。 今回はレイマーチングにおいて描画処理の根幹を担う距離関数について数学的な解釈をしたいと思います。 編 そもそもSDFとは SDFとはSignedDistanceFunction(符号付距離関数)の略で、一般に以下の形で定義される関数です。 f:R^n \rightarrow R (nは通常2,3) \\ f(r) < 0 (rが物体内面にあるとき) \\ f(r) > 0 (rが物体外面にあるとき) \\ |f(r)| = 物体表面

    レイマーチングで使われるSDFを解釈する~Part1~ - Qiita
    millfi
    millfi 2020/12/24
  • C++20

    Photo by Fatos Bytyqi on Unsplash僕がC++を最後に母国語にしていたのはまだそのバージョンが03つまりは98の修正版の頃で,0x(後に0Aまたは11と呼ばれるようになる)がどうなるのか横に見つつも,僕は Objective-C へと母国語を変えた.Mac OS X (現在の macOS)向けにGUIを使ったプログラムを書くためだ.現在では Objective-C は卒業し,同じ目的のためにはSwiftを使っている. だから来年にはリリースされるであろうC++20に準拠したコードを読んだ時には,古い知識が邪魔をして読むことに大変な困難を覚えた. 例えば 10 9 8 7 6 5 4 3 2 1を印字するために,優れたC++20プログラマなら次のようなコードを書く. for (auto i: std::iota(1, 10) | reverse) { std::

    C++20
    millfi
    millfi 2020/12/24
    “多くの言語の基礎となっており,かつ実用的な言語をひとつは学んでおくことが役に立つ.ほぼすべてのプログラミング言語がLispを目指しているので,LispまたはLispの一種であるSchemeは良い選択肢である.”
  • ヌルヌル動くって本当? モニターの“144Hzと60Hzの違い”は中学生に分かるのか?「Apex Legends」で比べてみた MSIのハイコスパゲーミングモニター「Optix G271」でテスト

    ヌルヌル動くって本当? モニターの“144Hzと60Hzの違い”は中学生に分かるのか?「Apex Legends」で比べてみた MSIのハイコスパゲーミングモニター「Optix G271」でテスト
    millfi
    millfi 2020/12/24
    CERO Dだから中学生がそれをやるのは問題というならブラウザも中学生は使えないってことかな。Chromeの年齢制限は17歳以上なので/うわこれ言った人捨て垢かよ。性根が腐ってるな。
  • とあるデベロッパーが、JavaScriptだけでどのようにしてAirDropを再現したか

    タップ・クリックするだけで他のデバイスと簡単にファイルを共有できるAirDropをJavaScriptだけで再現したその仕組みを紹介します。 同一WiFiで利用でき、iOSやmacOSだけでなく、AndroidWindowsでもあらゆるファイルを簡単に共有できます。 How One Developer Recreated AirDrop Using Just JavaScript by Abdisalan 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに 新しいテクノロジーの使用 これがないとWebRTCは使用できない どのようにデータを保護しているか? 使い慣れたUIUX デバイスがWebRTCをサポートしていない場合はどうなりますか? イベント駆動型のコードスタイル 自身でコードを調べる 終わりに はじめに iP

    とあるデベロッパーが、JavaScriptだけでどのようにしてAirDropを再現したか
    millfi
    millfi 2020/12/24