You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
昔はやたら長い時間のかかったレイトレーシングを 現在のPCでやったらどのくらいで計算できるのか、 気になったのでやってみました。 レイトレーシングという3D CG技術があります。目に飛び込んでくる光(ray)を逆にたどる(tracing)ことで、リアルな、とは言っても今ではいかにもコンピュータっぽい3D CGを描くというものです。 このレイトレーシングでは非常に計算、描画に時間がかかります。またその手法自体はとても古く、8bits時代から雑誌や書籍にプログラムが掲載されていました。当時のパソコン少年にとっては、そのプログラムを苦労して入力し下手をすると数日間パソコンを動かすことで手に入るCGは、ある種のステータスだったと言っても過言ではないでしょう。しかし描画にあまりに長い時間がかかるため、もちろんマルチタスクなど無い時代ですから、途中でこらえきれずに計算を打ち切ってしまう少年・少女も多か
Big Sky :: プログラミング言語の作り方 Big Sky :: プログラミング言語の作り方(2) Big Sky :: プログラミング言語の作り方(3) Big Sky :: プログラミング言語の作り方(5) 本日は関数スコープの実装と関数引数のバインディングを行います。 まず関数スコープを入れるという事は、メモリの破棄が必要になります。 しかし関数が呼び出された後、関数スコープ内のメモリを全て削除してしまうと戻り値に文字列を渡せなくなります。 func foo() { return "foo"; // この後スコープが削除される } a = foo(); // 壊れたメモリを参照 そこで GC を導入する必要があります。GC の実装には複数あます。詳しくは Wikipedia を参照下さい。 今回はその中の「参照カウント方式」を取ります。 まず ore_value に参照カウンタ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く