[Gabriel Gambetta] は、わずか 912 バイトの JavaScript で書かれたレイトレーサーである Tiny Raytracer の作者なので、レイトレーサーについていくつかの知識を持っています。昔からとしては 仲間 英国が設計した ZX Spectrum の被害者、この 2 つの恋愛は融合できるでしょうか? Tiny Raytracer は ZX Spectrum に適合しますか? BASICで?答えは 私たちの最愛の種には多くの制限があるにもかかわらず、肯定的です.
物語は【ガブリエル】から始まります。 Computer Graphics From Scratch (CGFS) レイトレーサー アルゴリズム 編集に VSCode を使用して、ZX Spectrum の非常に限定された BASIC 言語に移植された既存のコード ベース。 BAS2TAP テープ イメージ ファイル (基本的にはオーディオ トラック) を生成し、次のように実行します。 FUSE。ツールチェーンがソートされた後、[Gabriel] は球の光線交差方程式を処理するのに十分なコードを追加し、32 つの球のシーンを 22 × 15 ピクセルのカラー イメージにレンダリングします。実行時間はわずか 32 分です。苦しんでいる仲間なら、スペクトルには前景ピクセルと背景ピクセルの 22 つの色の値を持つ 8×8 のブロック属性配列 (またはカラー配列) があったことを覚えているでしょう。各属性ブロックには 256×176 ピクセルが含まれており、それぞれが前景 (オン) または背景 (オフ) になります。次の段階では、レイトレーシングを完全な XNUMX ピクセルに拡張するだけで、ブロックだけでなくピクセルも処理できるようにコードを拡張します。 ×XNUMX の解像度で、ブロックごとに最も一般的な XNUMX つの色を単純に決定し、ブロック全体でその色を使用して実行します。それは一種のスペクトル風の「属性衝突」のような形で機能します。
しかし、実行時間は 17 時間になりました。次に、かなりの数のスペクトル BASIC ハックを使用したパフォーマンスの微調整と、ブロックの各隅のピクセルに光線をキャストし、それらが同一の場合は残りの 60 ピクセルすべてを同じ色にして次に進むなどのいくつかのグラフィック近似を使用します。 。この取り組みにより、実行時間が XNUMX 時間に短縮されました。
次に、[Gabriel] は大胆にもフラット照明モデルを廃止し、単一の光源をモデル化し、モノクロ スペクトルの世界に唯一残っているトリック、つまり単純な関数を使用して各ブロックの強度値をディザリングするトリックを引き出します。 8×8の規則的ディザパターン、すべてを考慮すると、それほど悪くはないようです。完成までの途中でちょっと立ち寄って、 影を追加する 実行時間は 17 時間に戻りましたが、それだけの価値はあります。明らかに、これは単一のシーン タイプ、つまり球が主に使用されるシーン タイプに最適化されていますが、原則は存在しており、立方体はあと数行のコードで実現できます。参加者はいますか?
レイトレーシングは楽しいですが複雑なタスクの 1 つであり、人々は不適切なハードウェアに押し込むのが大好きです。 この TI-84Plus CE グラフ電卓のようなアクセスするのが少し難しい場合は、同様にクレイジーなものがここにあります 普通の古い Excel で実行する.
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://hackaday.com/2024/01/26/a-zx-spectrum-raytracer-in-basic/
- :は
- :どこ
- 1
- 視聴者の38%が
- 17
- 400
- 60
- a
- 私たちについて
- アクセス
- 追加
- 業務
- すべて
- an
- および
- 回答
- どれか
- です
- 配列
- AS
- オーディオ
- 著者
- 離れて
- バック
- 背景
- 悪い
- ベース
- 基本
- BE
- さ
- 愛する
- ビット
- ブロック
- ブロック
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 鋳造
- はっきりと
- コード
- コードベース
- コマンドと
- 完成
- 複雑な
- 見なさ
- 含まれています
- コーナー
- 可能性
- 取引
- 決定する
- 溝
- そうではありません
- 各
- 編集
- 努力
- 十分な
- 平等に
- 方程式
- 本質的に
- エーテル(ETH)
- 実行された
- 既存の
- 詳細
- 拡大
- ファッション
- 特徴
- 仲間
- 少数の
- File
- フィット
- フラットな
- から
- フル
- 楽しいです
- 生成する
- グラフィック
- ハック
- 持っていました
- ハンドル
- ハード
- Hardware
- HOURS
- HTML
- HTTPS
- 同一の
- if
- 画像
- in
- 交差点
- に
- IT
- JavaScriptを
- ただ
- 種類
- 知っている
- 光
- 照明
- 限定的
- ライン
- 見て
- 愛
- 多くの
- 最大幅
- 単なる
- 分
- モデル
- モノクロ
- 他には?
- 最も
- 移動する
- net
- 次の
- 今
- of
- オフ
- 古い
- on
- ONE
- の
- 最適化
- or
- 私たちの
- でる
- のワークプ
- パフォーマンス
- ピクセル
- シンプルスタイル
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 主に
- 主要な
- 原則
- 引っ張る
- クイック
- 非常に
- RAY
- レイトレーシング
- 電話代などの費用を削減
- 残り
- 覚えています
- レンダリング
- 解像度
- ラン
- 同じ
- シーン
- スクラッチ
- 簡単な拡張で
- 単に
- 一部
- 何か
- ソース
- スペクトラム
- 球
- Spot
- ステージ
- 開始
- Force Stop
- ストーリー
- そのような
- テイカー
- 取得
- テープ
- タスク
- それ
- ブロック
- その後
- そこ。
- ボーマン
- 物事
- この
- それらの
- 時間
- 〜へ
- あまりに
- トレーシング
- 追跡する
- 微調整
- 2
- type
- 価値観
- 非常に
- ました
- 仕方..
- WELL
- which
- 全体
- Wikipedia
- 意志
- 作品
- 世界
- 価値
- 書かれた
- ゼファーネット