1

クラス プロジェクトのスキャンライン レンダリングに取り組んでいます。レンダラーはこれまでのところ動作しており、モデルを読み込み (主に utah ティーポットを使用)、頂点/サーフェス法線を計算し、フラット シェーディングとフォン シェーディングを行うことができます。現在、問題が発生しているテクスチャ マッピングの追加に取り組んでいます (実際に画面上にポイントを描画する以外に OpenGL メソッドを使用することはできません)。

そこで、テクスチャをアプリに読み込み、RGB 値の 2D 配列を取得しました。コンセプトは、テクスチャを 2D テクスチャ空間から単純な 3D オブジェクト (私の場合は円柱) にマップすることです。次に、中間サーフェスをオブジェクト サーフェスにマッピングします。

しかし、私は実際にそれらのことを行う方法を知りません:)。テクスチャを円柱にマッピングするための数式をいくつか見つけましたが、どの値を使用するかなどの詳細が常に省略されているようです。また、オブジェクトの頂点座標を取得し、そのポイントの円柱値を取得する方法もわかりません。シリンダーへのマッピングに関する StackOverflow の投稿が他にもいくつかありますが、1) シェーダーなどを使用した新しい OpenGL を扱っており、2) 中間サーフェスを扱っていないため、それらから知識を翻訳する方法がわかりません。

そのため、円柱を中間面として使用してテクスチャを 3D オブジェクトにマッピングするための疑似コードに関するヘルプをいただければ幸いです。

4

1 に答える 1